{"version":3,"sources":["assets/logos/ImageBanner.svg","assets/logos/Logo-IQVIA-white.svg","features/Layout/NavBar.jsx","features/authentication/authenticationSlice.js","features/login/loginSlice.js","translations/languageSlice.js","features/registerUser/registerUserSlice.js","features/manageUsers/manageUserSlice.js","features/publisher/publisherSlice.js","features/contentUpload/contentUploadSlice.js","features/viewer/viewerSlice.js","features/manager/managerSlice.js","features/interactive/interactiveSlice.js","features/editor/editorSlice.js","features/profile/profileSlice.js","features/publicPages/publicPageSlice.js","features/publicPages/interactive/publicInteractiveSlice.js","features/publicPages/viewer/publicViewerSlice.js","app/store.js","assets/logos/logo-footer.svg","features/Layout/Footer.jsx","features/Logout/Logout.jsx","assets/logos/logo-iqvia.svg","features/registerUser/RegisterUser.jsx","features/login/Login.jsx","features/Dashboard/Dashboard.jsx","features/publisher/Publisher.jsx","features/manageUsers/ManageUsers.jsx","features/manager/AdminFiles.js","features/manager/SharedComponent.jsx","features/manager/FileLibrary.jsx","features/manager/DRG.jsx","features/manager/GenerateGrouper.jsx","features/manager/GenerateInteractive.jsx","features/manager/GenerateViewer.jsx","features/manager/Manager.jsx","pages/PrivacyPolicy.jsx","pages/TermsOfUse.jsx","features/contentUpload/RichTextEditor.jsx","features/contentUpload/ContentUpload.jsx","features/viewer/VisualSelectionTree.jsx","assets/icons/PdfIcon.svg","assets/icons/ExcelIcon.svg","features/viewer/NodeModal.jsx","features/viewer/DiagramWrapper.jsx","features/viewer/DiagramBase.jsx","features/viewer/ViewerDiagram.jsx","features/viewer/DRGDiagramWrapper.jsx","features/viewer/DRGDiagramBase.jsx","features/viewer/DRGDiagram.jsx","features/viewer/DRG.jsx","features/viewer/SKSTreeView.jsx","features/viewer/SKSCodes.jsx","features/viewer/Viewer.jsx","assets/icons/EraseIcon.svg","assets/icons/ReportIcon.svg","features/interactive/InteractiveSelectionTree.jsx","features/interactive/DiagnosisTreeView.jsx","features/interactive/ProcedureTreeView.jsx","features/interactive/Spells.jsx","features/interactive/Episodes.jsx","features/interactive/PatientInformation.jsx","features/interactive/Results.jsx","features/interactive/Report.jsx","features/interactive/VisualDiagram.jsx","features/interactive/Interactive.jsx","features/editor/EditorSelectionTree.jsx","features/editor/editorEditValues.js","features/editor/CellEdit.jsx","features/editor/CellEditContains.jsx","features/editor/SharedComponent.jsx","features/editor/GroupCodes.jsx","features/editor/ClassificationCodes.jsx","features/editor/Editor.jsx","features/editor/ChangeLogs.jsx","features/idleTimeOut/IdleTimeOut.jsx","features/profile/Profile.jsx","features/publicPages/DRGTest.jsx","assets/logos/drg-logo.png","features/publicPages/DRGHearing.jsx","features/publicPages/DRGProd.jsx","features/publicPages/GrouperTest.jsx","features/publicPages/GrouperHearing.jsx","features/publicPages/GrouperProd.jsx","assets/icons/EraseIconPublic.svg","assets/icons/ReportIconPublic.svg","features/publicPages/interactive/InteractiveSelectionTree.jsx","features/publicPages/interactive/DiagnosisTreeView.jsx","features/publicPages/interactive/ProcedureTreeView.jsx","features/publicPages/interactive/Spells.jsx","features/publicPages/interactive/Episodes.jsx","features/publicPages/interactive/PatientInformation.jsx","features/publicPages/interactive/Results.jsx","features/publicPages/interactive/Report.jsx","features/publicPages/interactive/VisualDiagram.jsx","features/publicPages/interactive/InteractiveTest.jsx","features/publicPages/interactive/InteractiveHearing.jsx","features/publicPages/interactive/InteractiveProd.jsx","features/publicPages/viewer/VisualSelectionTree.jsx","features/publicPages/viewer/NodeModal.jsx","features/publicPages/viewer/DiagramWrapper.jsx","features/publicPages/viewer/DiagramBase.jsx","features/publicPages/viewer/ViewerDiagram.jsx","features/publicPages/viewer/DRGDiagramWrapper.jsx","features/publicPages/viewer/DRGDiagramBase.jsx","features/publicPages/viewer/DRGDiagram.jsx","features/publicPages/viewer/DRG.jsx","features/publicPages/viewer/SKSTreeView.jsx","features/publicPages/viewer/SKSCodes.jsx","features/publicPages/viewer/ViewerTest.jsx","features/publicPages/viewer/ViewerHearing.jsx","features/publicPages/viewer/ViewerProd.jsx","AppRouter.js","App.js","translations/i18n.js","themes/default.js","index.js"],"names":["useStyles","makeStyles","theme","appbarStyle","background","opacity","top","left","height","alignContent","flexWrap","justifyContent","toolbarStyle","paddingLeft","logoStyle","paddingRight","title","flexGrow","casemixLogo","alignSelf","fontStyle","fontSize","fontStretch","navItems","letterSpacing","color","textDecoration","fontFamily","adminMenuStyle","backgroundColor","menuItemStyle","customHeight","minHeight","iconStyle","padding","width","buttonStyle","textTransform","StyledAdminMenu","styled","props","_jsx","Menu","elevation","anchorOrigin","vertical","horizontal","transformOrigin","_ref","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","marginTop","spacing","minWidth","palette","text","secondary","marginRight","alpha","primary","main","action","selectedOpacity","StyledMenu","_ref2","NavBar","classes","user","isViewerRole","useSelector","state","authentication","history","useHistory","t","i18n","useTranslation","anchorEl","setAnchorEl","React","anchorElAdmin","setAnchorElAdmin","openBoolean","Boolean","openBooleanAdmin","handleEnd","children","Box","sx","display","_jsxs","AppBar","className","Toolbar","variant","backgroundImage","ImageBanner","backgroundPosition","backgroundRepeat","src","IQVIALogo","alt","Divider","orientation","flexItem","Typography","Link","to","roleName","Button","fontWeight","id","undefined","disableElevation","onClick","event","currentTarget","endIcon","ArrowDropDownIcon","MenuListProps","open","onClose","MenuItem","disableRipple","firstName","lastName","style","cursor","email","my","size","handleLogout","push","getUserDetails","createAsyncThunk","async","obj","dispatch","getState","reqOptions","method","fetch","then","r","console","log","status","json","redirectToLogin","isAuthorised","resetSession","onLogout","_ref3","logoutSuccess","shouldRedirect","authenticationSlice","createSlice","name","initialState","response","isLoading","logoutStatus","isSuperAdminRole","isAdminRole","isEditorRole","isAdminPrivileges","isFailed","isInactive","isUnauthorized","reducers","tokenReceived","payload","localStorage","setItem","token","removeItem","getItem","clearStatus","extraReducers","pending","fulfilled","_ref4","_payload$","_payload$2","_payload$3","_payload$4","_payload$5","_payload$6","_payload$7","_payload$8","_payload$9","_payload$10","_payload$11","roleId","userId","rejected","error","message","_ref5","actions","getCountries","onLogin","loginSlice","countries","isLoggedIn","loginStatus","redirectUrl","url","replace","languageSlice","language","languageChanged","getRoles","endUserSession","registration","headers","Headers","Pragma","Expires","set","append","body","JSON","stringify","EmailValidation","registerUserSlice","roles","regStatus","isRegSuccess","isRegFailed","isSessionValid","getUsers","saveChanges","UserActivation","manageUserSlice","users","rows","loading","userStatus","isSuccess","setRows","setLoading","_ref6","length","map","item","sort","reverse","_ref7","getDrgLogics","getAllGrouperData","getAllInteractiveData","getAllVisualData","validatePublishAction","apiUrl","publishDRG","setPublishSuccess","setActionFlag","setPublishFailure","publishOtherCollection","logicType","getDRGContent","_ref8","getGrouperContent","_ref9","getInteractiveContent","_ref10","getVisualContent","_ref11","masterDrgData","masterGrouperData","masterInteractiveData","masterVisualData","logicValue","yearValue","prevSelectedYearValue","prevSelectedFileName","showTariff","uniqueYears","fileNameValue","selectedFile","fileNames","publishValue","disablePublish","disableUnPublish","drgStatus","actionFlag","publishSuccess","publishFailed","actionAlert","destEnvironment","noUploadContent","noDRGContent","noGrouperContent","noInteractiveContent","noViewerContent","alreadyPublished","publisherSlice","setLogicValue","setShowTariff","setAlreadyPublished","handleYearValueChange","masterData","value","filterData","filter","a","year","isPublished","isPreProd","isTest","tempArray","i","grouperName","version","grouperVersion","interactiveName","interactiveVersion","visualName","visualVersion","handleFileNameUpdates","handleActionChange","toString","handleClose","setActionAlert","_ref12","closeUploadContent","resetPublisher","_ref13","Array","isArray","distinctYear","selectedYear","index","self","indexOf","currentYear","Date","getFullYear","upcomingYear","previousYear","includes","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","languageValue","_ref20","_ref21","_ref22","resetPublishSuccess","SaveContent","years","interactiveContent","visualContent","DRGContent","grouperContent","updatedInteractiveContent","updatedVisualContent","updatedDRGContent","updatedGrouperContent","uploadSuccess","uploadFailed","isReRender","contentUploadSlice","setYearsArray","max","option","y","setYear","setLanguage","setDestEnvironment","updateContent","tab","content","clearValues","resetContentUpload","getAllVisual","getVisualMenus","getZipFile","blob","getMetadata","getNodesJSON","specification","logicName","logicVersion","priceName","priceVersion","res","mdc","viewType","getDRGPriceJSON","metadataColl","viewer","metadataCollection","subCode","DRGPriceName","DRGPriceVersion","getMetadataForLogicName","DRGLogicName","DRGLogicVersion","selectedVisualYear","getDRGPopUpJSON","drgLogicID","egenskaberName","egenskaberVersion","mdcname","mdcversion","getMDCGroupCodeJSON","groupCode","sksName","sksVersion","getGroupCodeJSON","subList","encodeURIComponent","getshowTariff","visualID","getDRGTypeSpecifications","getDRGTypeSpecificationsSearch","search","getDRGDiagramData","regel","column","getAllParentSKS","parentId","getSKSSearch","getSKSTable","code","InteractiveName","InteractiveVersion","getSKSCodeDiagramData","drgGroup","visualCollection","yearsCollection","enableTabs","tabValue","selectedVisualObj","selectedVisualID","selectedVisualName","visualMenuCollection","selectedSpecification","blobToDownload","selectedFileType","fileNotExists","view","dataForGoJs","isNodeData","groupCodeValue","groupcodeArray","priceArray","sCode","dataForModalDialog","modalActive","isShowTariff","menuItems","drgTypeTree","drgSpecificationsTree","drgSearchTree","drgSelectedName","drgLoading","drgDataLoading","drgGroupCodeCollection","drgPriceInfoCollection","searchValue","regelValue","showDRGDiagram","showRegelDiagram","isDrgData","drgDataForGoJs","sksLoading","sksParentCollection","hasChildren","childrenCount","sksChildrenCollection","isDRGSearch","sksSelectedId","sksSelectedName","sksMapData","sksSearchTree","isSKSSearch","showSKSTable","isShowDRG","isHourGlass","isExpandedValue","page","rowsPerPage","viewerSlice","setSelectedVisual","setTabValue","setVisualDetails","setSelectedSpecification","setSelectedFileToDownload","errorMessageClose","setView","testCall","saveCodeValues","trim","setModalActive","setDRGSelected","setDRGLoading","_ref23","expandedValue","setDRGDiagramValues","_ref24","setChildrenNode","_ref25","setSKSSelected","_ref26","setResetValues","resetSKS","setPagination","_action$payload","_action$payload2","parseInt","resetViewer","_ref27","one","two","_ref28","displayName","groupName","j","_ref29","type","_ref30","_ref31","_ref32","grpCodes","parse","forEach","grp","g","Code","desc","Text","_ref33","egenskaberMaster","sksMaster","mdcspecificationMaster","startsWith","_ref34","split","strData","substr","groupCodeHeader","groupCodeInfo","priceInfo","visualid","_ref35","_ref36","_ref37","_ref38","typeTree","specificationTree","_ref39","_ref40","_ref41","_ref42","_ref43","_ref44","loadlogic","upload","remove","download","loadUsers","saveUsers","saveLogic","exportLogic","GetAllDRGLogics","GetUpdatedDRGLogic","loadtill","loaddg1","loaddrglogik","loaddrgtpt","loadCountingCode","loadegenskaber","loadsks","loadMDCSpecification","loadDrg","loadcasemixDRG","SaveSubList","DeleteDRGSubList","GetAllGrouperDetails","isGInteractive","manager","loadinternekoder","GetUpdatedGrouper","GGrouper","UpdateGrouper","DeleteGrouperSublist","GetAllInteractiveDetails","GetUpdatedInteractive","GInteractive","UpdateInteractive","DeleteInteractiveSublist","GetAllViewerDetails","GetUpdatedVisual","GViewer","UpdateViewer","DeleteVisualSublist","DeleteMDCSpecs","managerSlice","isInitialLoadAPI","isLoadAPIs","isClinicalCode","isCasemixFile","isSupportFile","isDRG","isDrgRender","isDRGLogic","isGetAllDRGLogicsLoaded","isGetAllDRGLogicsRender","DrgUsers","DrgUsersMaster","isdrgLogicUsers","isGGrouper","isGGrouperRender","isGGrouperLogic","isGInteractiveRender","isGInteractiveCheckGrouper","isGInteractiveLogic","isGViewer","isGViewerRender","isGInteractiveCheckInterkoder","isGViewerLogic","data","isNoData","selectedGrpCodeValue","distinctUploadYear","selectedUploadYear","filterdata","masterfilterdata","allDrgLogicList","selDrgLogicList","selFileType","selFileDetails","isTillMaster","isTill","isDg1Master","isDg1","isDrglogikMaster","isDrglogik","isDrgtptMaster","isDrgtpt","isCountingCodeMaster","isCountingCode","isEgenskaberMaster","isEgenskaber","isSksMaster","isSks","isDrgMaster","isDrg","isCasemixDRGMaster","isCasemixDRG","isGrouperMaster","isGrouper","isInternekoderMaster","isInternekoder","isError","isServerError","isRender","isUploadSuccess","isUploadFailed","isRemoveSuccess","isRemoveFailed","isUploadError","isRemoveError","isGenerateSuccess","isFileExist","isIvalidFile","isEmptyFile","isSaveUsersSuccess","isSaveUsersFailed","isSaveLogicSuccess","isSaveLogicFailed","isSaveSubListSuccess","isRemoveSubListSuccess","isRemoveSubListFailed","isGSaveLogicFailed","isGGrouperCheck","isGGrouperError","isDownloadError","isUploadxlsx","isEditLogicInfo","isUploadPDF","isExpanded","isDisabled","isDrgDataAdded","isDrgDataRemoved","isGGrouperDataAdded","isGGrouperDataRemoved","isGInteractiveDataAdded","isGInteractiveDataRemoved","isGViewerDataAdded","isGViewerDataRemoved","isDrgUsersUpdated","isGrouperLogicRender","isDrgLogicRender","isInteractiveLogicRender","isViewerLogicRender","isMDCSpecificationMaster","isMDCSpecification","viewerTariffFlag","grouperTariffFlag","clearMangerStatus","setIsRender","setIsGetAllDRGLogicsLoaded","setIsDrgDataUpdated","setIsDrgRender","setIsGGrouperDataUpdated","setIsGGrouperDataRemoved","setIsGInteractiveDataUpdated","setIsGInteractiveDataRemoved","setIsGViewerDataUpdated","setIsGViewerDataRemoved","setIsClinicalCode","setIsCasemixFile","setIsSupportFile","setIsDRG","setIsGGrouper","setIsGInteractive","setIsGViewer","setIsGGrouperCheck","setSelectedGrpCodeValue","setIsDrgDataRemoved","setIsDRGLogic","_id","DrgList","selDrgLogic","x","propertyList","Object","getOwnPropertyNames","newlist","endsWith","element","splitted","drgLogicUsers","setDrgAddLogic","setDrgUsers","setIsDRGLogicUsers","setMasterFilterData","setFilterData","setSelectedUploadYear","setSelectedYear","setEditLogicInfo","setSelFileType","setExpanded","setIsDisabled","setSelFileDetails","setIsTill","setIsDg1","setIsDrglogik","setIsDrgtpt","setIsCountingCode","setIsEgenskaber","setIsSks","setIsMDCSpecification","setIsDrg","setIsCasemixDRG","setIsGGrouperLogic","setDefaultIsGrouperLogic","result","last","from","setDefaultIsDrgLogic","setDefaultIsInteractiveLogic","setDefaultIsViewerLogic","setIsGGrouperLogicTariff","setGGrouperTariffFlag","setIsGGrouperRender","setIsGInteractiveLogic","setIsGInteractiveRender","setIsGInteractiveCheck","setIsGInteractiveLogicTariff","interactiveTariffFlag","setGInteractiveTariffFlag","setIsGrouper","setIsInternekoder","setIsGViewerLogic","setIsGViewerRender","setIsGViewerCheck","isGViewerCheck","setIsGViewerLogicTariff","setGViewerTariffFlag","UploadedDate","date","dateFormat","getMonth","getDate","UploadedDateFormat","Year","saveAs","_ref45","_ref46","nonAdminUsers","role","RoleName","hasOwnProperty","active","_ref47","_ref48","_ref49","Name","_ref50","u","_ref51","_ref52","_ref53","_ref54","_ref55","_ref56","_ref57","_ref58","_ref59","_ref60","_ref61","_ref62","_ref63","_ref64","_ref65","_ref66","hasSKS","isGenerated","_ref67","_state$isGGrouperLogi","_ref68","_ref69","_ref70","_ref71","_ref72","_ref73","_ref74","_ref75","_ref76","_ref77","_ref78","_ref79","_ref80","getInteractiveNames","login","getAllMasterData","getAllDiagnosis","interactive","selectedInteractiveObj","getAllProcedures","getDiagnosisSearch","getProcedureSearch","interactiveProcessResult","getVisualDatabyID","getVisualMetadata","getVisualNodesJSON","interactiveCollection","selectedInteractiveID","selectedInteractiveName","selectedInteractiveYear","isYearGreaterThan2021","patientInfoPanel","diseasesPanel","episodesPanel","spellsPanel","resultsPanel","patientInputs","gender","birthValue","disableBirth","enableBirthInfo","isMale","age","ageUnit","gestationAge","discharge","contactType","birthType","weight","hospitalisationMethod","disableContactReason","reasonForContact","contactDays","contactDaysStartDate","contactDaysEndDate","varighed","disableContactDays","dateError","diagnosisParentCollection","proceduresParentCollection","diagnosisChildCollection","diagnosisHasChildren","proceduresChildCollection","procedureHasChildren","isChooseDiagnosis","isChooseDiagAdditional","diagnosis","diagnosisData","diagnosisSet","isChooseProcedure","isChooseProcAdditional","procedure","procedureData","procedureSet","diagnosisSearchTree","diagnosisSearch","procedureSearchTree","procedureSearch","interactiveList","overWriteVarighedValue","autoIncrementProgressID","spellsList","contactDaysNoProgress","spellVarighed","updateSuccess","requestList","requestType","resultList","resultError","errorMessage","reportDialog","isVisualLoading","visualDialog","visualSearchValue","isResultLoading","noVisualIDError","diagnosisParentMaster","procedureParentMaster","loadDiagAndProc","interactiveSlice","setSelectedInteractive","setInteractiveDetails","setPanel","setChildrenStatus","setSelectionButton","setDiagnosisData","setDiagnosis","uniqueID","Id","selected","additionalCode","setDiagnosisAdditionalCode","updateSelectedDiagnosis","diagnosisMoveUp","tmp","diagnosisMoveDown","deleteDiagnosis","splice","deleteAdditionalDiagnosis","diagIndex","addDiagIndex","setProcedureData","setProcedure","setProcedureAdditionalCode","updateSelectedProcedure","procedureMoveUp","procedureMoveDown","deleteProcedure","deleteAdditionalProcedure","procIndex","addProcIndex","setSearchStatus","setGender","femaleGestationDefaultValue","femaleGestation","find","en","dk","maleGestationDefaultValue","maleGestation","setBirthValue","setValues","setDateToDefault","ontactDaysStartDate","dateErrorClose","clearPatientInformation","addToSpell","refId","clone","handler","val","Math","o","contDays","spellMoveLeft","spellMoveRight","deleteSpell","findIndex","isYeargreaterThan2021","clearSpellInformation","expandCollapseUpdate","expandCollapseValue","addEpisodeToSpell","editEpisode","ageTypeValue","contactTypeValue","genderValue","isBirth","birthTypeValue","hospWayValue","reasonForContactValue","dischargeValue","maleGestationAgeValue","femaleGestationAgeValue","deleteEpisode","clearEpisodesInformation","setInteractiveList","setRequestList","showPanels","setRequestType","setReportDialog","setVisualDialog","clearDiseaseInformation","clearResultInformation","clearAllInformation","setInteractiveLoading","handleErrorClose","noVisualError","setExpand","expand","clearOnContact","resetInteractive","currentYearObj","entries","key","order","b","releaseMethod","unit","reqId","resLength","Number","reqestid","RId","names","interactiveVer","GetDRGLogicList","GetDRGLogic","selectedEditorID","editor","CheckDrgLogicLockStatus","isAdmin","GetEditorName","GetLockedRows","GetLockedRow","lockBtnText","createdByUser","setIsEditorEditable","setSatusMessages","lockedBy","GetPublishAndPreProd","DrgLogicLock","LockDrgRules","DeleteLockedRows","GetGroupCodes","GetGroupCodesSubList","GEtSKSForLogic","SaveDrgRule","masterSelectedEditorData","setSelectedEditorData","CheckDrgLogicExists","SaveAsDrgRule","setReadOnly","getAllCodes","checkLockforClassificationCode","emailID","masterGroupCode","saveGroupCodes","sessionStorage","getCountingCodes","updateCountingCodes","getDRGLogicLogs","GetGroupCodesLog","editorCollection","selectedEditorObj","selectedEditorName","selectedEditorYear","selectedEditorVersion","selectedEditorData","selectedLockedRows","selectedEditorPerson","selectedEditorRule","masterGroupCodesList","groupCodesList","selectedGroupCode","masterGroupCodesSubList","groupCodesSubList","SKSList","openContainsLogic","selectedCellDetails","openCellEdit","selectedRows","DrgLogicComments","isDrgLogicExists","metaData","selectionModel","isDelete","isDuplicate","isPaste","isSelectedRow","isEditor","isViewer","isClassificationCodesEnabled","countingCodes","isSaveAs","isSaveAsId","isRowLocked","isRowUnlocked","isRowUnlockFailed","isPasted","isDuplicated","isDeleted","isSaveSuccess","isSaveFailed","isLogicLocked","isLogicUnlocked","isCountingCodeUpdated","isCountingCodeFileError","countingCodeUpdatedFailed","isRowLockedByStatus","isRowLockedBy","logsLoading","masterDRGLogicLogs","drgLogicLogs","masterGroupCodesLogs","groupCodesLogs","masterAllGroupCodes","grpCodesList","grpCodesListMaster","selectedGrpCode","canModify","grpCodesSubList","grpCodesSubListMaster","grpCodeLoading","groupCodeLogs","groupCodeExists","groupCodeEditWarning","currentEditGrpCode","subCodeExists","currentEditSubCode","groupCodesUpdated","groupCodesUpdateWarning","groupCodesWarningMessage","isEditorEditable","saveGroupCodeError","isInfoBulkActions","existingSubCodes","isUnSavedData","isSearchFilter","editorSlice","setExistingSubcodes","openCellEditContains","setSelectedEditor","setEditorDetails","setMasterSelectedEditorData","setSelectedEditorRule","setSelectedGroupCode","setGroupCodesFilter","setDiagonisFilter","setOpenCellEditContains","setOpenCellEdit","setOnCellDoubleClick","setDrgLogicComments","setMetaData","setSelectionModel","setGridActions","setIsPaste","setIsDuplicate","setIsDelete","lockBtn","_action$payload3","_action$payload4","_action$payload5","_action$payload6","_action$payload7","_action$payload8","_action$payload9","_action$payload10","_action$payload11","_action$payload12","_action$payload13","_action$payload14","_action$payload15","_action$payload16","_action$payload17","_action$payload18","_action$payload19","_action$payload20","_action$payload22","_action$payload24","_action$payload21","_action$payload23","setdrgLogicLogs","setgroupCodesLogs","addnewGroupCode","newGrpCode","setGroupCodeWarning","setSelectedGrpCode","setGrpCodeEditable","p","saveGroupCode","values","newCode","cancelEditGroupCode","setCurrentGroupCode","deleteGroupCode","index1","allCodeIndex","recExist","GroupCode","NewValue","toUpperCase","addnewSubCode","newDgCode","newDgCodeText","newSubList","Description","subGrpCodes","allGrpCodeIndex","setSubCodeEditable","saveSubCode","updatedCode","grpCodeIndex","cancelEditSubCode","setCurrentSubCode","deleteSubCode","setgroupCodesWarning","setGroupCodesList","setSubCodesList","clearBackToEditor","setUnSavedData","setSearchFilter","resetEditor","selectedYearObj","_payload$i","allGrpCodeSubList","_allGrpCodeSubList$i","logicComments","_payload$i$logicComme","_payload$i$logicComme2","_payload$i$logicComme3","_payload$i$logicComme4","_payload$i$logicComme5","ruleNo","fieldName","oldValue","newValue","comments","modifiedOn","modifiedBy","_payload$i$logicComme6","_payload$i$logicComme7","_payload$i$logicComme8","_payload$i$logicComme9","_payload$i$logicComme10","userComments","UpdateProfile","profileSlice","isSecureRerender","downloadLogic","downloadGrouper","GetDRGFrontPageContent","isEnvironment","publicPage","GetGrouperFrontPageContent","selectedGrouperYear","publicPageSlice","selectedDRGLogic","selectedDRGLogicID","prodData","prodYear","distinctGrouperYear","selectedGrouper","selectedGrouperID","selectedGrouperName","grouperPage","prodGrouperData","prodGrouperYear","drgFrontPageContent","grouperFrontPageContent","isValidData","isInvalidData","setSelectedDRGLogic","setPage","setGrouperPage","setSelectedGrouperYear","setSelectedGrouper","setMasterGrouperData","_state$masterGrouperD","_state$masterGrouperD2","setEnvironment","_state$filterdata$","_state$selectedDRGLog","_filterdata$","_state$masterGrouperD3","_state$masterGrouperD4","publicInteractive","GetInteractiveFrontPageContent","GetInteractiveById","publicInteractiveSlice","introInfoPanel","interactiveFrontPageContent","setDataSatus","interactiveObj","publicViewer","GetVisualDatabyId","GetAllProductionVisual","GetVisualFrontPageContent","viewerFrontPageContent","publicViewerSlice","viewerObj","store","configureStore","reducer","authenticationReducer","loginReducer","languageReducer","registerUser","registerUserReducer","manageUser","manageUserReducer","publisher","publisherReducer","contentUpload","contentUploadReducer","managerReducer","viewerReducer","interactiveReducer","editorReducer","profile","profileReducer","publicPageReducer","publicInteractiveReducer","publicViewerReducer","FooterLayout","languageId","setLanguageId","useState","useDispatch","useEffect","changeLanguage","Grid","container","xs","md","lg","xl","ftLogo","ButtonGroup","borderRight","window","Select","labelId","onChange","e","target","handleLanguageChange","country","Logout","RegisterUser","_errors$email","_errors$organization","_errors$firstName","_errors$lastName","_errors$role","_errors$phone","register","handleSubmit","getValues","formState","errors","useForm","mode","IsAdmin","setTimeout","OnCancel","Card","onSubmit","Email","Organization","organization","FirstName","LastName","PhoneNumber","phone","Purpose","purpose","Active","Role","userRegistration","gutterBottom","TextField","label","required","pattern","validate","helperText","inputProps","maxLength","select","multiline","Snackbar","autoHideDuration","Alert","severity","Login","showRegUser","setShowRegUser","languageVal","setLanguageVal","location","href","handleCloseSnackbar","sm","textAlign","bgcolor","Container","maxWidth","iqLogo","fullWidth","Dashboard","paddingTop","paddingBottom","Avatar","blue","FolderOpenIcon","purple","CreateIcon","pink","AssessmentIcon","green","VisibilityIcon","Publisher","_user$","openDialog","setOpenDialog","publishOrUnpublish","setPublishOrUnpublish","dialogContent","setDialogContent","finalData","setFinalData","finalUrl","setFinalUrl","showTariffWarning","setShowTariffWarning","openAlert","setOpenAlert","showAlreadyPublished","setShowAlreadyPublished","languageState","PublishOrUnpublish","validatePublish","preventDefault","eventValue","drgLogicData","publish","preProd","test","published","IsTest","DrgLogicName","DrgLogicVersion","IsPublished","IsPreProd","dialogMessage","dataToValidate","updateCollections","collectionName","showTarriffValue","urlGenerator","origin","handleCloseWarning","GetLogicType","handleAlertClose","contentPageLink","rel","FormControlLabel","control","Switch","checked","component","ContentCopyIcon","navigator","clipboard","writeText","actionText","disabled","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","handleDialogClose","handleOk","autoFocus","Backdrop","zIndex","drawer","CircularProgress","ManageUsers","setselect","setRowsPerPage","setSearchValue","handleRole","attribute","row","Paper","displayEmpty","placeholder","_user$firstName","_event$target$value","_user$email","_event$target$value2","_user$phoneNumber","_event$target$value3","toLowerCase","phoneNumber","InputProps","startAdornment","SearchIcon","TableContainer","Table","stickyHeader","TableHead","TableRow","TableCell","TableBody","slice","handleSwitch","TablePagination","rowsPerPageOptions","count","onPageChange","handleChangePage","newPage","onRowsPerPageChange","labelRowsPerPage","onSave","FileNames","FileNamesUpload","SupportFilesUpload","SharedComponent","PaperComponent","Draggable","handle","cancel","FileLibrary","_errors$name","_errors$version","_errors$year","reset","selectedFiles","setSelectedFiles","currentFile","setCurrentFile","fileName","setFileName","fileId","setFileId","setOpen","ropen","setRopen","removeFile","setRemoveFile","selectedGrpCodeVal","setSelectedGrpCodeVal","selectedSupportVal","setSelectedSupportVal","logicYear","formData","FormData","uploadLogic","onDownload","selectedID","downloadSelectedFile","uploadFile","CheckCircleIcon","DownloadIcon","DeleteIcon","IconButton","position","right","grey","CloseIcon","Dropzone","onDrop","files","multiple","getRootProps","getInputProps","UploadFileIcon","removeSelectedLogic","StyledTreeItemRoot","TreeItem","treeItemClasses","typography","fontWeightMedium","fontWeightRegular","hover","iconContainer","margin","group","marginLeft","StyledTreeItem","bgColor","labelIcon","LabelIcon","labelInfo","labelText","other","alignItems","pr","mr","DRG","_isDRGLogic$5","_isDRGLogic$6","_isDRGLogic$7","_isDRGLogic$8","_isDRGLogic$9","_isDRGLogic$10","_isDRGLogic$11","_isDRGLogic$11$users","_isDRGLogic$12","_isDRGLogic$13","_isDRGLogic$14","_isDRGLogic$15","_isDRGLogic$16","_isDRGLogic$17","_isDRGLogic$18","_isDRGLogic$19","_isDRGLogic$20","_isDRGLogic$21","_isDRGLogic$22","_isDRGLogic$23","_isDRGLogic$24","_isDRGLogic$25","_isDRGLogic$26","_isDRGLogic$27","_isDRGLogic$28","_isDRGLogic$29","_isDRGLogic$30","_isDRGLogic$31","_isDRGLogic$32","_isDRGLogic$33","_isDRGLogic$37","_user$2","_isDRGLogic$38","_isDRGLogic$39","_isDRGLogic$40","_isDRGLogic$41","_isDRGLogic$42","_isDRGLogic$43","_isDRGLogic$44","addLogic","setAddLogic","removeLogic","setRemoveLogic","addUser","setAddUser","setSelected","addSubset","setAddSubset","accessUsers","setAccessUsers","check","setCheck","adminFileNamesDRG","setAdminFileNamesDRG","deleteItem","setDeleteItem","_isDRGLogic$","_isDRGLogic$2","Editor_name","pdata","drgLogicName","drgMetaData","drgLogicLog","addDrgLogic","isChecked","onSelect","nodeID","fileType","onSubsetSelect","details","handleEditLogic","_isDRGLogic$3","dG1Master","drglogikMaster","drgtptMaster","tillMaster","countingcodeMaster","drgLogicVersion","editor_name","UsedGrouper","UsedInteractive","UsedViwer","Tooltip","arrow","_isDRGLogic$34","_isDRGLogic$35","_isDRGLogic$36","onOk","_user$lastName","Checkbox","checkedValue","disableGutters","userIndex","onAddAccess","TreeView","defaultCollapseIcon","defaultExpandIcon","ArrowRightIcon","expanded","nodeId","FolderIcon","onAddSubset","mdata","DRGLogic","MasterName","MasterMetaData","_isDRGLogic$4","align","GenerateGrouper","_isGGrouperLogic$22","_isGGrouperLogic$23","_isGGrouperLogic$24","_isGGrouperLogic$25","_isGGrouperLogic$26","_isGGrouperLogic$27","_isGGrouperLogic$28","_isGGrouperLogic$29","_isGGrouperLogic$30","_isGGrouperLogic$31","_isGGrouperLogic$32","_isGGrouperLogic$33","_isGGrouperLogic$34","_isGGrouperLogic$35","_isGGrouperLogic$36","_isGGrouperLogic$37","_isGGrouperLogic$38","_isGGrouperLogic$39","_isGGrouperLogic$40","_isGGrouperLogic$41","_isGGrouperLogic$42","_isGGrouperLogic$43","_isGGrouperLogic$44","_isGGrouperLogic$45","_isGGrouperLogic$46","_isGGrouperLogic$47","_isGGrouperLogic$48","_isGGrouperLogic$49","_isGGrouperLogic$50","_isGGrouperLogic$51","_isGGrouperLogic$52","_isGGrouperLogic$53","_isGGrouperLogic$","_isGGrouperLogic$2","setIsGrouperLogic","addGGrouperLogic","_isGGrouperLogic$8","_isGGrouperLogic$15","_isGGrouperLogic$16","_isGGrouperLogic$17","_isGGrouperLogic$18","grplogicName","grplogicVersion","grplogicYear","grplogicId","grpPriceName","grpPriceVersion","grpTariff","_isGGrouperLogic$9","_isGGrouperLogic$10","_isGGrouperLogic$11","_isGGrouperLogic$12","_isGGrouperLogic$13","_isGGrouperLogic$14","drgLogicYear","drgLogicId","drgPriceName","drgPriceVersion","onDelete","_isGGrouperLogic$3","_isGGrouperLogic$4","_isGGrouperLogic$5","_isGGrouperLogic$6","_isGGrouperLogic$7","usedInteractive","usedViwer","_isGGrouperLogic$19","_isGGrouperLogic$20","_isGGrouperLogic$21","GenerateInteractive","_isGInteractiveLogic$33","_isGInteractiveLogic$34","_isGInteractiveLogic$35","_isGInteractiveLogic$36","_isGInteractiveLogic$37","_isGInteractiveLogic$38","_isGInteractiveLogic$39","_isGInteractiveLogic$40","_isGInteractiveLogic$41","_isGInteractiveLogic$42","_isGInteractiveLogic$43","_isGInteractiveLogic$44","_isGInteractiveLogic$45","_isGInteractiveLogic$46","_isGInteractiveLogic$47","_isGInteractiveLogic$48","_isGInteractiveLogic$49","_isGInteractiveLogic$50","_isGInteractiveLogic$51","_isGInteractiveLogic$52","_isGInteractiveLogic$53","_isGInteractiveLogic$54","_isGInteractiveLogic$55","_isGInteractiveLogic$56","_isGInteractiveLogic$57","_isGInteractiveLogic$58","_isGInteractiveLogic$59","_isGInteractiveLogic$60","_isGInteractiveLogic$61","_isGInteractiveLogic$62","_isGInteractiveLogic$63","_isGInteractiveLogic$64","_isGInteractiveLogic$65","deleteFile","setDeleteFile","_isGInteractiveLogic$","_isGInteractiveLogic$2","addGInteractiveLogic","_isGInteractiveLogic$22","_isGInteractiveLogic$23","_isGInteractiveLogic$24","_isGInteractiveLogic$25","interactiveGrpName","interactiveGrpVersion","interactiveGrpYear","interactiveIKName","interactiveIKVersion","_isGInteractiveLogic$17","_isGInteractiveLogic$18","_isGInteractiveLogic$19","_isGInteractiveLogic$20","_isGInteractiveLogic$21","interneKoderName","interneKoderVersion","interactiveData","GrouperName","GrouperVersion","GrouperYear","InterneKoderName","InterneKoderVersion","ShowTariff","_isGInteractiveLogic$26","_isGInteractiveLogic$3","_isGInteractiveLogic$4","_isGInteractiveLogic$5","_isGInteractiveLogic$6","_isGInteractiveLogic$7","_isGInteractiveLogic$8","_isGInteractiveLogic$9","_isGInteractiveLogic$10","_isGInteractiveLogic$11","_isGInteractiveLogic$12","_isGInteractiveLogic$13","_isGInteractiveLogic$14","_isGInteractiveLogic$15","_isGInteractiveLogic$16","interactiveGuide","interactiveNews","_isGInteractiveLogic$30","_isGInteractiveLogic$31","_isGInteractiveLogic$32","_isGInteractiveLogic$27","_isGInteractiveLogic$28","_isGInteractiveLogic$29","onDeleteOk","onDeleteFile","GenerateViewer","_isGViewerLogic$25","_isGViewerLogic$26","_isGViewerLogic$27","_isGViewerLogic$28","_isGViewerLogic$29","_isGViewerLogic$30","_isGViewerLogic$31","_isGViewerLogic$32","_isGViewerLogic$33","_isGViewerLogic$34","_isGViewerLogic$35","_isGViewerLogic$36","_isGViewerLogic$37","_isGViewerLogic$38","_isGViewerLogic$39","_isGViewerLogic$40","_isGViewerLogic$41","_isGViewerLogic$41$vi","_isGViewerLogic$42","_isGViewerLogic$42$vi","_isGViewerLogic$43","_isGViewerLogic$43$vi","_isGViewerLogic$44","_isGViewerLogic$45","_isGViewerLogic$45$vi","_isGViewerLogic$46","_isGViewerLogic$46$vi","_isGViewerLogic$47","_isGViewerLogic$47$vi","_isGViewerLogic$48","_isGViewerLogic$48$vi","_isGViewerLogic$49","_isGViewerLogic$50","_isGViewerLogic$50$vi","_isGViewerLogic$51","_isGViewerLogic$51$in","_isGViewerLogic$52","_isGViewerLogic$52$in","_isGViewerLogic$53","_isGViewerLogic$53$in","_isGViewerLogic$54","_isGViewerLogic$55","_isGViewerLogic$55$in","_isGViewerLogic$56","_isGViewerLogic$57","_isGViewerLogic$","_isGViewerLogic$2","addGViewerLogic","_isGViewerLogic$14","_isGViewerLogic$15","_isGViewerLogic$16","_isGViewerLogic$17","visualGrpName","visualGrpVersion","visualGrpYear","_isGViewerLogic$11","_isGViewerLogic$12","_isGViewerLogic$13","visualData","VisualName","VisualVersion","_isGViewerLogic$18","_isGViewerLogic$3","_isGViewerLogic$4","_isGViewerLogic$5","_isGViewerLogic$6","_isGViewerLogic$7","_isGViewerLogic$8","_isGViewerLogic$9","_isGViewerLogic$10","visualGuide","visualNews","interneKoderPdfFile","_isGViewerLogic$22","_isGViewerLogic$23","_isGViewerLogic$24","_isGViewerLogic$19","_isGViewerLogic$20","_isGViewerLogic$21","accordionContent","flexDirection","Accordion","MuiAccordion","square","borderTop","AccordionSummary","MuiAccordionSummary","expandIcon","ArrowForwardIosSharpIcon","transform","AccordionDetails","MuiAccordionDetails","NavButton","borderRadius","Manager","handleChange","panel","newExpanded","PrivacyPolicy","TermsOfUse","RichTextEditor","editorState","setEditorState","uploadedImages","setUploadedImages","flag","setFlag","setUpEditor","convertToRaw","getCurrentContent","draftToHtml","serverMessage","contentBlock","htmlToDraft","contentState","ContentState","createFromBlockArray","contentBlocks","EditorState","createWithContent","createEmpty","lang","Editor","onEditorStateChange","wrapperStyle","border","editorStyle","toolbar","options","link","showOpenOptionOnHover","defaultTargetOption","image","urlEnabled","uploadEnabled","alignmentEnabled","uploadCallback","file","imageObject","localSrc","URL","createObjectURL","Promise","resolve","reject","previewImage","present","mandatory","ContentUpload","setValue","LanguageType","Action","LanguageValue","TabContext","borderBottom","borderColor","Tabs","Tab","TabPanel","VisualSelectionTree","defaultExpanded","defaultEndIcon","labelDate","createdDate","NodeModal","_dataForModalDialog$g","items","setItems","setDate","mdcDescription","setMdcDescription","today","dd","mm","yyyy","m","saveAsPDF","doc","jsPDF","tableColumn","tableRows","dataToPrint","setFontSize","autoTable","startY","save","PdfIcon","exportToExcel","workSheet","XLSX","utils","json_to_sheet","workBook","book_new","book_append_sheet","write","bookType","writeFile","ExcelIcon","handlePrint","popupWin","printContentBody","document","getElementById","innerHTML","close","PrintIcon","filteredItems","_item$code","_item$desc","_dataForModalDialog$p","linkGroupCode","mdcCode","substring","codeInfo","descCollection","formattedData","linkValue","List","infoText","ListItem","ListItemText","edge","Currency","quantity","currency","symbol","locale","_Fragment","drgDescClick","drg","showPriceInfo","divider","DiagramWrapper","constructor","super","searchNodesArray","popupText","this","setState","handleChangeRowsPerPage","toggleResultsPanel","modalIsOpen","setIsOpen","tableData","searchVal","updateInputValue","bind","showModalDialog","closeModal","diagramRef","componentDidMount","invokeSearch","subscribe","btn","click","initDiagram","$","go","make","OffsetLink","call","inherit","prototype","computeMidOrthoPosition","fromX","fromY","toX","toY","defineFigureGenerator","sh","w","h","geo","add","Line","spot2","licenseKey","diagram","layout","isInitial","isOngoing","model","linkKeyProperty","makeUniqueKeyFunction","k","findNodeDataForKey","makeUniqueLinkKeyFunction","findLinkDataForKey","nodeTemplate","visible","movable","deletable","locationSpot","Center","alignment","resizable","isShadowed","selectionAdornmentTemplate","fill","stroke","strokeWidth","strokeDashArray","defaultAlignment","ofObject","makeTwoWay","d","bounds","_obj$part","part","str","groupcode","yellowbox","groupCodeVal","textContent","showMessage","font","stretch","Horizontal","maxSize","NaN","overflow","OverflowEllipsis","maxLines","toolTip","leafnode","TopLeft","alignmentFocus","TopRight","minSize","shadowVisible","Left","linkTemplate","routing","Orthogonal","corner","toArrow","searchMyDiagram","elm","evt","increment","searchDiagram","inc","searchDiagramExtended","closeSearch","_this$diagramRef","_this$diagramRef$curr","current","getDiagram","n","startTransaction","clearHighlighteds","clearSelection","xpos","ypos","multipleSelectData","ndata","nodeDataArray","regex","RegExp","findNodesByExample","searchresult","floor","findNodeForKey","highlightCollection","commitTransaction","searchTable","_this$diagramRef$curr2","searchDiagramNext","searchDiagramPrevious","searchvalue","tablearray","groupCodeText","trvalue","DiagramRelation","description","rule","searchHighlighter","_this$diagramRef$curr3","render","endAdornment","CancelRoundedIcon","ArrowBackIosIcon","ArrowForwardIosIcon","ReactDiagram","ref","divClassName","linkDataArray","modelData","skipsDiagramUpdate","withTranslation","DiagramBase","nodearr","linkarr","nodeIgnoreText","canRelink","selectedData","dataLoaded","shapeData","linkData","nodeText","cursorType","firstSpaceIndex","firstWord","restWords","xloc","yloc","fig","rownumber","tooltip","loc","l","fromSpot","toSpot","ViewerDiagram","LinearProgress","DRGDiagramWrapper","DRGDiagramBase","FullDiagram","MuiGrid","body2","DoneIcon","selectedValue","setSelectedValue","handleTreeSelection","handleViewChange","handleSpecification","_x$children","_x$children2","_tempArray","_tempArray$value","_temp","_tempArray2","_tempArray2$value","_temp2","handleRegelClick","generateGroupCodeTable","Autocomplete","groupBy","getOptionLabel","renderInput","params","DRGDiagram","collapseIcon","useCallback","MyTreeItem","childNodes","setChildNodes","node","isSelectable","onNodeToggle","nodes","expandingNodes","_res$payload","isLeaf","SKSTreeView","Row","collapseOpen","setCollapseOpen","expandValue","setExpandValue","Fragment","rowExpand","sks","drGgroup","characteristic","propertyType","propertyName","drgName","colSpan","Collapse","in","timeout","unmountOnExit","SKSCodes","Viewer","displayDiagram","setDisplayDiagram","handleDownload","loadTabContent","InteractiveSelectionTree","DiagnosisTreeView","ProcedureTreeView","Spells","scrl","useRef","scrollX","setscrollX","scrolEnd","setscrolEnd","slide","shift","scrollLeft","scrollWidth","offsetWidth","anim","gsap","scale","anim2","handleSpellMoveRight","generateListItems","col","retObj","contactTypeText","Significance","reasonForContactText","KeyboardArrowLeftIcon","onMouseEnter","onMouseLeave","KeyboardArrowRightIcon","onScroll","scrollCheck","_a$val$0$diagnosis$","genderText","ageTypeText","ele","request","rid","reqData","gestationText","liggeDage","addlCodes","Type","AdditionalCodes","Age","AgeTypeText","AgeTypeValue","Gender","GestationAge","AdmissionType","hospWayText","ContactReason","DischargeType","dischargeText","ContactType","BedinDays","SurvivalDays","LiggidageBedInDays","Varighed","varighedDescription","isYearGreaterthan2021","IsBirth","Height","Weight","BirthType","BirthTypeText","birthTypeText","Diagnosis","Procedure","createRequestList","viewModel","overWriteBedDays","overWriteVarighed","Version","OverWriteBedDays","OverWriteVarighed","postInteractiveRequest","Episodes","currentIndex","setCurrentIndex","handleClick","handleExpand","handleAddEpisodeToSpell","handleEditEpisode","_a$0$diagnosis$","_a$0$diagnosis","_a$0$procedure","ml","MoreVertIcon","PaperProps","mt","ListItemIcon","AddCircleIcon","EditIcon","borderTopWidth","PatientInformation","genderDescription","gestationAgeDescription","dischargeTypeDescription","contactTypeDescription","admissionTypeDescription","contactReasonDescription","durationBedDays","birthHeight","birthWeight","CustomTooltip","popper","tooltipClasses","pxToRem","Results","_row$val","_a$results$standardRa","_a$results$langligger","_a$results$standardRa2","_a$results$langligger2","_row$val2","isCourse","results","drgDescription","aDiagDescription","standardRate","langliggertakst","_a$results$standardRa3","_a$diags","_a$procs","rId","diags","procs","placement","Report","printOverview","setPrintOverview","componentRef","triggerPrint","useReactToPrint","documentTitle","bodyClass","VisualDiagram","DRGLogicYear","Interactive","diagnosisSearchValue","setDiagnosisSearchValue","procedureSearchValue","setProcedureSearchValue","incrementDiagnosis","setIncrementDiagnosis","incrementAdditionalDiagnosis","setIncrementAdditionalDiagnosis","incrementProcedure","setIncrementProcedure","incrementAdditionalProcedure","setIncrementAdditionalProcedure","incrementInteractiveList","setIncrementInteractiveList","panelName","setPanelName","showSpells","setShowSpells","enabled","setEnabled","initialStep","setInitialStep","hintEnabled","setHintEnabled","stepCounter","setStepCounter","steps","intro","stepOptions","showBullets","showButtons","exitOnOverlayClick","keyboardNavigation","nextLabel","prevLabel","skipLabel","doneLabel","infoTip","tooltipClass","handleHintClick","handlePanelChange","handleClear","calculateDate","date1","date2","duration","round","abs","getTime","String","handleDiagnosisSelect","handleDiagnosisMoveUp","handleDiagnosisMoveDown","handleProcedureSelect","handleProcedureMoveUp","handleProcedureMoveDown","getPatientInputs","_patientInputs$0$gend","_patientInputs$0$unit","intData","registrations","progress","Steps","onExit","handleInfoClose","InfoIcon","HelpOutlineIcon","EraseIcon","InputAdornment","LocalizationProvider","dateAdapter","AdapterDateFns","DatePicker","closeDiagnosisSearch","underline","ArrowDownwardIcon","ArrowUpwardIcon","diagID","codeID","handleDeleteAdditionalDiagnosis","closeProcedureSearch","procID","handleDeleteAdditionalProcedure","ReportIcon","editorEditValues","ICD","INDM","OR","COMPL","DISCDISP","SEX","INDLAEG","PATTYPE","KONTAARS","CellEdit","_errors$columnValue","_errors$columnValue2","_errors$comment_msg","setMasterData","apiRef","ruleId","field","columnValue","handleValidate","fieldValue","exec","cellName","cellValue","comment","comment_msg","commentArray","startCellEditMode","setEditCellValue","debounceMs","stopCellEditMode","commentData","RuleNo","FieldName","Comments","getRowModels","updatedRows","updatedArray","defaultValue","CellEditContains","_errors$sel_groupCode","_errors$sel_groupCode2","setRemove","searchMsg","setSearchMsg","sel_groupCode","handleGroupCodeChange","FormControl","RadioGroup","Radio","Controller","rules","FormHelperText","rowRenderer","sksData","rowCount","rowHeight","GroupCodes","_errors1$addGroupCode","_errors1$comment_msg","_errors3$comment_msg","_errors4$comment_msg","_errors6$comment_msg","SKSFilteredListSource","setSKSFilteredListSource","SKSFilteredList","setSKSFilteredList","selectedSKSCodes","setSelectedSKSCodes","disabledGroupCode","setDisabledGroupCodes","groupCodesArray","masterCodeValue","setMasterCodeValue","groupCodeSearchValue","setGroupCodeSearchValue","subCodeSearchValue","setSubCodeSearchValue","saveConfirm","setSaveConfirm","classCodeListWidth","setClassCodeListwidth","icon","CheckBoxOutlineBlankIcon","checkedIcon","CheckBoxIcon","register1","handleAddNewGC","reset1","errors1","register2","handleEditGC","reset2","errors2","deleteConfirm","setDeleteConfirm","register3","handleDeleteGC","reset3","errors3","register4","handleAddSubCode","reset4","errors4","register5","editSubCode","reset5","errors5","register6","deleteSubCodeEvent","reset6","errors6","addNewCode","setAddNewCode","addNewSubCode","setAddNewSubCode","deleteSubCodeConfirm","setDeleteSubCodeConfirm","useLayoutEffect","handleAddGroupCode","handleEditGroupCode","columns","drgRules","prop","pdgprop","procpro","onEditGroupCode","updatedGroupCode","DRGLogicID","OldValue","UserComments","handleEditSubCode","onEditSubCode","updatedSubCode","AddIcon","_item$name","overflowY","_errors2$updatedGroup","secondaryAction","ListItemButton","handleItemSelect","handleGrpCodeCancel","_item$name2","_item$Description","closeSearchSubCode","_errors5$updatedGroup","handleSubCodeCancel","groupCodesLogList","ModifiedBy","ModifiedOn","Comment","LogicComments","postData","codes","logs","notExistGroupCode","editorMastercode","addGroupCode","addedSubCodes","newSubCode","noOptionsText","limitTags","disableCloseOnSelect","renderOption","charAt","keyLength","SearchSKSCodes","ClassificationCodes","updatedCountingCode","setUpdatedCountingCode","handleTabChange","CodeMirror","oneDark","keyMap","lineNumbers","lineWrapping","extraKeys","handleCountingCodeChange","viewUpdate","countingCodeLogList","logicID","versionNo","cntCodes","_selectedEditorRule$r","_selectedEditorRule$r2","_selectedEditorRule$r3","_selectedEditorRule$r4","_selectedEditorRule$r5","_selectedEditorRule$r6","_selectedEditorRule$r7","_selectedEditorRule$r8","_selectedEditorRule$r9","_selectedEditorRule$r10","_selectedEditorRule$r11","_selectedEditorRule$r12","_selectedEditorRule$r13","_selectedEditorRule$r14","_selectedEditorRule$r15","_selectedEditorRule$r16","_selectedEditorRule$r17","_selectedEditorRule$r18","_selectedEditorRule$r19","_selectedEditorRule$r20","_selectedEditorRule$r21","_selectedEditorRule$r22","_selectedEditorRule$r23","_selectedEditorRule$r24","_selectedEditorRule$r25","_selectedEditorRule$r26","_selectedEditorRule$r27","_selectedEditorRule$r28","_selectedEditorRule$r29","_selectedEditorRule$r30","_selectedEditorRule$r31","_selectedEditorRule$r32","_selectedEditorRule$r33","_selectedEditorRule$r34","_selectedEditorRule$r35","_selectedEditorRule$r36","_selectedEditorRule$r37","pageSize","setPageSize","useGridApiRef","openView","setOpenView","openEmptyLogic","setOpenEmptyLogic","cellDetails","setCellDetails","saveAsLogic","setSaveAsLogic","handleSubmit1","openBulkActions","openWarning","setOpenWarning","pRow","setPRow","unSavedWarning","setUnSavedWarning","lastLocation","setLastLocation","confirmedNavigation","updateConfirmedNavigation","openLogicCall","setOpenLogicCall","handleRefreshCall","setHandleRefreshCall","isEditable","refreshTrigger","restoreState","pagination","headerName","editable","renderCell","some","LockIcon","logic","renderHeader","SettingsIcon","getActions","isInLockMode","GridActionsCellItem","LockOpenIcon","UnlockRow","showInMenu","PreviewIcon","ViewRow","CopyRow","ContentPasteIcon","PasteRow","FileCopyIcon","DuplicateRow","LockRow","DeleteRow","handleLockUnlockLogic","EmailID","CreatedOn","EditorRowLock","CreatedByUser","CreatedDate","pathname","Prompt","when","handleSaveLogic","ID","handleSaveAsLogic","filteredRows","_row$drg","_row$drg$toLowerCase","_row$regel","_row$regel$toLowerCas","_row$rtc","_row$rtc$toLowerCase","_row$icd","_row$icd$toLowerCase","_event$target$value4","_row$indm","_row$indm$toLowerCase","_event$target$value5","_row$dgcat","_row$dgcat$toLowerCas","_event$target$value6","_row$mdc","_row$mdc$toLowerCase","_event$target$value7","_row$pdgprop","_row$pdgprop$toLowerC","_event$target$value8","_row$or","_row$or$toLowerCase","_event$target$value9","_row$procprO","_row$procprO$toLowerC","_event$target$value10","_row$secproC","_row$secproC$toLowerC","_event$target$value11","_row$secproC2","_row$secproC2$toLower","_event$target$value12","_row$dgproP","_row$dgproP$toLowerCa","_event$target$value13","_row$dgproP2","_row$dgproP2$toLowerC","_event$target$value14","_row$dgproP3","_row$dgproP3$toLowerC","_event$target$value15","_row$dgproP4","_row$dgproP4$toLowerC","_event$target$value16","_row$agelim","_row$agelim$toLowerCa","_event$target$value17","_row$compl","_row$compl$toLowerCas","_event$target$value18","_row$dgalt","_row$dgalt$toLowerCas","_event$target$value19","_row$discdisp","_row$discdisp$toLower","_event$target$value20","_row$sex","_row$sex$toLowerCase","_event$target$value21","_row$till","_row$till$toLowerCase","_event$target$value22","_row$doedlim","_row$doedlim$toLowerC","_event$target$value23","_row$indlaeg","_row$indlaeg$toLowerC","_event$target$value24","_row$pattype","_row$pattype$toLowerC","_event$target$value25","_row$kontaars","_row$kontaars$toLower","_event$target$value26","_row$visit","_row$visit$toLowerCas","_event$target$value27","_row$secproC3","_row$secproC3$toLower","_event$target$value28","_row$secproC4","_row$secproC4$toLower","_event$target$value29","_row$secproC5","_row$secproC5$toLower","_event$target$value30","_row$dgproP5","_row$dgproP5$toLowerC","_event$target$value31","_row$dgproP6","_row$dgproP6$toLowerC","_event$target$value32","_row$dgproP7","_row$dgproP7$toLowerC","_event$target$value33","_row$diagraM","_row$diagraM$toLowerC","_event$target$value34","_row$diagraM2","_row$diagraM2$toLower","_event$target$value35","_row$diagraM3","_row$diagraM3$toLower","_event$target$value36","_row$diagraM4","_row$diagraM4$toLower","_event$target$value37","rtc","icd","indm","dgcat","or","procprO1","secproC1","secproC2","dgproP1","dgproP2","dgproP3","dgproP4","agelim","compl","dgalt","discdisp","sex","till","doedlim","indlaeg","pattype","kontaars","visit","secproC3","secproC4","secproC5","dgproP5","dgproP6","dgproP7","diagraM1","diagraM2","diagraM3","diagraM4","handleBulkActionsClose","handleBulkLockRows","selectRule","handleBulkUnlockRows","DataGridPro","showColumnRightBorder","showCellRightBorder","disableColumnMenu","disableColumnResize","disableColumnReorder","getRowId","checkboxSelection","disableSelectionOnClick","onSelectionModelChange","newSelectionModel","onPageSizeChange","newPageSize","pinnedColumns","GRID_CHECKBOX_SELECTION_COL_DEF","onCellDoubleClick","_params$colDef","colDef","_params$colDef2","onCellEditStart","defaultMuiPrevented","onCellEditStop","experimentalFeatures","newEditingApi","componentsProps","EditorSelectionTree","tRow","ChangeLogs","requestSearch","_log$modifiedBy","_log$groupCode","_log$comments","_log$modifiedBy2","_log$fieldName","_log$comments2","IdleTimeOut","logoutTimerValue","setLogoutTimerValue","idleInstance","IdleJs","idle","onIdle","handleOnIdle","keepTracking","startAtIdle","start","stop","intervalId","setInterval","prevValue","clearInterval","seconds","handleStayLoggedIn","Profile","_user$3","_user$4","_user$5","isEdit","setIsEdit","defaultValues","UserName","updateProfile","input","cssLabel","root","DRGTest","_masterfilterdata$","queryParams","URLSearchParams","get","drgId","DRGHearing","Logo","DRGProd","InputLabelProps","GrouperTest","grouperId","GrouperHearing","GrouperProd","InteractiveTest","interactiveId","InteractiveHearing","InteractiveProd","ViewerTest","viewerId","ViewerHearing","ViewerProd","AppRouter","useLocation","Route","path","exact","Redirect","prefix","App","interval","i18next","init","interpolation","escapeValue","lng","resources","language_en","language_dk","createTheme","components","MuiButton","styleOverrides","boxShadow","MuiMenuItem","LicenseInfo","setLicenseKey","rootElement","ReactDOM","Provider","ThemeProvider","BrowserRouter","I18nextProvider"],"mappings":"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","file":"static/js/main.74341492.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/ImageBanner.3426702b.svg\";","export default __webpack_public_path__ + \"static/media/Logo-IQVIA-white.c04b00a6.svg\";","import * as React from \"react\";\nimport Button from \"@mui/material/Button\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport AppBar from \"@mui/material/AppBar\";\nimport { makeStyles } from \"@mui/styles\";\nimport Toolbar from \"@mui/material/Toolbar\";\nimport IconButton from \"@mui/material/IconButton\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport Divider from \"@mui/material/Divider\";\nimport ImageBanner from \"../../assets/logos/ImageBanner.svg\";\nimport IQVIALogo from \"../../assets/logos/Logo-IQVIA-white.svg\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport { styled, alpha } from \"@mui/material/styles\";\nimport Menu from \"@mui/material/Menu\";\nimport Badge from \"@mui/material/Badge\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport NotificationsIcon from \"@mui/icons-material/Notifications\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\n\nconst useStyles = makeStyles((theme) => ({\n appbarStyle: {\n background:\n \"transparent linear-gradient(272deg, #0076AE 0%, #250056 100%) 0% 0% no-repeat padding-box\",\n opacity: 1,\n top: 0,\n left: 0,\n //width: 1440,\n height: 56,\n alignContent: \"space-between\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n },\n toolbarStyle: {\n paddingLeft: 5,\n height: 56,\n },\n logoStyle: {\n paddingRight: 20,\n height: 15,\n },\n title: {\n flexGrow: 1,\n },\n casemixLogo: {\n alignSelf: \"center\",\n height: \"19px\",\n fontStyle: \"normal\",\n fontSize: \"14px\",\n fontStretch: \"normal\",\n paddingLeft: 20,\n paddingRight: 12,\n //fontFamily: \"'Montserrat', sans-serif\",\n },\n navItems: {\n letterSpacing: 0,\n color: \"white\",\n opacity: 1,\n textDecoration: \"none\",\n paddingLeft: 16,\n paddingRight: 16,\n fontFamily: \"'Montserrat', sans-serif\",\n fontStyle: \"normal\",\n fontSize: \"14px\",\n fontStretch: \"normal\",\n },\n adminMenuStyle: {\n backgroundColor: \"#0D3062\",\n },\n menuItemStyle: {\n textDecoration: \"none\",\n color: \"white\",\n fontStyle: \"normal\",\n fontSize: \"14px\",\n },\n customHeight: {\n minHeight: 200,\n },\n iconStyle: {\n padding: \"10px\",\n width: \"56px\",\n },\n buttonStyle: {\n textTransform: \"capitalize\",\n },\n}));\n\nconst StyledAdminMenu = styled((props) => (\n \n))(({ theme }) => ({\n \"& .MuiPaper-root\": {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomLeftRadius: 6,\n borderBottomRightRadius: 6,\n marginTop: theme.spacing(1),\n minWidth: 145,\n backgroundColor: \"#0D3062\",\n color: \"#FFFFFFDE\",\n fontStyle: \"normal\",\n fontSize: \"14px\",\n fontStretch: \"normal\",\n \"& .MuiMenu-list\": {\n padding: \"4px 0\",\n },\n \"& .MuiMenuItem-root\": {\n fontStyle: \"normal\",\n fontSize: \"14px\",\n fontStretch: \"normal\",\n \"& .MuiSvgIcon-root\": {\n fontSize: 18,\n color: theme.palette.text.secondary,\n marginRight: theme.spacing(1.5),\n },\n \"&:active\": {\n backgroundColor: alpha(\n theme.palette.primary.main,\n theme.palette.action.selectedOpacity\n ),\n },\n },\n },\n}));\n\nconst StyledMenu = styled((props) => (\n \n))(({ theme }) => ({\n \"& .MuiPaper-root\": {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomLeftRadius: 6,\n borderBottomRightRadius: 6,\n marginTop: theme.spacing(1),\n minWidth: 180,\n backgroundColor: \"#0D3062\",\n color: \"#FFFFFFDE\",\n \"& .MuiMenu-list\": {\n padding: \"4px 0\",\n },\n \"& .MuiMenuItem-root\": {\n fontStyle: \"normal\",\n fontSize: \"14px\",\n fontStretch: \"normal\",\n \"& .MuiSvgIcon-root\": {\n fontSize: 18,\n color: theme.palette.text.secondary,\n marginRight: theme.spacing(1.5),\n },\n \"&:active\": {\n backgroundColor: \"#0D3062\",\n },\n },\n },\n}));\n\nexport default function NavBar() {\n const classes = useStyles();\n const { user, isViewerRole } = useSelector((state) => state.authentication);\n const history = useHistory();\n const { t, i18n } = useTranslation(\"language\");\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [anchorElAdmin, setAnchorElAdmin] = React.useState(null);\n const openBoolean = Boolean(anchorEl);\n const openBooleanAdmin = Boolean(anchorElAdmin);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n const handleAdminClick = (event) => {\n setAnchorElAdmin(event.currentTarget);\n };\n const handleEnd = () => {\n setAnchorEl(null);\n setAnchorElAdmin(null);\n };\n const handleLogout = () => {\n history.push(\"/logout\");\n };\n return (\n
\n \n \n \n {/* \n \"IQVIA-Logo\"\n */}\n \"IQVIA-Logo\"\n \n {/* \n \"Logo\"\n Casemix360\n */}\n Casemix360\n \n {t(\"header.dashboard\")}\n \n {!isViewerRole && (\n \n {t(\"header.manager\")}\n \n )}\n \n {t(\"header.editor\")}\n \n \n {t(\"header.interactive\")}\n \n \n {t(\"header.viewer\")}\n \n {user[0].roleName == \"admin\" ||\n user[0].roleName == \"super admin\" ? (\n
\n }\n >\n {t(\"header.admin\")}\n \n \n \n \n {t(\"header.manage_user\")}\n \n \n \n \n {t(\"header.publisher\")}\n \n \n \n \n {t(\"header.upload_content\")}\n \n \n \n
\n ) : null}\n \n \n {/* \n \n \n
\n \n \n \n
*/}\n
\n }\n >\n {`${user[0].firstName} ${user[0].lastName}`}\n \n \n \n {user[0].roleName}\n \n \n {user[0].email}\n \n \n \n \n {t(\"header.my_profile\")}\n \n \n \n \n {t(\"header.log_out\")}\n \n \n \n
\n
\n
\n \n
\n );\n}\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const getUserDetails = createAsyncThunk(\n \"authentication/getUserDetails\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"Auth/Secure\", reqOptions).then((r) => {\n console.log(\"Response:\", r);\n if (r.status === 401) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const resetSession = createAsyncThunk(\n \"authentication/resetSession\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"Auth/ResetSession\", reqOptions).then((r) => { \n \n if (r.status === 401) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n } else {\n return r.json();\n }\n \n });\n }\n);\n\nexport const onLogout = createAsyncThunk(\n \"authentication/onLogout\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(\"authentication/Logout\", reqOptions).then((r) => {\n if (r.status === 200) {\n dispatch(\n logoutSuccess({\n user: {},\n isAuthorised: false,\n shouldRedirect: true,\n })\n );\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst initialState = {\n user: {},\n isAuthorised: false,\n shouldRedirect: true,\n response: [],\n isLoading: false,\n status: \"\",\n logoutStatus: null,\n isSuperAdminRole: false,\n isAdminRole: false,\n isEditorRole: false,\n isViewerRole: false,\n isAdminPrivileges: false,\n isFailed: false,\n isInactive: false,\n isUnauthorized: false,\n};\nexport const authenticationSlice = createSlice({\n name: \"authentication\",\n initialState: initialState,\n reducers: {\n tokenReceived(state, action) {\n const { user, isAuthorised, shouldRedirect } = action.payload;\n localStorage.setItem(\"token\", user.token);\n state.user = user;\n state.isAuthorised = isAuthorised;\n state.shouldRedirect = shouldRedirect;\n },\n logoutSuccess(state, action) {\n localStorage.removeItem(\"token\");\n state.user = {};\n state.isAuthorised = false;\n state.shouldRedirect = true;\n },\n redirectToLogin(state, action) {\n const { isAuthorised } = action.payload;\n state.isAuthorised = isAuthorised;\n if(localStorage.getItem(\"isUnauthorized\"))\n {\n state.isFailed = true;\n state.isUnauthorized = true;\n localStorage.removeItem(\"isUnauthorized\");\n }\n },\n clearStatus(state, action){\n state.isFailed = false;\n state.isInactive = false;\n state.isUnauthorized = false;\n }\n },\n extraReducers: {\n [getUserDetails.pending]: (state, action) => {\n // state.status = \"loading\";\n state.isLoading = true;\n },\n [getUserDetails.fulfilled]: (state, { payload }) => {\n if (payload) {\n localStorage.removeItem(\"isUnauthorized\");\n console.log(payload);\n state.user = payload;\n if (payload[0] ?.roleId == 1 || payload[0] ?.roleId == 4) {\n state.isAdminPrivileges = true;\n }\n if (payload[0] ?.roleId == 1 || payload[0] ?.roleName == \"admin\") {\n state.isAdminRole = true;\n }\n else if (payload[0] ?.roleId == 2 || payload[0] ?.roleName == \"editor\") {\n state.isEditorRole = true;\n }\n else if (payload[0] ?.roleId == 3 || payload[0] ?.roleName == \"viewer\") {\n state.isViewerRole = true;\n }\n else if (payload[0] ?.roleId == 4) {\n state.isSuperAdminRole = true;\n }\n state.isAuthorised = true;\n if (payload[0] ?.userId == \"\" || payload[0] ?.userId == null ) {\n state.isFailed = true;\n state.isInactive = true;\n }\n }\n state.status = \"success\";\n state.isLoading = false;\n },\n [getUserDetails.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getUserDetails\", action.error.message);\n },\n [onLogout.pending]: (state, action) => {\n state.logoutStatus = \"loading\";\n },\n [onLogout.fulfilled]: (state, { payload }) => {\n state.logoutStatus = \"success\";\n },\n [onLogout.rejected]: (state, action) => {\n state.logoutStatus = \"failed\";\n console.log(\"Error from onLogout\", action.error.message);\n },\n },\n});\n\nexport const { tokenReceived, logoutSuccess, redirectToLogin, clearStatus } =\n authenticationSlice.actions;\nexport default authenticationSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const getCountries = createAsyncThunk(\n \"login/getCountries\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"home/GetCountry\", reqOptions).then((r) => {\n return r.json();\n });\n }\n);\n\nexport const onLogin = createAsyncThunk(\n \"login/onLogin\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(\"authentication/Login\", reqOptions).then((r) => {\n //console.log(\"Res:\", r.json());\n return r.json();\n });\n }\n);\n\nconst loginSlice = createSlice({\n name: \"login\",\n initialState: {\n countries: [],\n status: null,\n isLoggedIn: false,\n loginStatus: null,\n redirectUrl: \"\",\n },\n extraReducers: {\n [getCountries.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getCountries.fulfilled]: (state, { payload }) => {\n state.countries = payload;\n state.status = \"success\";\n },\n [getCountries.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getCountries\", action.error.message);\n },\n [onLogin.pending]: (state, action) => {\n state.loginStatus = \"loading\";\n },\n [onLogin.fulfilled]: (state, { payload }) => {\n console.log(\"payload from onLogin\", payload.url.replace(\"http\", \"https\"));\n let url = payload.url.replace(\"https\", \"http\");\n console.log(\"url:\", url);\n state.redirectUrl = url.replace(\"http\", \"https\");\n state.isLoggedIn = true;\n state.loginStatus = \"success\";\n },\n [onLogin.rejected]: (state, action) => {\n state.loginStatus = \"failed\";\n console.log(\"Error from onLogin\", action.error.message);\n },\n },\n});\n\nexport default loginSlice.reducer;\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst initialState = { language: \"dk\" };\nexport const languageSlice = createSlice({\n name: \"language\",\n initialState: initialState,\n reducers: {\n languageChanged(state, action) {\n const { language } = action.payload;\n state.language = language;\n localStorage.setItem(\"language\", language);\n },\n },\n});\n\nexport const { languageChanged } = languageSlice.actions;\nexport default languageSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const getRoles = createAsyncThunk(\n \"registerUser/getRoles\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"api/Registration/GetRoles\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const registration = createAsyncThunk(\n \"registerUser/registration\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const EmailValidation = createAsyncThunk(\n \"registerUser/EmailValidation\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst registerUserSlice = createSlice({\n name: \"registerUser\",\n initialState: {\n roles: [],\n status: null,\n regStatus: null,\n isRegSuccess: false,\n isRegFailed: false,\n isSessionValid: true,\n },\n reducers: {\n endUserSession(state,action){\n state.isSessionValid = false;\n },\n clearStatus(state, action) {\n state.isRegSuccess = false;\n state.isRegFailed = false;\n },\n },\n extraReducers: {\n [getRoles.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getRoles.fulfilled]: (state, { payload }) => {\n state.roles = payload;\n state.status = \"success\";\n },\n [getRoles.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getRoles\", action.error.message);\n },\n [registration.pending]: (state, action) => {\n state.regStatus = \"loading\";\n },\n [registration.fulfilled]: (state, { payload }) => {\n if (payload == true) {\n state.isRegSuccess = payload;\n }\n else{\n state.isRegFailed = true;\n }\n state.regStatus = \"success\";\n },\n [registration.rejected]: (state, action) => {\n state.regStatus = \"failed\";\n state.isRegFailed = true;\n state.isRegSuccess = false;\n console.log(\"Error from userRegistration\", action.error.message);\n },\n // [EmailValidation.pending]: (state, action) => {\n // state.regStatus = \"loading\";\n // },\n // [EmailValidation.fulfilled]: (state, { payload }) => {\n // if (payload == true) {\n // state.isRegSuccess = payload;\n // }\n // else{\n // state.isRegFailed = true;\n // }\n // state.regStatus = \"success\";\n // },\n // [EmailValidation.rejected]: (state, action) => {\n // console.log(\"Error from EmailValidation\", action.error.message);\n // },\n },\n});\nexport const { clearStatus, endUserSession } = registerUserSlice.actions;\nexport default registerUserSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const getRoles = createAsyncThunk(\n \"manageUser/getRoles\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"api/Registration/GetRoles\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\nexport const getUsers = createAsyncThunk(\n \"manageUser/getUsers\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"home/api/GetUsers\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const saveChanges = createAsyncThunk(\n \"manageUser/saveChanges\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const UserActivation = createAsyncThunk(\n \"manageUser/UserActivation\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n let url = \"home/api/UserActivation\";\n return await fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst manageUserSlice = createSlice({\n name: \"manageUser\",\n initialState: {\n roles: [],\n users: [],\n rows: [],\n status: null,\n loading: true,\n userStatus: null,\n isSuccess: false,\n isFailed: false,\n isSessionValid: true,\n },\n reducers: {\n endUserSession(state,action){\n state.isSessionValid = false;\n },\n setRows(state, action) {\n state.rows = action.payload;\n },\n setLoading(state, action) {\n state.loading = action.payload;\n },\n clearStatus(state, action) {\n state.isSuccess = false;\n state.isFailed = false;\n },\n },\n extraReducers: {\n [getRoles.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getRoles.fulfilled]: (state, { payload }) => {\n state.roles = payload;\n state.status = \"success\";\n },\n [getRoles.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getRoles\", action.error.message);\n },\n [getUsers.pending]: (state, action) => {\n state.userStatus = \"loading\";\n },\n [getUsers.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n state.users = payload\n .map((item) => item)\n .sort()\n .reverse();\n state.rows = payload\n .map((item) => item)\n .sort()\n .reverse();\n state.userStatus = \"success\";\n state.loading = false;\n }\n },\n [getUsers.rejected]: (state, action) => {\n state.userStatus = \"failed\";\n console.log(\"Error from getUsers\", action.error.message);\n },\n [saveChanges.pending]: (state, action) => {\n state.loading = true;\n },\n [saveChanges.fulfilled]: (state, { payload }) => {\n state.loading = false;\n state.isSuccess = payload;\n },\n [saveChanges.rejected]: (state, action) => {\n state.isFailed = true;\n console.log(\"Error from getRoles\", action.error.message);\n },\n },\n});\nexport const { clearStatus, setRows, setLoading, endUserSession } = manageUserSlice.actions;\nexport default manageUserSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const getDrgLogics = createAsyncThunk(\n \"publisher/getDrgLogics\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllGrouperData = createAsyncThunk(\n \"publisher/getAllGrouperData\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"api/GetPublishGrouper\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllInteractiveData = createAsyncThunk(\n \"publisher/getAllInteractiveData\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"api/GetPublishInteractive\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllVisualData = createAsyncThunk(\n \"publisher/getAllVisualData\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"api/GetPublishVisual\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const validatePublishAction = createAsyncThunk(\n \"publisher/validatePublishAction\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(obj.apiUrl, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const publishDRG = createAsyncThunk(\n \"publisher/publishDRG\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(\"api/Editor/PublishUnpublish\", reqOptions)\n .then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n })\n .then((payload) => {\n if (payload != null && payload == true) {\n dispatch(setPublishSuccess());\n dispatch(setActionFlag(false));\n dispatch(getDrgLogics({ url: obj.apiUrl, method: \"GET\" }));\n } else if (payload != null && payload == false) {\n dispatch(setPublishFailure());\n }\n });\n }\n);\n\nexport const publishOtherCollection = createAsyncThunk(\n \"publisher/publishOtherCollection\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions)\n .then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n })\n .then((payload) => {\n if (payload != null && payload == true) {\n dispatch(setPublishSuccess());\n dispatch(setActionFlag(false));\n switch (obj.logicType) {\n case \"2\":\n dispatch(getAllGrouperData({ method: \"GET\" }));\n break;\n case \"3\":\n dispatch(getAllInteractiveData({ method: \"GET\" }));\n break;\n case \"4\":\n dispatch(getAllVisualData({ method: \"GET\" }));\n break;\n }\n } else if (payload != null && payload == false) {\n dispatch(setPublishFailure());\n }\n });\n }\n);\n\nexport const getDRGContent = createAsyncThunk(\n \"publisher/getDRGContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getGrouperContent = createAsyncThunk(\n \"publisher/getGrouperContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getInteractiveContent = createAsyncThunk(\n \"publisher/getInteractiveContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualContent = createAsyncThunk(\n \"publisher/getVisualContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst initialState = {\n masterDrgData: [],\n masterGrouperData: [],\n masterInteractiveData: [],\n masterVisualData: [],\n logicValue: \"1\",\n yearValue: \"\",\n prevSelectedYearValue: \"\",\n prevSelectedFileName: \"\",\n showTariff: false,\n uniqueYears: [],\n fileNameValue: \"1\",\n selectedFile: {},\n fileNames: [],\n publishValue: \"\",\n disablePublish: false,\n disableUnPublish: false,\n users: [],\n rows: [],\n drgStatus: null,\n actionFlag: false,\n publishSuccess: false,\n publishFailed: false,\n actionAlert: false,\n isSessionValid: true,\n isLoading: false,\n destEnvironment: \"\",\n noUploadContent: false,\n noDRGContent: false,\n noGrouperContent: false,\n noInteractiveContent: false,\n noViewerContent: false,\n alreadyPublished: {},\n};\n\nconst publisherSlice = createSlice({\n name: \"publisher\",\n initialState,\n reducers: {\n endUserSession(state, action) {\n state.isSessionValid = false;\n },\n setLogicValue(state, action) {\n state.logicValue = action.payload;\n },\n setActionFlag(state, action) {\n state.actionFlag = action.payload;\n },\n setShowTariff(state, action) {\n state.showTariff = action.payload;\n },\n setAlreadyPublished(state, action) {\n state.alreadyPublished = action.payload;\n },\n handleYearValueChange(state, action) {\n const { logicValue, masterData, value } = action.payload;\n state.yearValue = value;\n if (logicValue == \"1\") {\n var filterData = masterData.filter((a) => a.year == value);\n state.fileNames = filterData;\n state.fileNameValue = filterData[0].id;\n state.selectedFile = filterData[0];\n if (filterData[0].isPublished == true) {\n state.publishValue = \"1\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else if (filterData[0].isPreProd == true) {\n state.publishValue = \"2\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else if (filterData[0].isTest == true) {\n state.publishValue = \"3\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else {\n state.publishValue = \"\";\n state.disablePublish = false;\n state.disableUnPublish = true;\n }\n } else {\n var filterData = masterData.filter((a) => a.year == value);\n if (filterData.length > 0) {\n state.fileNameValue = filterData[0].id;\n state.selectedFile = filterData[0];\n state.showTariff = filterData[0].showTariff;\n if (filterData[0].status !== 0) {\n state.publishValue = filterData[0].status;\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else {\n state.publishValue = \"\";\n state.disablePublish = false;\n state.disableUnPublish = true;\n }\n state.fileNames = [];\n var tempArray = [];\n if (logicValue == \"2\") {\n for (let i = 0; i < filterData.length; i++) {\n tempArray.push({\n id: filterData[i].id,\n name: filterData[i].grouperName,\n version: filterData[i].grouperVersion,\n status: filterData[i].status,\n showTariff: filterData[i].showTariff,\n });\n }\n state.fileNames = tempArray;\n } else if (logicValue == \"3\") {\n for (let i = 0; i < filterData.length; i++) {\n tempArray.push({\n id: filterData[i].id,\n name: filterData[i].interactiveName,\n version: filterData[i].interactiveVersion,\n status: filterData[i].status,\n showTariff: filterData[i].showTariff,\n });\n }\n state.fileNames = tempArray;\n } else if (logicValue == \"4\") {\n for (let i = 0; i < filterData.length; i++) {\n tempArray.push({\n id: filterData[i].id,\n name: filterData[i].visualName,\n version: filterData[i].visualVersion,\n status: filterData[i].status,\n showTariff: filterData[i].showTariff,\n });\n }\n state.fileNames = tempArray;\n }\n } else {\n state.fileNameValue = \"\";\n state.fileNames = [];\n state.publishValue = \"\";\n }\n }\n },\n handleFileNameUpdates(state, action) {\n const { logicValue, fileNames, value } = action.payload;\n state.fileNameValue = value;\n var filterData = fileNames.filter((a) => a.id == value);\n state.selectedFile = filterData[0];\n if (logicValue == \"1\") {\n if (filterData[0].isPublished == true) {\n state.publishValue = \"1\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else if (filterData[0].isPreProd == true) {\n state.publishValue = \"2\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else if (filterData[0].isTest == true) {\n state.publishValue = \"3\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else {\n state.publishValue = \"\";\n state.disablePublish = false;\n state.disableUnPublish = true;\n }\n } else {\n state.showTariff = filterData[0].showTariff;\n if (filterData[0].status !== 0) {\n state.publishValue = filterData[0].status;\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else {\n state.publishValue = \"\";\n state.disablePublish = false;\n state.disableUnPublish = true;\n }\n }\n },\n handleActionChange(state, action) {\n state.publishValue = action.payload;\n switch (state.publishValue) {\n case \"1\":\n state.destEnvironment = \"Production\";\n break;\n case \"2\":\n state.destEnvironment = \"Hearing\";\n break;\n case \"3\":\n state.destEnvironment = \"Test\";\n break;\n }\n state.showTariff = false;\n if (state.logicValue != \"1\" && state.logicValue != \"\") {\n if (state.publishValue == state.selectedFile.status.toString()) {\n state.showTariff = state.selectedFile.showTariff;\n state.disableUnPublish = false;\n state.disablePublish = true;\n state.actionFlag = false;\n } else {\n state.showTariff = state.selectedFile.showTariff;\n state.disableUnPublish = true;\n state.disablePublish = false;\n state.actionFlag = true;\n }\n } else if (state.logicValue == \"1\" && state.logicValue != \"\") {\n if (state.publishValue == 1 && state.selectedFile.isPublished == true) {\n state.disablePublish = true;\n state.disableUnPublish = false;\n state.actionFlag = false;\n } else if (\n state.publishValue == 2 &&\n state.selectedFile.isPreProd == true\n ) {\n state.disablePublish = true;\n state.disableUnPublish = false;\n state.actionFlag = false;\n } else if (\n state.publishValue == 3 &&\n state.selectedFile.isTest == true\n ) {\n state.disablePublish = true;\n state.disableUnPublish = false;\n state.actionFlag = false;\n } else {\n state.disablePublish = false;\n state.disableUnPublish = true;\n state.actionFlag = true;\n }\n }\n },\n handleClose(state, action) {\n state.publishSuccess = false;\n state.publishFailed = false;\n state.actionAlert = false;\n },\n setActionAlert(state, { payload }) {\n state.actionAlert = payload;\n },\n setPublishSuccess(state, action) {\n state.prevSelectedFileName = state.fileNameValue;\n state.prevSelectedYearValue = state.yearValue;\n state.publishSuccess = true;\n },\n setPublishFailure(state, action) {\n state.publishFailed = true;\n },\n closeUploadContent(state, action) {\n state.noUploadContent = false;\n state.noDRGContent = false;\n state.noGrouperContent = false;\n state.noInteractiveContent = false;\n state.noViewerContent = false;\n },\n resetPublisher: () => initialState,\n },\n extraReducers: {\n [getDrgLogics.pending]: (state, action) => {\n state.drgStatus = \"loading\";\n state.isLoading = true;\n },\n [getDrgLogics.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (Array.isArray(payload) && payload.length > 0) {\n state.masterDrgData = payload;\n var distinctYear = [];\n var selectedYear = \"\";\n distinctYear = payload\n .map((item) => item.year)\n .filter(\n (value, index, self) =>\n self.indexOf(value) === index && value != null\n )\n .sort()\n .reverse();\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (distinctYear.includes(JSON.stringify(upcomingYear))) {\n selectedYear = JSON.stringify(upcomingYear);\n } else if (distinctYear.includes(JSON.stringify(currentYear))) {\n selectedYear = JSON.stringify(currentYear);\n } else if (distinctYear.includes(JSON.stringify(previousYear))) {\n selectedYear = JSON.stringify(previousYear);\n } else {\n selectedYear = distinctYear[distinctYear.length - 1];\n }\n state.yearValue =\n state.prevSelectedYearValue != \"\"\n ? state.prevSelectedYearValue\n : selectedYear;\n state.uniqueYears = distinctYear;\n var filterData = payload.filter((a) => a.year == state.yearValue);\n state.fileNames = filterData;\n state.fileNameValue =\n state.prevSelectedFileName != \"\"\n ? state.prevSelectedFileName\n : filterData[0].id;\n var status = payload.filter((a) => a.id == state.fileNameValue);\n state.selectedFile = status[0];\n if (status[0].isPublished == true) {\n state.publishValue = \"1\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else if (status[0].isPreProd == true) {\n state.publishValue = \"2\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else if (status[0].isTest == true) {\n state.publishValue = \"3\";\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else {\n state.publishValue = \"\";\n state.disablePublish = false;\n state.disableUnPublish = true;\n }\n state.drgStatus = \"success\";\n state.prevSelectedFileName = \"\";\n state.prevSelectedYearValue = \"\";\n } else {\n state.uniqueYears = [];\n state.fileNames = [];\n }\n },\n [getDrgLogics.rejected]: (state, action) => {\n state.drgStatus = \"failed\";\n state.isLoading = false;\n console.log(\"Error from getDrgLogics\", action.error.message);\n },\n [getAllGrouperData.pending]: (state, action) => {\n state.isLoading = true;\n },\n [getAllGrouperData.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (Array.isArray(payload) && payload.length > 0) {\n state.masterGrouperData = payload;\n var distinctYear = [];\n var selectedYear = \"\";\n distinctYear = payload\n .map((item) => item.year)\n .filter(\n (value, index, self) =>\n self.indexOf(value) === index && value != null\n )\n .sort()\n .reverse();\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (distinctYear.includes(JSON.stringify(upcomingYear))) {\n selectedYear = JSON.stringify(upcomingYear);\n } else if (distinctYear.includes(JSON.stringify(currentYear))) {\n selectedYear = JSON.stringify(currentYear);\n } else if (distinctYear.includes(JSON.stringify(previousYear))) {\n selectedYear = JSON.stringify(previousYear);\n } else {\n selectedYear = distinctYear[distinctYear.length - 1];\n }\n state.yearValue =\n state.prevSelectedYearValue != \"\"\n ? state.prevSelectedYearValue\n : selectedYear;\n state.uniqueYears = distinctYear;\n var filterData = payload.filter((a) => a.year == state.yearValue);\n state.fileNameValue =\n state.prevSelectedFileName != \"\"\n ? state.prevSelectedFileName\n : filterData[0].id;\n var status = payload.filter((a) => a.id == state.fileNameValue);\n state.selectedFile = status[0];\n state.showTariff = status[0].showTariff;\n if (status[0].status !== 0) {\n state.publishValue = status[0].status;\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else {\n state.publishValue = \"\";\n state.disablePublish = false;\n state.disableUnPublish = true;\n }\n state.fileNames = [];\n var tempArray = [];\n for (let i = 0; i < filterData.length; i++) {\n tempArray.push({\n id: filterData[i].id,\n name: filterData[i].grouperName,\n version: filterData[i].grouperVersion,\n status: filterData[i].status,\n showTariff: filterData[i].showTariff,\n });\n }\n state.fileNames = tempArray;\n state.prevSelectedFileName = \"\";\n state.prevSelectedYearValue = \"\";\n } else {\n state.uniqueYears = [];\n state.fileNames = [];\n }\n },\n [getAllGrouperData.rejected]: (state, action) => {\n state.isFailed = true;\n state.isLoading = false;\n console.log(\"Error from getAllGrouperData\", action.error.message);\n },\n [getAllInteractiveData.pending]: (state, action) => {\n state.isLoading = true;\n },\n [getAllInteractiveData.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (Array.isArray(payload) && payload.length > 0) {\n state.masterInteractiveData = payload;\n var distinctYear = [];\n var selectedYear = \"\";\n distinctYear = payload\n .map((item) => item.year)\n .filter(\n (value, index, self) =>\n self.indexOf(value) === index && value != null\n )\n .sort()\n .reverse();\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (distinctYear.includes(JSON.stringify(upcomingYear))) {\n selectedYear = JSON.stringify(upcomingYear);\n } else if (distinctYear.includes(JSON.stringify(currentYear))) {\n selectedYear = JSON.stringify(currentYear);\n } else if (distinctYear.includes(JSON.stringify(previousYear))) {\n selectedYear = JSON.stringify(previousYear);\n } else {\n selectedYear = distinctYear[distinctYear.length - 1];\n }\n state.yearValue =\n state.prevSelectedYearValue != \"\"\n ? state.prevSelectedYearValue\n : selectedYear;\n state.uniqueYears = distinctYear;\n var filterData = payload.filter((a) => a.year == state.yearValue);\n state.fileNameValue =\n state.prevSelectedFileName != \"\"\n ? state.prevSelectedFileName\n : filterData[0].id;\n var status = payload.filter((a) => a.id == state.fileNameValue);\n state.selectedFile = status[0];\n state.showTariff = status[0].showTariff;\n if (status[0].status !== 0) {\n state.publishValue = status[0].status;\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else {\n state.publishValue = \"\";\n state.disablePublish = false;\n state.disableUnPublish = true;\n }\n state.fileNames = [];\n var tempArray = [];\n for (let i = 0; i < filterData.length; i++) {\n tempArray.push({\n id: filterData[i].id,\n name: filterData[i].interactiveName,\n version: filterData[i].interactiveVersion,\n status: filterData[i].status,\n showTariff: filterData[i].showTariff,\n });\n }\n state.fileNames = tempArray;\n state.prevSelectedFileName = \"\";\n state.prevSelectedYearValue = \"\";\n } else {\n state.uniqueYears = [];\n state.fileNames = [];\n }\n },\n [getAllInteractiveData.rejected]: (state, action) => {\n state.isFailed = true;\n state.isLoading = false;\n console.log(\"Error from getAllInteractiveData\", action.error.message);\n },\n [getAllVisualData.pending]: (state, action) => {\n state.isLoading = true;\n },\n [getAllVisualData.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (Array.isArray(payload) && payload.length > 0) {\n state.masterVisualData = payload;\n var distinctYear = [];\n var selectedYear = \"\";\n distinctYear = payload\n .map((item) => item.year)\n .filter(\n (value, index, self) =>\n self.indexOf(value) === index && value != null\n )\n .sort()\n .reverse();\n console.log(\"distint year\", distinctYear);\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (distinctYear.includes(JSON.stringify(upcomingYear))) {\n selectedYear = JSON.stringify(upcomingYear);\n } else if (distinctYear.includes(JSON.stringify(currentYear))) {\n selectedYear = JSON.stringify(currentYear);\n } else if (distinctYear.includes(JSON.stringify(previousYear))) {\n selectedYear = JSON.stringify(previousYear);\n } else {\n selectedYear = distinctYear[distinctYear.length - 1];\n }\n state.yearValue =\n state.prevSelectedYearValue != \"\"\n ? state.prevSelectedYearValue\n : selectedYear;\n state.uniqueYears = distinctYear;\n var filterData = payload.filter((a) => a.year == state.yearValue);\n state.fileNameValue =\n state.prevSelectedFileName != \"\"\n ? state.prevSelectedFileName\n : filterData[0].id;\n var status = payload.filter((a) => a.id == state.fileNameValue);\n state.selectedFile = status[0];\n state.showTariff = status[0].showTariff;\n if (status[0].status !== 0) {\n state.publishValue = status[0].status;\n state.disablePublish = true;\n state.disableUnPublish = false;\n } else {\n state.publishValue = \"\";\n state.disablePublish = false;\n state.disableUnPublish = true;\n }\n state.fileNames = [];\n var tempArray = [];\n for (let i = 0; i < filterData.length; i++) {\n tempArray.push({\n id: filterData[i].id,\n name: filterData[i].visualName,\n version: filterData[i].visualVersion,\n status: filterData[i].status,\n showTariff: filterData[i].showTariff,\n });\n }\n state.fileNames = tempArray;\n state.prevSelectedFileName = \"\";\n state.prevSelectedYearValue = \"\";\n } else {\n state.uniqueYears = [];\n state.fileNames = [];\n }\n },\n [getAllVisualData.rejected]: (state, action) => {\n state.isFailed = true;\n state.isLoading = false;\n console.log(\"Error from getAllVisualData\", action.error.message);\n },\n [validatePublishAction.pending]: (state, action) => {\n state.isLoading = true;\n },\n [validatePublishAction.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n state.alreadyPublished = payload;\n },\n [validatePublishAction.rejected]: (state, action) => {\n state.isFailed = true;\n state.isLoading = false;\n console.log(\"Error from validatePublish\", action.error.message);\n },\n [publishDRG.pending]: (state, action) => {},\n [publishDRG.fulfilled]: (state, { payload }) => {\n // if (payload) {\n // console.log(\"Payload from publish:\", payload.status);\n // }\n // state.publishSuccess = true;\n },\n [publishDRG.rejected]: (state, action) => {\n console.log(\"Error from publishDRG\", action.error.message);\n },\n [publishOtherCollection.pending]: (state, action) => {},\n [publishOtherCollection.fulfilled]: (state, action) => {},\n [publishOtherCollection.rejected]: (state, action) => {\n console.log(\"Error from publishOtherCollection\", action.error.message);\n },\n [getDRGContent.pending]: (state, action) => {},\n [getDRGContent.fulfilled]: (state, { payload }) => {\n if (payload.length > 0) {\n var content = payload[0].languageValue.replace(\n /(<([^>]+)>)( )*/gi,\n \"\"\n );\n if (content.length == 1) {\n state.noUploadContent = true;\n state.noDRGContent = true;\n }\n } else {\n state.noUploadContent = true;\n state.noDRGContent = true;\n }\n },\n [getDRGContent.rejected]: (state, action) => {\n console.log(\"Error from getDRGContent\", action.error.message);\n },\n [getGrouperContent.pending]: (state, action) => {},\n [getGrouperContent.fulfilled]: (state, { payload }) => {\n if (payload.length > 0) {\n var content = payload[0].languageValue.replace(\n /(<([^>]+)>)( )*/gi,\n \"\"\n );\n if (content.length == 1) {\n state.noUploadContent = true;\n state.noDRGContent = true;\n }\n } else {\n state.noUploadContent = true;\n state.noGrouperContent = true;\n }\n },\n [getGrouperContent.rejected]: (state, action) => {\n console.log(\"Error from getGrouperContent\", action.error.message);\n },\n [getInteractiveContent.pending]: (state, action) => {},\n [getInteractiveContent.fulfilled]: (state, { payload }) => {\n if (payload.length > 0) {\n var content = payload[0].languageValue.replace(\n /(<([^>]+)>)( )*/gi,\n \"\"\n );\n if (content.length == 1) {\n state.noUploadContent = true;\n state.noDRGContent = true;\n }\n } else {\n state.noUploadContent = true;\n state.noInteractiveContent = true;\n }\n },\n [getInteractiveContent.rejected]: (state, action) => {\n console.log(\"Error from getInteractiveContent\", action.error.message);\n },\n [getVisualContent.pending]: (state, action) => {},\n [getVisualContent.fulfilled]: (state, { payload }) => {\n if (payload.length > 0) {\n var content = payload[0].languageValue.replace(\n /(<([^>]+)>)( )*/gi,\n \"\"\n );\n if (content.length == 1) {\n state.noUploadContent = true;\n state.noDRGContent = true;\n }\n } else {\n state.noUploadContent = true;\n state.noViewerContent = true;\n }\n },\n [getVisualContent.rejected]: (state, action) => {\n console.log(\"Error from getVisualContent\", action.error.message);\n },\n },\n});\nexport const {\n setLogicValue,\n setActionFlag,\n handleYearValueChange,\n handleFileNameUpdates,\n handleActionChange,\n handleClose,\n setActionAlert,\n setPublishSuccess,\n setPublishFailure,\n endUserSession,\n resetPublishSuccess,\n setShowTariff,\n closeUploadContent,\n setAlreadyPublished,\n resetPublisher,\n} = publisherSlice.actions;\nexport default publisherSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const getCountries = createAsyncThunk(\n \"contentUpload/getCountries\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"home/GetCountry\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualContent = createAsyncThunk(\n \"contentUpload/getVisualContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getInteractiveContent = createAsyncThunk(\n \"contentUpload/getInteractiveContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGContent = createAsyncThunk(\n \"contentUpload/getDRGContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getGrouperContent = createAsyncThunk(\n \"contentUpload/getGrouperContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const SaveContent = createAsyncThunk(\n \"contentUpload/SaveContent\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n console.log(\"Response: \", r);\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst initialState = {\n countries: [],\n years: [],\n year: (new Date().getFullYear() + 1).toString(),\n language: \"1\",\n destEnvironment: \"Test\",\n status: null,\n interactiveContent: \"\",\n visualContent: \"\",\n DRGContent: \"\",\n grouperContent: \"\",\n updatedInteractiveContent: \"\",\n updatedVisualContent: \"\",\n updatedDRGContent: \"\",\n updatedGrouperContent: \"\",\n uploadSuccess: false,\n uploadFailed: false,\n isSessionValid: true,\n isReRender: false,\n};\n\nconst contentUploadSlice = createSlice({\n name: \"contentUpload\",\n initialState,\n reducers: {\n endUserSession(state,action){\n state.isSessionValid = false;\n },\n setYearsArray(state, action) {\n var currentYear = new Date().getFullYear();\n var max = currentYear + 5;\n var option = [];\n for (var y = currentYear - 4; y <= max; y++) {\n option.push({ text: y, value: y });\n }\n state.years = option.sort().reverse();\n },\n setYear(state, { payload }) {\n state.year = payload;\n },\n setLanguage(state, { payload }) {\n state.language = payload;\n },\n setDestEnvironment(state, { payload }) {\n state.destEnvironment = payload;\n },\n updateContent(state, { payload }) {\n if (payload.tab == \"interactive\") {\n state.updatedInteractiveContent = payload.content;\n } else if (payload.tab == \"viewer\") {\n state.updatedVisualContent = payload.content;\n }else if (payload.tab == \"DRG\") {\n state.updatedDRGContent = payload.content;\n }else if (payload.tab == \"grouper\") {\n state.updatedGrouperContent = payload.content;\n }\n },\n clearValues(state, action) {\n state.year = (new Date().getFullYear() + 1).toString();\n state.language = \"1\";\n },\n handleClose(state, action) {\n state.uploadSuccess = false;\n state.uploadFailed = false;\n },\n resetContentUpload:() => initialState\n },\n extraReducers: {\n [getCountries.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getCountries.fulfilled]: (state, { payload }) => {\n state.countries = payload;\n state.status = \"success\";\n },\n [getCountries.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getCountries\", action.error.message);\n },\n [getInteractiveContent.pending]: (state, action) => {\n state.status = \"loading\";\n state.isReRender = false;\n },\n [getInteractiveContent.fulfilled]: (state, { payload }) => {\n console.log(\"payload-Interactive:\", payload);\n if (payload.length > 0) {\n var content = payload[0].languageValue.replace(/(<([^>]+)>)( )*/ig, '');\n if(content.length == 1){\n state.interactiveContent = \"\";\n state.isReRender = true;\n }else{\n state.interactiveContent = payload[0].languageValue;\n }\n } else {\n state.interactiveContent = \"\";\n state.isReRender = true;\n }\n state.status = \"success\";\n },\n [getInteractiveContent.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getInteractiveContent\", action.error.message);\n },\n [getVisualContent.pending]: (state, action) => {\n state.status = \"loading\";\n state.isReRender = false;\n },\n [getVisualContent.fulfilled]: (state, { payload }) => {\n console.log(\"payload-Viewer:\", payload);\n if (payload.length > 0) {\n var content = payload[0].languageValue.replace(/(<([^>]+)>)( )*/ig, '');\n if(content.length == 1){\n state.visualContent = \"\";\n state.isReRender = true;\n }else{\n state.visualContent = payload[0].languageValue;\n }\n } else {\n state.visualContent = \"\";\n state.isReRender = true;\n }\n state.status = \"success\";\n },\n [getVisualContent.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualContent\", action.error.message);\n },\n\n [getDRGContent.pending]: (state, action) => {\n state.status = \"loading\";\n state.isReRender = false;\n },\n [getDRGContent.fulfilled]: (state, { payload }) => {\n console.log(\"payload-DRG:\", payload);\n if (payload.length > 0) {\n var content = payload[0].languageValue.replace(/(<([^>]+)>)( )*/ig, '');\n if(content.length == 1){\n state.DRGContent = \"\";\n state.isReRender = true;\n }else{\n state.DRGContent = payload[0].languageValue;\n }\n } else {\n state.DRGContent = \"\";\n state.isReRender = true;\n }\n state.status = \"success\";\n },\n [getDRGContent.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getDRGContent\", action.error.message);\n },\n\n [getGrouperContent.pending]: (state, action) => {\n state.status = \"loading\";\n state.isReRender = false;\n },\n [getGrouperContent.fulfilled]: (state, { payload }) => {\n console.log(\"payload-Grouper:\", payload);\n if (payload.length > 0) {\n var content = payload[0].languageValue.replace(/(<([^>]+)>)( )*/ig, '');\n if(content.length == 1){\n state.grouperContent = \"\";\n state.isReRender = true;\n }else{\n state.grouperContent = payload[0].languageValue;\n }\n } else {\n state.grouperContent = \"\";\n state.isReRender = true;\n }\n state.status = \"success\";\n },\n [getGrouperContent.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getGrouperContent\", action.error.message);\n },\n\n [SaveContent.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [SaveContent.fulfilled]: (state, { payload }) => {\n console.log(\"Payload:\", payload);\n if (payload) {\n state.uploadSuccess = true;\n } else {\n state.uploadFailed = true;\n }\n },\n [SaveContent.rejected]: (state, action) => {\n state.uploadFailed = true;\n console.log(\"Error from SaveContent\", action.error.message);\n },\n },\n});\nexport const {\n setYearsArray,\n setYear,\n setLanguage,\n updateContent,\n clearValues,\n handleClose,\n endUserSession,\n setDestEnvironment,\n resetContentUpload\n} = contentUploadSlice.actions;\nexport default contentUploadSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { store } from \"../../app/store\";\n\nexport const getAllVisual = createAsyncThunk(\n \"viewer/getAllVisual\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"api/GetAllVisual\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualMenus = createAsyncThunk(\n \"viewer/getVisualMenus\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetVisualMenus?visualId=\" + obj.id;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getZipFile = createAsyncThunk(\n \"viewer/getZipFile\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions).then((response) => {\n if (response.status === 401) {\n dispatch(endUserSession());\n } else {\n return response.blob();\n }\n });\n }\n);\n\nexport const getVisualDatabyID = createAsyncThunk(\n \"viewer/getVisualDatabyID\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetVisualDatabyId?id=\" + obj.id;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getMetadata = createAsyncThunk(\n \"viewer/getMetadata\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/GetMetadata?visualname=\" +\n obj.name +\n \"&visualversion=\" +\n obj.version +\n \"&year=\" +\n obj.year;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getNodesJSON = createAsyncThunk(\n \"viewer/getNodesJSON\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n if (\n obj.specification === \"\" ||\n obj.specification === \"Full Logic\" ||\n obj.specification === \"Komplet logik\" ||\n obj.specification === undefined\n ) {\n let url =\n \"api/GetViewerData/?_logicName=\" +\n obj.logicName +\n \"&_logicVersion=\" +\n obj.logicVersion +\n \"&_year=\" +\n obj.year +\n \"&pricename=\" +\n obj.priceName +\n \"&priceversion=\" +\n obj.priceVersion;\n return await fetch(url, reqOptions).then((res) => {\n if (res.status === 401) {\n dispatch(endUserSession());\n } else {\n return res.json();\n }\n });\n } else {\n return await fetch(\n \"api/GetViewerData/?_logicName=\" +\n obj.logicName +\n \"&_logicVersion=\" +\n obj.logicVersion +\n \"&_year=\" +\n obj.year +\n \"&_folder=\" +\n obj.specification +\n \"&_mdc=\" +\n obj.mdc +\n \"&_viewtype=\" +\n obj.viewType +\n \"&pricename=\" +\n obj.priceName +\n \"&priceversion=\" +\n obj.priceVersion\n ).then((res) => {\n if (res.status === 401) {\n dispatch(endUserSession());\n } else {\n return res.json();\n }\n });\n }\n }\n);\n\nexport const getDRGPriceJSON = createAsyncThunk(\n \"viewer/getDRGPriceJSON\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.viewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = \"GET\";\n let url =\n \"api/GetDRGPriceData/?_drg=\" +\n state.viewer.subCode +\n \"&_price=\" +\n metadataColl.DRGPriceName +\n \"&_priceversion=\" +\n metadataColl.DRGPriceVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getMetadataForLogicName = createAsyncThunk(\n \"viewer/getMetadataForLogicName\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.viewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = \"GET\";\n let url =\n \"api/GetMetadataforLogicName?logicname=\" +\n metadataColl.DRGLogicName +\n \"&logicversion=\" +\n metadataColl.DRGLogicVersion +\n \"&year=\" +\n state.viewer.selectedVisualYear;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGPopUpJSON = createAsyncThunk(\n \"viewer/getDRGPopUpJSON\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let reqOptions = {};\n reqOptions.method = \"GET\";\n let url =\n \"api/GetDRGPopupData/?_drg=\" +\n state.viewer.subCode +\n \"&_drgLogicId=\" +\n state.viewer.drgLogicID +\n \"&egenskabname=\" +\n state.viewer.egenskaberName +\n \"&egenskabversion=\" +\n state.viewer.egenskaberVersion +\n \"&mdcname=\" +\n state.viewer.mdcname +\n \"&mdcversion=\" +\n state.viewer.mdcversion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getMDCGroupCodeJSON = createAsyncThunk(\n \"viewer/getMDCGroupCodeJSON\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let reqOptions = {};\n reqOptions.method = \"GET\";\n let url =\n \"api/GetMDCCodesWithDescription?groupCode=\" +\n state.viewer.groupCode +\n \" &mdc=\" +\n state.viewer.subCode +\n \"&drgLogicId=\" +\n state.viewer.drgLogicID +\n \"&sksname=\" +\n state.viewer.sksName +\n \"&sksversion=\" +\n state.viewer.sksVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getGroupCodeJSON = createAsyncThunk(\n \"viewer/getGroupCodeJSON\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let reqOptions = {};\n reqOptions.method = \"GET\";\n const subList = state.viewer.subCode;\n let url =\n \"api/GetCodesWithDescription?groupCode=\" +\n encodeURIComponent(state.viewer.groupCode) +\n \" &groupCodeSubList=\" +\n encodeURIComponent(subList) +\n \"&drgLogicId=\" +\n state.viewer.drgLogicID +\n \"&sksname=\" +\n state.viewer.sksName +\n \"&sksversion=\" +\n state.viewer.sksVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getshowTariff = createAsyncThunk(\n \"viewer/getshowTariff\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetShowTariffByVisualId/?visualId=\" + obj.visualID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGTypeSpecifications = createAsyncThunk(\n \"viewer/getDRGTypeSpecifications\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.viewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/GetDRGTypeSpecifications?logicid=\" +\n state.viewer.drgLogicID +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGTypeSpecificationsSearch = createAsyncThunk(\n \"viewer/getDRGTypeSpecificationsSearch\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.viewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/GetDRGTypeSpecificationsSearch?logicid=\" +\n state.viewer.drgLogicID +\n \"&tabType=\" +\n \"specification\" +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion +\n \"&search=\" +\n obj.search;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGDiagramData = createAsyncThunk(\n \"viewer/getDRGDiagramData\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.viewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/GetDRGDiagramData?filtervalue=\" +\n obj.filter +\n \"&rulenumber=\" +\n obj.regel +\n \"&column=\" +\n obj.column +\n \"&_logicName=\" +\n metadataColl.DRGLogicName +\n \"&_logicVersion=\" +\n metadataColl.DRGLogicVersion +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion +\n \"&strYear=\" +\n state.viewer.selectedVisualYear;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllParentSKS = createAsyncThunk(\n \"viewer/getAllParentSKS\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.viewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let parentId = obj.parentId ? obj.parentId : \"\";\n let url =\n \"api/GetAllParentSKS?parentid=\" +\n parentId +\n \"&sksname=\" +\n state.viewer.sksName +\n \"&sksversion=\" +\n state.viewer.sksVersion;\n\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getSKSSearch = createAsyncThunk(\n \"viewer/getSKSSearch\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/GetSKSSearch?sksName=\" +\n state.viewer.sksName +\n \"&sksVer=\" +\n state.viewer.sksVersion +\n \"&search=\" +\n obj.search;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getSKSTable = createAsyncThunk(\n \"viewer/getSKSTable\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.viewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n\n let url =\n \"api/Getsksmap?skscode=\" +\n obj.code +\n \"&logicid=\" +\n state.viewer.drgLogicID +\n \"&logicname=\" +\n metadataColl.DRGLogicName +\n \"&logicversion=\" +\n metadataColl.DRGLogicVersion +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion +\n \"&year=\" +\n state.viewer.selectedVisualYear +\n \"&interactivename=\" +\n metadataColl.InteractiveName +\n \"&interactiveversion=\" +\n metadataColl.InteractiveVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getSKSCodeDiagramData = createAsyncThunk(\n \"viewer/getSKSCodeDiagramData\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.viewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"/api/GetSKSCodeDiagramData?filtervalue=\" +\n obj.drgGroup +\n \"&rulenumber=\" +\n obj.regel +\n \"&_logicName=\" +\n metadataColl.DRGLogicName +\n \"&_logicVersion=\" +\n metadataColl.DRGLogicVersion +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion +\n \"&strYear=\" +\n state.viewer.selectedVisualYear;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst initialState = {\n visualCollection: [],\n yearsCollection: [],\n status: null,\n enableTabs: false,\n tabValue: \"viewerMap\",\n selectedVisualObj: {},\n selectedVisualID: \"\",\n selectedVisualName: \"\",\n selectedVisualYear: \"\",\n visualMenuCollection: [],\n selectedSpecification: null,\n blobToDownload: null,\n selectedFileType: \"\",\n fileNotExists: false,\n view: \"SimpleView\",\n metadataCollection: null,\n isLoading: false,\n dataForGoJs: null,\n isNodeData: false,\n groupCode: \"\",\n groupCodeValue: \"\",\n subCode: \"\",\n groupcodeArray: [],\n priceArray: [],\n drgLogicID: \"\",\n egenskaberName: \"\",\n egenskaberVersion: \"\",\n sksName: \"\",\n sksVersion: \"\",\n sCode: \"\",\n dataForModalDialog: [],\n modalActive: true,\n isShowTariff: false,\n menuItems: [],\n drgTypeTree: [],\n drgSpecificationsTree: [],\n drgSearchTree: [],\n drgSelectedName: \"\",\n drgLoading: true,\n drgDataLoading: false,\n drgGroupCodeCollection: [],\n drgPriceInfoCollection: [],\n searchValue: \"\",\n regelValue: \"\",\n showDRGDiagram: false,\n showRegelDiagram: false,\n isDrgData: false,\n drgDataForGoJs: null,\n sksLoading: true,\n sksParentCollection: null,\n hasChildren: false,\n childrenCount: -1,\n sksChildrenCollection: null,\n isDRGSearch: false,\n sksSelectedId: \"\",\n sksSelectedName: \"\",\n sksMapData: null,\n sksSearchTree: [],\n isSKSSearch: false,\n showSKSTable: false,\n isSessionValid: true,\n isShowDRG: false,\n isHourGlass: false,\n isExpandedValue: \"\",\n page: 0,\n rowsPerPage: 5,\n mdcname: \"\",\n mdcversion: \"\"\n};\n\nconst viewerSlice = createSlice({\n name: \"viewer\",\n initialState,\n reducers: {\n endUserSession(state, action) {\n state.isSessionValid = false;\n },\n setSelectedVisual(state, action) {\n state.selectedVisualObj = action.payload;\n //state.enableTabs = false;\n },\n setTabValue(state, action) {\n state.tabValue = action.payload;\n state.searchValue = \"\";\n state.regelValue = \"\";\n state.selectedSpecification = null;\n state.view = \"SimpleView\";\n state.metadataCollection = null;\n state.isLoading = true;\n state.showSKSTable = false;\n state.isShowDRG = false;\n state.isDRGSearch = false;\n },\n setVisualDetails(state, action) {\n state.selectedVisualID = action.payload.id;\n state.selectedVisualName = action.payload.name;\n state.selectedVisualYear = action.payload.year;\n state.enableTabs = true;\n },\n setSelectedSpecification(state, action) {\n if (state.tabValue == \"drg\" || state.tabValue == \"skscodes\") {\n state.selectedSpecification = action.payload;\n } else {\n state.selectedSpecification = action.payload;\n if (!(\"language\" in state.selectedSpecification)) {\n state.isLoading = true;\n }\n }\n },\n setSelectedFileToDownload(state, action) {\n state.selectedFileType = action.payload;\n },\n clearValues(state, action) {\n state.selectedFileType = null;\n state.blobToDownload = null;\n },\n errorMessageClose(state, action) {\n state.fileNotExists = false;\n },\n setView(state, action) {\n state.view = action.payload;\n },\n testCall(state, action) {\n state.status = \"\";\n },\n saveCodeValues(state, { payload }) {\n state.groupCode = payload.groupCode.trim();\n state.groupCodeValue = payload.groupCodeValue;\n state.subCode = payload.subCode.trim();\n },\n setModalActive(state, { payload }) {\n state.modalActive = payload;\n },\n setDRGSelected(state, { payload }) {\n state.subCode = payload.code;\n state.drgSelectedName = payload.name;\n state.selectedSpecification = null;\n state.showDRGDiagram = false;\n state.isShowDRG = true;\n },\n setDRGLoading(state, { payload }) {\n if (payload.name == \"drgLoading\") {\n state.drgLoading = payload.value;\n } else if (payload.name == \"drgDataLoading\") {\n state.drgDataLoading = payload.value;\n } else if (payload.name == \"showDRGDiagram\") {\n state.showDRGDiagram = payload.value;\n } else if (payload.name == \"sksLoading\") {\n state.sksLoading = payload.value;\n } else if (payload.name == \"showRegelDiagram\") {\n state.showRegelDiagram = payload.value;\n state.isExpandedValue = payload.expandedValue;\n } else if (payload.name == \"drgSearch\") {\n state.isDRGSearch = payload.value;\n } else if (payload.name == \"sksSearch\") {\n state.isSKSSearch = payload.value;\n } else if (payload.name == \"showSKSTable\") {\n state.showSKSTable = payload.value;\n }\n },\n setDRGDiagramValues(state, { payload }) {\n state.view = payload.view;\n state.searchValue = payload.search;\n state.regelValue = payload.regel;\n state.showDRGDiagram = true;\n },\n setChildrenNode(state, { payload }) {\n state.hasChildren = payload;\n },\n setSKSSelected(state, { payload }) {\n state.sksSelectedId = payload.id\n state.sksSelectedName = payload.name;\n },\n setResetValues(state, action) {\n state.searchValue = \"\";\n state.regelValue = \"\";\n },\n resetSKS(state, action) {\n state.isSKSSearch = false;\n state.showSKSTable = false;\n state.showRegelDiagram = false;\n },\n setPagination(state, action) {\n state.page = parseInt(action.payload ?.page);\n state.rowsPerPage = parseInt(action.payload ?.rowsPerPage);\n },\n resetViewer: () => initialState,\n },\n extraReducers: {\n [getAllVisual.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllVisual.fulfilled]: (state, { payload }) => {\n state.visualCollection = payload;\n state.yearsCollection = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n\n state.status = \"success\";\n },\n [getAllVisual.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllVisual\", action.error.message);\n },\n [getVisualMenus.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getVisualMenus.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n const language = localStorage.getItem(\"language\");\n state.menuItems = payload;\n var tempArray = [\n {\n displayName: language == \"en\" ? \"Full Logic\" : \"Komplet logik\",\n groupName: language == \"en\" ? \"Full Logic\" : \"Komplet logik\",\n name: \"Full Logic\",\n value: language == \"en\" ? \"Full Logic\" : \"Komplet logik\",\n },\n ];\n for (let i = 0; i < payload.length; i++) {\n for (let j = 0; j < payload[i].value.length; j++) {\n tempArray.push({\n displayName: payload[i].value[j].name + \" \" + payload[i].value[j].value,\n groupName: language == \"en\" ? payload[i].name : i == 0 ? \"MDC Specifikationer\" : i == 1 ? \"Øvrige Specifikationer\" : \"Type\",\n name: payload[i].value[j].name,\n value: payload[i].value[j].value,\n });\n }\n }\n state.visualMenuCollection = tempArray;\n } else {\n state.visualMenuCollection = [];\n }\n },\n [getVisualMenus.rejected]: (state, action) => {\n state.visualMenuCollection = [];\n state.status = \"failed\";\n console.log(\"Error from getVisualMenus\", action.error.message);\n },\n [getZipFile.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getZipFile.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getZipFile:\", payload);\n if (payload.type == \"application/json\") {\n state.fileNotExists = true;\n } else {\n state.blobToDownload = payload;\n }\n },\n [getZipFile.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getZipFile\", action.error.message);\n },\n [getMetadata.pending]: (state, action) => {\n state.status = \"loading\";\n state.isLoading = true;\n },\n [getMetadata.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getMetadata:\", payload);\n state.metadataCollection = payload;\n state.isLoading = false;\n },\n [getMetadata.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getMetadata\", action.error.message);\n },\n [getNodesJSON.pending]: (state, action) => {\n state.status = \"loading\";\n state.isNodeData = false;\n },\n [getNodesJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getNodesJSON:\", payload);\n state.dataForGoJs = payload;\n state.isNodeData = true;\n },\n [getNodesJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n state.isNodeData = false;\n console.log(\"Error from getNodesJSON\", action.error.message);\n },\n [getDRGPriceJSON.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDRGPriceJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGPriceJSON:\", payload);\n var grpCodes = JSON.parse(payload);\n var count = 0;\n var priceArray = [];\n grpCodes.forEach((grp) => {\n let g = { code: grp.Code, desc: grp.Text };\n priceArray.push(g);\n });\n //console.log(\"priceArray:\", priceArray);\n state.priceArray = priceArray;\n if (state.tabValue == \"drg\") {\n state.drgPriceInfoCollection = priceArray;\n }\n //store.dispatch(getMetadataForLogicName());\n },\n [getDRGPriceJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getDRGPriceJSON\", action.error.message);\n },\n [getMetadataForLogicName.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getMetadataForLogicName.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getMetadataForLogicName:\", payload);\n state.drgLogicID = payload.id;\n state.egenskaberName = payload.egenskaberMaster.name;\n state.egenskaberVersion = payload.egenskaberMaster.version;\n state.sksName = payload.sksMaster.name;\n state.sksVersion = payload.sksMaster.version;\n state.mdcname = payload.mdcspecificationMaster.name;\n state.mdcversion = payload.mdcspecificationMaster.version;\n if (state.subCode.startsWith(\"12\")) {\n state.sCode = state.subCode.replace(\"12\", \"98\");\n } else if (state.subCode.startsWith(\"13\")) {\n state.sCode = state.subCode.replace(\"13\", \"98\");\n }\n },\n [getMetadataForLogicName.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getMetadataForLogicName\", action.error.message);\n },\n [getDRGPopUpJSON.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDRGPopUpJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGPopUpJSON:\", payload);\n\n var grpCodes = JSON.parse(payload);\n var groupcodeArray = [];\n grpCodes.forEach((grp) => {\n var links = grp.Text.split(\" / \");\n let g = { code: grp.Code, desc: grp.Text };\n groupcodeArray.push(g);\n });\n state.groupcodeArray = groupcodeArray;\n if (state.tabValue == \"drg\") {\n state.drgGroupCodeCollection = groupcodeArray;\n }\n var strData = \"\";\n if (state.groupCodeValue.trim().startsWith(\"-\")) {\n strData = state.groupCodeValue.trim().substr(1);\n } else {\n strData = state.groupCodeValue.trim();\n }\n const dataForModalDialog = {\n groupCodeHeader: state.subCode,\n groupCodeValue: strData.replace(state.subCode, \"\"),\n groupCodeInfo: state.groupcodeArray,\n priceInfo: state.priceArray,\n visualid: state.selectedVisualID,\n year: state.selectedVisualYear,\n };\n state.dataForModalDialog = dataForModalDialog;\n\n //console.log(\"dataForModalDialog:\", state.dataForModalDialog);\n },\n [getDRGPopUpJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getDRGPopUpJSON\", action.error.message);\n },\n [getMDCGroupCodeJSON.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getMDCGroupCodeJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getMDCGroupCodeJSON:\", payload);\n var grpCodes = JSON.parse(payload);\n var groupcodeArray = [];\n grpCodes.forEach((grp) => {\n let g = { code: grp.Code, desc: grp.Text };\n groupcodeArray.push(g);\n });\n state.groupcodeArray = groupcodeArray;\n var strData = \"\";\n if (state.groupCodeValue.trim().startsWith(\"-\")) {\n strData = state.groupCodeValue.trim().substr(1);\n } else {\n strData = state.groupCodeValue.trim();\n }\n const dataForModalDialog = {\n groupCodeHeader: state.subCode,\n groupCodeValue: strData.replace(state.subCode, \"\"),\n groupCodeInfo: state.groupcodeArray,\n };\n state.dataForModalDialog = dataForModalDialog;\n //console.log(\"dataForModalDialog:\", state.dataForModalDialog);\n },\n [getMDCGroupCodeJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getMDCGroupCodeJSON\", action.error.message);\n },\n [getGroupCodeJSON.pending]: (state, action) => {\n state.status = \"loading\";\n state.isHourGlass = true;\n },\n [getGroupCodeJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getGroupCodeJSON:\", payload);\n state.isHourGlass = false;\n var groupcodeArray = [];\n if (state.sCode != \"\") {\n if (payload != null && payload != [] && payload != \"[]\") {\n var grpCodes = JSON.parse(payload);\n grpCodes.forEach((grp) => {\n let g = { code: grp.Code, desc: grp.Text };\n groupcodeArray.push(g);\n });\n }\n } else {\n var grpCodes = JSON.parse(payload);\n grpCodes.forEach((grp) => {\n let g = { code: grp.Code, desc: grp.Text };\n groupcodeArray.push(g);\n });\n }\n state.groupcodeArray = groupcodeArray;\n var strData = \"\";\n if (state.groupCodeValue.trim().startsWith(\"-\")) {\n strData = state.groupCodeValue.trim().substr(1);\n } else {\n strData = state.groupCodeValue.trim();\n }\n const dataForModalDialog = {\n groupCodeHeader: state.subCode,\n groupCodeValue: strData.replace(state.subCode, \"\"),\n groupCodeInfo: state.groupcodeArray,\n };\n state.dataForModalDialog = dataForModalDialog;\n //console.log(\"dataForModalDialog:\", state.dataForModalDialog);\n },\n [getGroupCodeJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getGroupCodeJSON\", action.error.message);\n },\n [getshowTariff.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getshowTariff.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getshowTariff:\", payload);\n if (payload) {\n state.isShowTariff = payload;\n }\n },\n [getshowTariff.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getshowTariff\", action.error.message);\n },\n [getDRGTypeSpecifications.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDRGTypeSpecifications.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGTypeSpecifications:\", payload);\n if (payload) {\n state.drgTypeTree = payload.typeTree;\n state.drgSpecificationsTree = payload.specificationTree;\n }\n },\n [getDRGTypeSpecifications.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getDRGTypeSpecifications\", action.error.message);\n },\n [getDRGTypeSpecificationsSearch.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDRGTypeSpecificationsSearch.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGTypeSpecificationsSearch:\", payload);\n if (payload) {\n state.drgSearchTree = payload.specificationTree;\n }\n },\n [getDRGTypeSpecificationsSearch.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\n \"Error from getDRGTypeSpecificationsSearch\",\n action.error.message\n );\n },\n [getDRGDiagramData.pending]: (state, action) => {\n state.status = \"loading\";\n state.isDrgData = false;\n },\n [getDRGDiagramData.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGDiagramData:\", payload);\n state.drgDataForGoJs = payload;\n state.isDrgData = true;\n },\n [getDRGDiagramData.rejected]: (state, action) => {\n state.status = \"failed\";\n state.isDrgData = false;\n console.log(\"Error from getDRGDiagramData\", action.error.message);\n },\n [getAllParentSKS.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllParentSKS.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getAllParentSKS:\", payload);\n if (!state.hasChildren) {\n state.sksParentCollection = payload;\n } else {\n state.sksChildrenCollection = payload;\n }\n },\n [getAllParentSKS.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllParentSKS\", action.error.message);\n },\n [getSKSSearch.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getSKSSearch.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getSKSSearch:\", payload);\n if (payload) {\n state.sksSearchTree = payload;\n }\n },\n [getSKSSearch.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getSKSSearch\", action.error.message);\n },\n [getSKSTable.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getSKSTable.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getSKSTable:\", payload);\n if (payload) {\n state.sksMapData = payload;\n }\n },\n [getSKSTable.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getSKSTable\", action.error.message);\n },\n [getSKSCodeDiagramData.pending]: (state, action) => {\n state.status = \"loading\";\n state.isDrgData = false;\n },\n [getSKSCodeDiagramData.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getSKSCodeDiagramData:\", payload);\n state.drgDataForGoJs = payload;\n // let tempArray = [];\n // tempArray = payload;\n // if (state.drgDataForGoJs != null) {\n // state.drgDataForGoJs.push(tempArray);\n // } else {\n // state.drgDataForGoJs = payload; \n // }\n state.isDrgData = true;\n },\n [getSKSCodeDiagramData.rejected]: (state, action) => {\n state.status = \"failed\";\n state.isDrgData = false;\n console.log(\"Error from getSKSCodeDiagramData\", action.error.message);\n },\n },\n});\n\nexport const {\n setSelectedVisual,\n setTabValue,\n setVisualDetails,\n setSelectedSpecification,\n setSelectedFileToDownload,\n clearValues,\n errorMessageClose,\n setView,\n testCall,\n saveCodeValues,\n setModalActive,\n setDRGSelected,\n setDRGLoading,\n setDRGDiagramValues,\n setChildrenNode,\n setSKSSelected,\n endUserSession,\n setResetValues,\n resetSKS,\n resetViewer,\n setPagination,\n} = viewerSlice.actions;\nexport default viewerSlice.reducer;\n","import { createSlice, createAsyncThunk, current } from \"@reduxjs/toolkit\";\nimport { saveAs } from \"file-saver\";\n\nexport const loadlogic = createAsyncThunk(\n \"manager/loadlogic\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const upload = createAsyncThunk(\n \"manager/upload\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.body = obj.body;\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const remove = createAsyncThunk(\n \"manager/remove\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const download = createAsyncThunk(\n \"manager/download\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.blob();\n }\n });\n }\n);\n\nexport const getRoles = createAsyncThunk(\n \"manager/getRoles\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"api/Registration/GetRoles\", reqOptions).then((r) => {\n if (r.status === 200) {\n dispatch(loadUsers({ method: \"GET\" }));\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadUsers = createAsyncThunk(\n \"manager/loadUsers\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"home/api/GetUsers\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const saveUsers = createAsyncThunk(\n \"manager/saveUsers\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const saveLogic = createAsyncThunk(\n \"manager/saveLogic\",\n async (obj, { dispatch, getState, state }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n // console.log(r);\n // const { isDRG } = getState().manager;\n // if (r.status === 200 && isDRG) {\n // dispatch(setDrgAddLogic());\n // }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const exportLogic = createAsyncThunk(\n \"manager/exportLogic\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.blob();\n }\n });\n }\n);\n\nexport const GetAllDRGLogics = createAsyncThunk(\n \"manager/GetAllDRGLogics\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetUpdatedDRGLogic = createAsyncThunk(\n \"manager/GetUpdatedDRGLogic\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadtill = createAsyncThunk(\n \"manager/loadtill\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 200) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(loaddg1({ method: \"GET\", url: url + \"dg1.csv\" }));\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loaddg1 = createAsyncThunk(\n \"manager/loaddg1\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 200) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(loaddrglogik({ method: \"GET\", url: url + \"drglogik.csv\" }));\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loaddrglogik = createAsyncThunk(\n \"manager/loaddrglogik\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 200) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(loaddrgtpt({ method: \"GET\", url: url + \"drgtpt.csv\" }));\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loaddrgtpt = createAsyncThunk(\n \"manager/loaddrgtpt\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 200) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(\n loadCountingCode({ method: \"GET\", url: url + \"CountingCode.yaml\" })\n );\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadCountingCode = createAsyncThunk(\n \"manager/loadCountingCode\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 200) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(\n loadegenskaber({ method: \"GET\", url: url + \"egenskaber.csv\" })\n );\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadegenskaber = createAsyncThunk(\n \"manager/loadegenskaber\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 200) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(loadsks({ method: \"GET\", url: url + \"sks.csv\" }));\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadsks = createAsyncThunk(\n \"manager/loadsks\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 200) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(\n loadMDCSpecification({\n method: \"GET\",\n url: url + \"MDCSpecification.yaml\",\n })\n );\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadMDCSpecification = createAsyncThunk(\n \"manager/loadMDCSpecification\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadDrg = createAsyncThunk(\n \"manager/loadDrg\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 200) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(\n loadcasemixDRG({ method: \"GET\", url: url + \"casemixDRG.csv\" })\n );\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadcasemixDRG = createAsyncThunk(\n \"manager/loadcasemixDRG\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const SaveSubList = createAsyncThunk(\n \"manager/SaveSubList\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const DeleteDRGSubList = createAsyncThunk(\n \"manager/DeleteDRGSubList\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetAllGrouperDetails = createAsyncThunk(\n \"manager/GetAllGrouperDetails\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n const token = localStorage.getItem(\"token\");\n console.log(token);\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n const { isGInteractive } = getState().manager;\n if (r.status === 200 && isGInteractive) {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(\n loadinternekoder({ method: \"GET\", url: url + \"interne%20koder.yaml\" })\n );\n }\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetUpdatedGrouper = createAsyncThunk(\n \"manager/GetUpdatedGrouper\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n const token = localStorage.getItem(\"token\");\n console.log(token);\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n const { isGInteractive } = getState().manager;\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GGrouper = createAsyncThunk(\n \"manager/GGrouper\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.blob();\n }\n });\n }\n);\n\nexport const UpdateGrouper = createAsyncThunk(\n \"manager/UpdateGrouper\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const DeleteGrouperSublist = createAsyncThunk(\n \"manager/DeleteGrouperSublist\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetAllInteractiveDetails = createAsyncThunk(\n \"manager/GetAllInteractiveDetails\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n const token = localStorage.getItem(\"token\");\n console.log(token);\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetUpdatedInteractive = createAsyncThunk(\n \"manager/GetUpdatedInteractive\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n const token = localStorage.getItem(\"token\");\n console.log(token);\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const loadinternekoder = createAsyncThunk(\n \"manager/loadinternekoder\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GInteractive = createAsyncThunk(\n \"manager/GInteractive\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const UpdateInteractive = createAsyncThunk(\n \"manager/UpdateInteractive\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const DeleteInteractiveSublist = createAsyncThunk(\n \"manager/DeleteInteractiveSublist\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetAllViewerDetails = createAsyncThunk(\n \"manager/GetAllViewerDetails\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n const token = localStorage.getItem(\"token\");\n console.log(token);\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetUpdatedVisual = createAsyncThunk(\n \"manager/GetUpdatedVisual\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n const token = localStorage.getItem(\"token\");\n console.log(token);\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GViewer = createAsyncThunk(\n \"manager/GViewer\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const UpdateViewer = createAsyncThunk(\n \"manager/UpdateViewer\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const DeleteVisualSublist = createAsyncThunk(\n \"manager/DeleteVisualSublist\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const DeleteMDCSpecs = createAsyncThunk(\n \"manager/DeleteMDCSpecs\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst managerSlice = createSlice({\n name: \"manager\",\n initialState: {\n isInitialLoadAPI: false,\n isLoadAPIs: false,\n isClinicalCode: false,\n isCasemixFile: false,\n isSupportFile: false,\n isDRG: false,\n isDrgRender: false,\n isDRGLogic: [],\n isGetAllDRGLogicsLoaded: false,\n isGetAllDRGLogicsRender: false,\n DrgUsers: [],\n DrgUsersMaster: [],\n isdrgLogicUsers: [],\n isGGrouper: false,\n isGGrouperRender: false,\n isGGrouperLogic: [],\n isGInteractive: false,\n isGInteractiveRender: false,\n isGInteractiveCheckGrouper: false,\n isGInteractiveLogic: [],\n isGViewer: false,\n isGViewerRender: false,\n isGInteractiveCheckInterkoder: false,\n isGViewerLogic: [],\n data: [],\n isNoData: false,\n selectedGrpCodeValue: \"\",\n selectedYear: \"\",\n distinctUploadYear: [],\n selectedUploadYear: \"\",\n filterdata: [],\n masterfilterdata: [],\n roles: [],\n allDrgLogicList: [],\n selDrgLogicList: [],\n selFileType: \"\",\n selFileDetails: [],\n isTillMaster: [],\n isTill: [],\n isDg1Master: [],\n isDg1: [],\n isDrglogikMaster: [],\n isDrglogik: [],\n isDrgtptMaster: [],\n isDrgtpt: [],\n isCountingCodeMaster: [],\n isCountingCode: [],\n isEgenskaberMaster: [],\n isEgenskaber: [],\n isSksMaster: [],\n isSks: [],\n isDrgMaster: [],\n isDrg: [],\n isCasemixDRGMaster: [],\n isCasemixDRG: [],\n isGrouperMaster: [],\n isGrouper: [],\n isInternekoderMaster: [],\n isInternekoder: [],\n isLoading: false,\n isSuccess: false,\n isFailed: false,\n isError: false,\n isServerError: false,\n isRender: true,\n isUploadSuccess: false,\n isUploadFailed: false,\n isRemoveSuccess: false,\n isRemoveFailed: false,\n isUploadError: false,\n isRemoveError: false,\n isGenerateSuccess: false,\n isFileExist: false,\n isIvalidFile: false,\n isEmptyFile: false,\n isSaveUsersSuccess: false,\n isSaveUsersFailed: false,\n isSaveLogicSuccess: false,\n isSaveLogicFailed: false,\n isSaveSubListSuccess: false,\n isRemoveSubListSuccess: false,\n isRemoveSubListFailed: false,\n isGSaveLogicFailed: false,\n isGGrouperCheck: false,\n isGGrouperError: false,\n isDownloadError: false,\n isUploadxlsx: false,\n isEditLogicInfo: false,\n isSessionValid: true,\n isUploadPDF: false,\n isExpanded: [],\n isDisabled: true,\n isDrgDataAdded: false,\n isDrgDataRemoved: false,\n isGGrouperDataAdded: false,\n isGGrouperDataRemoved: false,\n isGInteractiveDataAdded: false,\n isGInteractiveDataRemoved: false,\n isGViewerDataAdded: false,\n isGViewerDataRemoved: false,\n isDrgUsersUpdated: false,\n isGrouperLogicRender: false,\n isDrgLogicRender: false,\n isInteractiveLogicRender: false,\n isViewerLogicRender: false,\n isGViewerDataRemoved: false,\n isMDCSpecificationMaster: [],\n isMDCSpecification: [],\n viewerTariffFlag: false,\n grouperTariffFlag: false,\n },\n reducers: {\n endUserSession(state, action) {\n state.isSessionValid = false;\n },\n clearMangerStatus(state, action) {\n state.isClinicalCode = false;\n state.isCasemixFile = false;\n state.isSupportFile = false;\n state.isDRG = false;\n state.isGGrouper = false;\n state.isGInteractive = false;\n state.isGViewer = false;\n },\n setIsRender(state, action) {\n state.isRender = true;\n },\n setIsGetAllDRGLogicsLoaded(state, action) {\n state.isGetAllDRGLogicsLoaded = false;\n state.isGetAllDRGLogicsRender = false;\n },\n setIsDrgDataUpdated(state, action) {\n state.isDrgDataAdded = action.payload;\n },\n setIsDrgRender(state, action) {\n state.isDrgRender = action.payload;\n },\n setIsGGrouperDataUpdated(state, action) {\n state.isGGrouperDataAdded = action.payload;\n },\n setIsGGrouperDataRemoved(state, action) {\n state.isGGrouperDataRemoved = action.payload;\n },\n setIsGInteractiveDataUpdated(state, action) {\n state.isGInteractiveDataAdded = action.payload;\n },\n setIsGInteractiveDataRemoved(state, action) {\n state.isGInteractiveDataRemoved = action.payload;\n },\n setIsGViewerDataUpdated(state, action) {\n state.isGViewerDataAdded = action.payload;\n },\n setIsGViewerDataRemoved(state, action) {\n state.isGViewerDataRemoved = action.payload;\n },\n setIsClinicalCode(state, action) {\n state.isClinicalCode = true;\n state.isRender = true;\n state.isCasemixFile = false;\n state.isSupportFile = false;\n state.isDRG = false;\n state.isGGrouper = false;\n state.isGInteractive = false;\n state.isGViewer = false;\n state.selectedGrpCodeValue = \"\";\n },\n setIsCasemixFile(state, action) {\n state.isCasemixFile = true;\n state.isRender = true;\n state.isClinicalCode = false;\n state.isSupportFile = false;\n state.isDRG = false;\n state.isGGrouper = false;\n state.isGInteractive = false;\n state.isGViewer = false;\n state.selectedGrpCodeValue = \"\";\n },\n setIsSupportFile(state, action) {\n state.isSupportFile = true;\n state.isRender = true;\n state.isClinicalCode = false;\n state.isCasemixFile = false;\n state.isDRG = false;\n state.isGGrouper = false;\n state.isGInteractive = false;\n state.isGViewer = false;\n state.selectedGrpCodeValue = \"\";\n },\n setIsDRG(state, action) {\n state.isDRG = true;\n state.isInitialLoadAPI = false;\n state.isRender = true;\n state.isDrgRender = false;\n state.isGetAllDRGLogicsLoaded = false;\n state.isDRGLogic = [];\n state.isClinicalCode = false;\n state.isCasemixFile = false;\n state.isSupportFile = false;\n state.isGGrouper = false;\n state.isGInteractive = false;\n state.isGViewer = false;\n state.selectedYear = \"\";\n state.data = [];\n state.isNoData = false;\n state.filterdata = [];\n state.masterfilterdata = [];\n state.selFileType = \"\";\n state.selFileDetails = [];\n state.allDrgLogicList = [];\n state.selDrgLogicList = [];\n },\n setIsGGrouper(state, action) {\n state.isGGrouper = true;\n state.isInitialLoadAPI = false;\n state.isRender = true;\n state.isGGrouperLogic = [];\n state.data = [];\n state.isNoData = false;\n state.filterdata = [];\n state.masterfilterdata = [];\n state.selectedYear = \"\";\n state.selectedUploadYear = \"\";\n state.selFileType = \"\";\n state.selFileDetails = [];\n state.isClinicalCode = false;\n state.isCasemixFile = false;\n state.isSupportFile = false;\n state.isDRG = false;\n state.isGInteractive = false;\n state.isGViewer = false;\n state.isDrgRender = false;\n state.isGetAllDRGLogicsLoaded = false;\n state.isDRGLogic = [];\n state.isDrgMaster = [];\n state.isCasemixDRGMaster = [];\n },\n setIsGInteractive(state, action) {\n state.isGInteractive = true;\n state.isInitialLoadAPI = false;\n state.isRender = true;\n state.isGInteractiveLogic = [];\n state.data = [];\n state.isNoData = false;\n state.filterdata = [];\n state.masterfilterdata = [];\n state.selectedYear = \"\";\n state.selectedUploadYear = \"\";\n state.selFileType = \"\";\n state.selFileDetails = [];\n state.isClinicalCode = false;\n state.isCasemixFile = false;\n state.isSupportFile = false;\n state.isDRG = false;\n state.isGGrouper = false;\n state.isGViewer = false;\n state.isDrgRender = false;\n state.isGetAllDRGLogicsLoaded = false;\n state.isDRGLogic = [];\n state.isGrouperMaster = [];\n state.isGrouper = [];\n },\n setIsGViewer(state, action) {\n state.isGViewer = true;\n state.isInitialLoadAPI = false;\n state.isRender = true;\n state.isGViewerLogic = [];\n state.data = [];\n state.isNoData = false;\n state.filterdata = [];\n state.masterfilterdata = [];\n state.selectedYear = \"\";\n state.selectedUploadYear = \"\";\n state.selFileType = \"\";\n state.selFileDetails = [];\n state.isClinicalCode = false;\n state.isCasemixFile = false;\n state.isSupportFile = false;\n state.isDRG = false;\n state.isGGrouper = false;\n state.isGInteractive = false;\n state.isDrgRender = false;\n state.isGetAllDRGLogicsLoaded = false;\n state.isDRGLogic = [];\n state.isGrouperMaster = [];\n state.isGrouper = [];\n },\n setIsGGrouperCheck(state, action) {\n state.isGGrouperCheck = true;\n state.isFailed = true;\n },\n setSelectedGrpCodeValue(state, action) {\n state.selectedGrpCodeValue = action.payload;\n },\n setIsDrgDataRemoved(state, action) {\n state.isDrgDataRemoved = action.payload;\n },\n setIsDRGLogic(state, action) {\n state.isDRGLogic = state.masterfilterdata.filter(\n (data) => data._id == action.payload\n );\n state.isDrgRender = false;\n state.selDrgLogicList = [];\n console.log(state.isDRGLogic);\n if (state.isDRGLogic != null && state.isDRGLogic.length > 0) {\n //state.isdrgLogicUsers = state.isDRGLogic[0].users;\n const DrgList = [];\n const selDrgLogic = state.allDrgLogicList.filter(\n (x) => x.id == state.isDRGLogic[0]._id\n )[0];\n console.log(selDrgLogic);\n if (selDrgLogic) {\n state.isdrgLogicUsers = selDrgLogic.users;\n var propertyList = Object.getOwnPropertyNames(selDrgLogic);\n console.log(propertyList);\n var newlist = propertyList.filter(\n (a) => a.endsWith(\"Master\") || a.includes(\"mdcSpecsAdded\")\n );\n console.log(newlist);\n console.log(selDrgLogic);\n newlist.forEach((element) => {\n var data = selDrgLogic[element];\n if (data != null) {\n if (element == \"mdcSpecsAdded\" && data == true) {\n DrgList.push({ name: \"MdcSpecification\" });\n } else if (element != \"mdcSpecsAdded\") {\n var splitted = element.split(\"Master\");\n data.type = splitted[0];\n DrgList.push(data);\n }\n }\n });\n }\n\n state.selDrgLogicList = DrgList;\n }\n console.log(state.drgLogicUsers);\n console.log(state.selDrgLogicList);\n },\n setDrgAddLogic(state, action) {\n state.isLoading = false;\n state.isSuccess = true;\n state.isSaveLogicSuccess = true;\n state.isRender = true;\n state.isDRGLogic = [];\n state.isGetAllDRGLogicsRender = true;\n },\n setDrgUsers(state, action) {\n state.DrgUsers = action.payload;\n },\n setIsDRGLogicUsers(state, action) {\n state.isdrgLogicUsers = action.payload;\n },\n setMasterFilterData(state, action) {\n state.masterfilterdata = action.payload;\n },\n setFilterData(state, action) {\n state.filterdata = action.payload;\n },\n setSelectedUploadYear(state, action) {\n state.selectedUploadYear = action.payload;\n console.log(state.selectedUploadYear);\n },\n setSelectedYear(state, action) {\n state.selectedYear = action.payload;\n },\n setEditLogicInfo(state, action) {\n state.isFailed = true;\n state.isEditLogicInfo = true;\n },\n clearStatus(state, action) {\n state.isSuccess = false;\n state.isFailed = false;\n state.isError = false;\n state.isServerError = false;\n state.isUploadSuccess = false;\n state.isUploadFailed = false;\n state.isRemoveSuccess = false;\n state.isRemoveFailed = false;\n state.isUploadError = false;\n state.isRemoveError = false;\n state.isGenerateSuccess = false;\n state.isFileExist = false;\n state.isIvalidFile = false;\n state.isEmptyFile = false;\n state.isSaveUsersSuccess = false;\n state.isSaveUsersFailed = false;\n state.isSaveLogicSuccess = false;\n state.isSaveLogicFailed = false;\n state.isSaveSubListSuccess = false;\n state.isGSaveLogicFailed = false;\n state.isGGrouperCheck = false;\n state.isDownloadError = false;\n state.isRemoveSubListSuccess = false;\n state.isRemoveSubListFailed = false;\n state.isUploadxlsx = false;\n state.isEditLogicInfo = false;\n state.isGInteractiveCheckGrouper = false;\n state.isGInteractiveCheckInterkoder = false;\n state.isUploadPDF = false;\n },\n setSelFileType(state, action) {\n state.selFileType = action.payload;\n console.log(state.selFileType);\n },\n setExpanded(state, action) {\n state.isExpanded = action.payload;\n console.log(state.isExpanded);\n },\n setIsDisabled(state, action) {\n state.isDisabled = action.payload;\n },\n setSelFileDetails(state, action) {\n state.selFileDetails = action.payload;\n console.log(state.selFileDetails);\n },\n /* DRG: Start Initial API's load */\n setIsTill(state, action) {\n state.isTill = action.payload;\n console.log(state.isTill);\n },\n setIsDg1(state, action) {\n state.isDg1 = action.payload;\n console.log(state.isDg1);\n },\n setIsDrglogik(state, action) {\n state.isDrglogik = action.payload;\n console.log(state.isDrglogik);\n },\n setIsDrgtpt(state, action) {\n state.isDrgtpt = action.payload;\n console.log(state.isDrgtpt);\n },\n setIsCountingCode(state, action) {\n state.isCountingCode = action.payload;\n console.log(state.isCountingCode);\n },\n setIsEgenskaber(state, action) {\n state.isEgenskaber = action.payload;\n console.log(state.isEgenskaber);\n },\n setIsSks(state, action) {\n state.isSks = action.payload;\n console.log(state.isSks);\n },\n setIsMDCSpecification(state, action) {\n state.isMDCSpecification = action.payload;\n console.log(state.isMDCSpecification);\n },\n /* DRG: End Initial API's load */\n setIsDrg(state, action) {\n state.isDrg = action.payload;\n console.log(state.isDrg);\n },\n setIsCasemixDRG(state, action) {\n state.isCasemixDRG = action.payload;\n console.log(state.isCasemixDRG);\n },\n setIsGGrouperLogic(state, action) {\n state.isGGrouperLogic = state.masterfilterdata.filter(\n (data) => data.id == action.payload\n );\n },\n setDefaultIsGrouperLogic(state, action) {\n let result = [];\n let last = state.filterdata.length - 1;\n result[0] = state.filterdata[last];\n state.isGGrouperLogic = Array.from(result);\n },\n setDefaultIsDrgLogic(state, action) {\n let result = [];\n let last = state.filterdata.length - 1;\n result[0] = state.filterdata[last];\n state.isDRGLogic = Array.from(result);\n state.selDrgLogicList = [];\n if (state.isDRGLogic != null && state.isDRGLogic.length > 0) {\n const DrgList = [];\n const selDrgLogic = state.allDrgLogicList.filter(\n (x) => x.id == state.isDRGLogic[0]._id\n )[0];\n if (selDrgLogic) {\n state.isdrgLogicUsers = selDrgLogic.users;\n var propertyList = Object.getOwnPropertyNames(selDrgLogic);\n console.log(propertyList);\n var newlist = propertyList.filter(\n (a) => a.endsWith(\"Master\") || a.includes(\"mdcSpecsAdded\")\n );\n newlist.forEach((element) => {\n var data = selDrgLogic[element];\n if (data != null) {\n if (element == \"mdcSpecsAdded\" && data == true) {\n DrgList.push({ name: \"MdcSpecification\" });\n } else if (element != \"mdcSpecsAdded\") {\n var splitted = element.split(\"Master\");\n data.type = splitted[0];\n DrgList.push(data);\n }\n }\n });\n }\n\n state.selDrgLogicList = DrgList;\n }\n },\n setDefaultIsInteractiveLogic(state, action) {\n let result = [];\n let last = state.filterdata.length - 1;\n result[0] = state.filterdata[last];\n state.isGInteractiveLogic = Array.from(result);\n },\n setDefaultIsViewerLogic(state, action) {\n let result = [];\n let last = state.filterdata.length - 1;\n result[0] = state.filterdata[last];\n state.isGViewerLogic = Array.from(result);\n },\n setIsGGrouperLogicTariff(state, action) {\n state.isGGrouperLogic = action.payload;\n state.grouperTariffFlag = true;\n },\n setGGrouperTariffFlag(state, action) {\n state.grouperTariffFlag = false;\n },\n setIsGGrouperRender(state, action) {\n state.isGGrouperRender = false;\n },\n /* GInteractive: Start */\n setIsGInteractiveLogic(state, action) {\n state.isGInteractiveLogic = state.masterfilterdata.filter(\n (data) => data.id == action.payload\n );\n },\n setIsGInteractiveRender(state, action) {\n state.isGInteractiveRender = false;\n },\n setIsGInteractiveCheck(state, action) {\n if (action.payload?.method == \"CheckGrouper\") {\n state.isGInteractiveCheckGrouper = true;\n state.isFailed = true;\n } else if (action.payload?.method == \"CheckInterkoder\") {\n state.isFailed = true;\n state.isGInteractiveCheckInterkoder = true;\n }\n },\n setIsGInteractiveLogicTariff(state, action) {\n state.isGInteractiveLogic = action.payload;\n state.interactiveTariffFlag = true;\n },\n setGInteractiveTariffFlag(state, action) {\n state.interactiveTariffFlag = false;\n },\n /* GInteractive: End */\n /* GInteractive: Start Initial API's load */\n setIsGrouper(state, action) {\n state.isGrouper = action.payload;\n },\n setIsInternekoder(state, action) {\n state.isInternekoder = action.payload;\n },\n /* GInteractive: End Initial API's load */\n /* GViewer: Start */\n setIsGViewerLogic(state, action) {\n state.isGViewerLogic = state.masterfilterdata.filter(\n (data) => data.id == action.payload\n );\n },\n setIsGViewerRender(state, action) {\n state.isGViewerRender = false;\n },\n setIsGViewerCheck(state, action) {\n state.isGViewerCheck = true;\n state.isFailed = true;\n },\n setIsGViewerLogicTariff(state, action) {\n state.isGViewerLogic = action.payload;\n state.viewerTariffFlag = true;\n },\n setGViewerTariffFlag(state, action) {\n state.viewerTariffFlag = false;\n },\n /* GViewer: Start */\n },\n extraReducers: {\n [loadlogic.pending]: (state, action) => {\n state.isLoading = true;\n },\n [loadlogic.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n state.isRender = false;\n if (payload != null && payload.length > 0) {\n state.isNoData = false;\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.data = payload;\n state.distinctUploadYear = payload\n .map((item) => item.Year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n if (!state.distinctUploadYear.includes(state.selectedYear)) {\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.distinctUploadYear.includes(JSON.stringify(upcomingYear))) {\n state.selectedYear = JSON.stringify(upcomingYear);\n } else if (\n state.distinctUploadYear.includes(JSON.stringify(currentYear))\n ) {\n state.selectedYear = JSON.stringify(currentYear);\n } else if (\n state.distinctUploadYear.includes(JSON.stringify(previousYear))\n ) {\n state.selectedYear = JSON.stringify(previousYear);\n } else {\n state.selectedYear =\n state.distinctUploadYear[state.distinctUploadYear.length - 1];\n }\n state.filterdata = payload.filter(\n (item) => item.Year == state.selectedYear\n );\n } else if (\n state.distinctUploadYear.includes(state.selectedUploadYear)\n ) {\n state.selectedYear = state.selectedUploadYear;\n state.filterdata = payload.filter(\n (item) => item.Year == state.selectedYear\n );\n state.selectedUploadYear = \"\";\n if (state.isDRG) {\n // let result = [];\n // let last = state.filterdata.length - 1;\n // result[0] = state.filterdata[last];\n // state.isDRGLogic = Array.from(result);\n state.isDrgDataAdded = true;\n }\n } else {\n state.filterdata = payload.filter(\n (item) => item.Year == state.selectedYear\n );\n }\n state.masterfilterdata = state.filterdata;\n if (state.isDRG) {\n state.isTill = state.isTillMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n state.isDg1 = state.isDg1Master.filter(\n (item) => item.Year == state.selectedYear\n );\n state.isDrglogik = state.isDrglogikMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n state.isDrgtpt = state.isDrgtptMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n state.isCountingCode = state.isCountingCodeMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n state.isEgenskaber = state.isEgenskaberMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n state.isSks = state.isSksMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n state.isMDCSpecification = state.isMDCSpecificationMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n }\n if (state.isDRG && state.isDRGLogic.length <= 0) {\n // let result = [];\n // result[0] = state.masterfilterdata[0];\n // state.isDRGLogic = Array.from(result);\n state.isDrgRender = false;\n } else if (state.isDRG) {\n state.isDrgRender = true;\n }\n } else {\n state.isNoData = true;\n }\n },\n [loadlogic.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from loadLogic\", action.error.message);\n },\n [upload.pending]: (state, action) => {\n state.isLoading = true;\n },\n [upload.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload.indexOf(\"Upload Successful\") >= 0) {\n state.isSuccess = true;\n state.isUploadSuccess = true;\n state.isRender = true;\n state.isGetAllDRGLogicsRender = true;\n } else if (payload == \"File exists.\") {\n state.isFailed = true;\n state.isFileExist = true;\n } else if (payload.indexOf(\"Invalid file\") >= 0) {\n state.isFailed = true;\n state.isIvalidFile = true;\n } else if (payload == \"Upload Failed\") {\n state.isError = true;\n state.isUploadFailed = true;\n } else if (payload == \"Empty File\") {\n state.isFailed = true;\n state.isEmptyFile = true;\n } else if (payload == \"Error Occured\") {\n state.isUploadError = true;\n state.isError = true;\n } else if (payload == \"Upload xlsx file only.\") {\n state.isFailed = true;\n state.isUploadxlsx = true;\n } else if (payload == \"Upload PDF\") {\n state.isFailed = true;\n state.isUploadPDF = true;\n } else {\n state.isError = true;\n state.isServerError = true;\n }\n },\n [upload.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from uploadLogic\", action.error.message);\n },\n [remove.pending]: (state, action) => {\n state.isLoading = true;\n },\n [remove.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload != null && payload == true) {\n state.isSuccess = true;\n state.isRemoveSuccess = true;\n state.isRender = true;\n state.isDRGLogic = [];\n state.isGGrouperLogic = [];\n state.isGInteractiveLogic = [];\n state.isGViewerLogic = [];\n\n if (state.isDrg) {\n state.isDrgDataRemoved = true;\n } else if (state.isGGrouper) {\n state.isGGrouperDataRemoved = true;\n } else if (state.isGInteractive) {\n state.isGInteractiveDataRemoved = true;\n } else if (state.isGViewer) {\n state.isGViewerDataRemoved = true;\n }\n } else if (payload != null && payload == false) {\n state.isFailed = true;\n state.isRemoveFailed = true;\n } else {\n state.isError = true;\n state.isServerError = true;\n }\n },\n [remove.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from removeLogic\", action.error.message);\n },\n [download.pending]: (state, action) => {\n state.regStatus = \"loading\";\n },\n [download.fulfilled]: (state, { payload }) => {\n if (payload.type == \"application/json\") {\n console.log(\"Error in downloading\");\n state.isError = true;\n state.isDownloadError = true;\n } else if (payload.type == \"application/octet-stream\") {\n saveAs(payload, state.selectedGrpCodeValue);\n } else {\n state.isError = true;\n state.isServerError = true;\n }\n },\n [download.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error in downloadFile\", action.error.message);\n },\n /* Manager Common: Start */\n [getRoles.pending]: (state, action) => {},\n [getRoles.fulfilled]: (state, { payload }) => {\n state.roles = payload;\n },\n [getRoles.rejected]: (state, action) => {\n console.log(\"Error from getRoles\", action.error.message);\n },\n [loadUsers.pending]: (state, action) => {},\n [loadUsers.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n let data = payload;\n let nonAdminUsers = [];\n for (let i = 0; i < data.length; i++) {\n if (data[i].role != null) {\n var role = state.roles.filter((a) => a.id == data[i][\"role\"][0]);\n if (role.length > 0) {\n data[i].RoleName = role[0][\"roleName\"];\n } else {\n data[i].RoleName = \"No role assigned\";\n }\n } else {\n data[i].RoleName = \"No role assigned\";\n }\n }\n data.filter(function (element) {\n if (element.hasOwnProperty(\"role\")) {\n if (element.role != null) {\n if (element.role.length > 0) {\n if (\n !element.role.includes(1) &&\n !element.role.includes(4) &&\n element?.active != 0\n ) {\n nonAdminUsers.push(element);\n }\n }\n }\n }\n });\n state.DrgUsers = nonAdminUsers;\n state.DrgUsersMaster = state.DrgUsers;\n }\n },\n [loadUsers.rejected]: (state, action) => {\n console.log(\"Error in loadUsers\", action.error.message);\n },\n /* Manager Common: End */\n /* DRG: Start */\n [saveUsers.pending]: (state, action) => {},\n [saveUsers.fulfilled]: (state, { payload }) => {\n console.log(payload);\n if (payload != null && payload == true) {\n //state.isRender = true;\n state.isSuccess = true;\n state.isSaveUsersSuccess = true;\n state.isDrgLogicRender = !state.isDrgLogicRender;\n // state.isDrgDataAdded=true;\n } else {\n state.isFailed = true;\n state.isSaveUsersFailed = true;\n }\n },\n [saveUsers.rejected]: (state, action) => {\n console.log(\"Error from saveUsers\", action.error.message);\n },\n [saveLogic.pending]: (state, action) => {\n console.log(action);\n state.isLoading = true;\n },\n [saveLogic.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (state.isDRG) {\n if (payload == \"Success\") {\n state.isLoading = false;\n state.isSuccess = true;\n state.isSaveLogicSuccess = true;\n state.isRender = true;\n state.isDRGLogic = [];\n state.isGetAllDRGLogicsRender = true;\n } else if (payload == \"logic exists.\") {\n state.isFailed = true;\n state.isSaveLogicFailed = true;\n }\n } else {\n if (payload == true) {\n state.isSuccess = true;\n state.isSaveLogicSuccess = true;\n state.isRender = true;\n state.isGGrouperLogic = [];\n state.isGInteractiveLogic = [];\n state.isGViewerLogic = [];\n } else if (payload == false) {\n state.isFailed = true;\n state.isGSaveLogicFailed = true;\n }\n }\n /* End: GGrouper Logic response */\n },\n [saveLogic.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(action);\n },\n [exportLogic.pending]: (state, action) => {\n state.isLoading = true;\n },\n [exportLogic.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload.type == \"application/json\") {\n console.log(\"Error from exportLogic\");\n } else if (payload.type == \"application/octet-stream\") {\n saveAs(payload, state.isDRGLogic[0].Name + \".zip\");\n }\n },\n [exportLogic.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from exportLogic\", action.error.message);\n },\n [GetUpdatedDRGLogic.pending]: (state, action) => {},\n [GetUpdatedDRGLogic.fulfilled]: (state, { payload }) => {\n if (payload != null) {\n state.allDrgLogicList = state.allDrgLogicList.map((u) =>\n u.id !== payload.id ? u : payload\n );\n\n const DrgList = [];\n var propertyList = Object.getOwnPropertyNames(payload);\n console.log(propertyList);\n var newlist = propertyList.filter(\n (a) => a.endsWith(\"Master\") || a.includes(\"mdcSpecsAdded\")\n );\n console.log(newlist);\n newlist.forEach((element) => {\n var data = payload[element];\n if (data != null) {\n if (element == \"mdcSpecsAdded\" && data == true) {\n DrgList.push({ name: \"MdcSpecification\" });\n } else if (element != \"mdcSpecsAdded\") {\n var splitted = element.split(\"Master\");\n data.type = splitted[0];\n DrgList.push(data);\n }\n }\n });\n state.selDrgLogicList = DrgList;\n state.isdrgLogicUsers = payload.users;\n // state.isSaveSubListSuccess=false;\n // state.isSaveUsersSuccess=false;\n // state.isRemoveSubListSuccess=false;\n state.isDrgUsersUpdated = !state.isDrgUsersUpdated;\n }\n },\n [GetUpdatedDRGLogic.rejected]: (state, action) => {\n console.log(\"Error from GetUpdatedDRGLogic\", action.error.message);\n },\n [GetAllDRGLogics.pending]: (state, action) => {},\n [GetAllDRGLogics.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n state.allDrgLogicList = payload;\n state.isGetAllDRGLogicsLoaded = true;\n state.isInitialLoadAPI = false;\n }\n },\n [GetAllDRGLogics.rejected]: (state, action) => {\n console.log(\"Error from GetAllDRGLogics\", action.error.message);\n },\n [SaveSubList.pending]: (state, action) => {\n state.isLoading = true;\n },\n [SaveSubList.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n console.log(payload);\n if (payload) {\n state.isSuccess = true;\n state.isSaveSubListSuccess = true;\n state.isDrgLogicRender = !state.isDrgLogicRender;\n //state.isRender = true;\n // state.isGetAllDRGLogicsRender = true;\n //state.isDrgDataAdded=true;\n }\n },\n [SaveSubList.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from SaveSubList\", action.error.message);\n },\n [DeleteDRGSubList.pending]: (state, action) => {\n state.isLoading = true;\n },\n [DeleteDRGSubList.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload) {\n state.isSuccess = true;\n state.isRemoveSubListSuccess = true;\n state.isDrgLogicRender = !state.isDrgLogicRender;\n //state.isRender = true;\n // state.isGetAllDRGLogicsRender = true;\n // state.isDrgDataAdded=true;\n } else {\n state.isFailed = true;\n state.isRemoveSubListFailed = true;\n }\n },\n [DeleteDRGSubList.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from DeleteDRGSubList\", action.error.message);\n },\n [DeleteMDCSpecs.pending]: (state, action) => {\n state.isLoading = true;\n },\n [DeleteMDCSpecs.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload == \"MDC file Deleted Successful\") {\n state.isSuccess = true;\n state.isRemoveSubListSuccess = true;\n state.isDrgLogicRender = !state.isDrgLogicRender;\n // state.isRender = true;\n // state.isGetAllDRGLogicsRender = true;\n // state.isDrgDataAdded=true;\n } else {\n state.isFailed = true;\n state.isRemoveSubListFailed = true;\n }\n },\n [DeleteMDCSpecs.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from DeleteMDCSpecs\", action.error.message);\n },\n /* DRG: End */\n /* DRG: Start Initial API's load */\n [loadtill.pending]: (state, action) => {\n state.isLoading = true;\n },\n [loadtill.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.isTillMaster = payload;\n }\n },\n [loadtill.rejected]: (state, action) => {\n console.log(\"Error from loadtill\", action.error.message);\n },\n [loaddg1.pending]: (state, action) => {},\n [loaddg1.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.isDg1Master = payload;\n }\n },\n [loaddg1.rejected]: (state, action) => {\n console.log(\"Error from loaddg1\", action.error.message);\n },\n [loaddrglogik.pending]: (state, action) => {},\n [loaddrglogik.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.isDrglogikMaster = payload;\n }\n },\n [loaddrglogik.rejected]: (state, action) => {\n console.log(\"Error from loaddrglogik\", action.error.message);\n },\n [loaddrgtpt.pending]: (state, action) => {},\n [loaddrgtpt.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.isDrgtptMaster = payload;\n }\n },\n [loaddrgtpt.rejected]: (state, action) => {\n console.log(\"Error from loaddrgtpt\", action.error.message);\n },\n [loadCountingCode.pending]: (state, action) => {},\n [loadCountingCode.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.isCountingCodeMaster = payload;\n }\n },\n [loadCountingCode.rejected]: (state, action) => {\n console.log(\"Error from loadCountingCode\", action.error.message);\n },\n [loadegenskaber.pending]: (state, action) => {},\n [loadegenskaber.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.isEgenskaberMaster = payload;\n }\n },\n [loadegenskaber.rejected]: (state, action) => {\n console.log(\"Error from loadegenskaber\", action.error.message);\n },\n [loadsks.pending]: (state, action) => {},\n [loadsks.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.isSksMaster = payload;\n }\n // state.isInitialLoadAPI = true;\n },\n [loadsks.rejected]: (state, action) => {\n console.log(\"Error from loadsks\", action.error.message);\n },\n [loadMDCSpecification.pending]: (state, action) => {},\n [loadMDCSpecification.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.isMDCSpecificationMaster = payload;\n }\n state.isInitialLoadAPI = true;\n },\n [loadMDCSpecification.rejected]: (state, action) => {\n console.log(\"Error from loadMDCSpecification\", action.error.message);\n },\n /* DRG: End Initial API's load */\n /* GGrouper: Start Initial API's load */\n [loadDrg.pending]: (state, action) => {\n state.isLoading = true;\n },\n [loadDrg.fulfilled]: (state, { payload }) => {\n console.log(payload);\n if (payload != null && payload.length > 0) {\n state.isDrgMaster = payload;\n }\n },\n [loadDrg.rejected]: (state, action) => {\n console.log(\"Error from loadGetDRGLogicList\", action.error.message);\n },\n [loadcasemixDRG.pending]: (state, action) => {},\n [loadcasemixDRG.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n state.isCasemixDRGMaster = payload;\n }\n state.isInitialLoadAPI = true;\n },\n [loadcasemixDRG.rejected]: (state, action) => {\n console.log(\"Error from loadcasemixDRG\", action.error.message);\n },\n [GetUpdatedGrouper.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetUpdatedGrouper.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload != null) {\n state.data = state.data.map((u) => (u.id !== payload.id ? u : payload));\n\n state.masterfilterdata = state.masterfilterdata.map((u) =>\n u.id !== payload.id ? u : payload\n );\n\n state.isGGrouperLogic = state.masterfilterdata.filter(\n (data) => data.id == payload.id\n );\n }\n },\n [GetUpdatedGrouper.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetUpdatedGrouper\", action.error.message);\n },\n /* GGrouper: End Initial API's load */\n /* GGrouper: Start */\n [GetAllGrouperDetails.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetAllGrouperDetails.fulfilled]: (state, { payload }) => {\n if (state.isGGrouper) {\n state.isLoading = false;\n state.isRender = false;\n if (payload != null && payload.length > 0) {\n state.isNoData = false;\n state.data = payload;\n state.distinctUploadYear = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n if (!state.distinctUploadYear.includes(state.selectedYear)) {\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (\n state.distinctUploadYear.includes(JSON.stringify(upcomingYear))\n ) {\n state.selectedYear = JSON.stringify(upcomingYear);\n } else if (\n state.distinctUploadYear.includes(JSON.stringify(currentYear))\n ) {\n state.selectedYear = JSON.stringify(currentYear);\n } else if (\n state.distinctUploadYear.includes(JSON.stringify(previousYear))\n ) {\n state.selectedYear = JSON.stringify(previousYear);\n } else {\n state.selectedYear =\n state.distinctUploadYear[state.distinctUploadYear.length - 1];\n }\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n } else if (\n state.distinctUploadYear.includes(state.selectedUploadYear)\n ) {\n state.selectedYear = state.selectedUploadYear;\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n state.selectedUploadYear = \"\";\n // let result = [];\n // let last = state.filterdata.length - 1;\n // result[0] = state.filterdata[last];\n // state.isGGrouperLogic = Array.from(result);\n state.isGGrouperDataAdded = true;\n } else {\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n }\n state.masterfilterdata = state.filterdata;\n state.isDrg = state.isDrgMaster.filter(\n (item) => item.year == state.selectedYear\n );\n state.isCasemixDRG = state.isCasemixDRGMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n if (state.isGGrouper && state.isGGrouperLogic.length <= 0) {\n // let result = [];\n // result[0] = state.masterfilterdata[0];\n // state.isGGrouperLogic = Array.from(result);\n } else {\n state.isGGrouperRender = true;\n }\n } else {\n state.isNoData = true;\n }\n }\n /* Start: For Generate Interactive logic */\n if (state.isGInteractive || state.isGViewer) {\n state.isGrouperMaster = payload.filter(\n (x) => x.hasSKS == true && x.isGenerated == true\n );\n }\n if (state.isGViewer) {\n state.isInitialLoadAPI = true;\n }\n /* End: For Generate Interactive logic */\n },\n [GetAllGrouperDetails.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetAllGrouperDetails\", action.error.message);\n },\n [GGrouper.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GGrouper.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n console.log(payload);\n if (payload.type == \"application/json\") {\n state.isError = true;\n state.isGGrouperError = true;\n } else if (payload.type == \"application/octet-stream\") {\n saveAs(payload, state.isGGrouperLogic[0]?.grouperName + \".zip\");\n //state.isRender = true;\n state.isGrouperLogicRender = !state.isGrouperLogicRender;\n }\n },\n [GGrouper.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GenerateGrouper\", action.error.message);\n },\n [UpdateGrouper.pending]: (state, action) => {\n state.isLoading = true;\n },\n [UpdateGrouper.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n console.log(payload);\n if (payload == true) {\n state.isSuccess = true;\n state.isSaveLogicSuccess = true;\n //state.isRender = true;\n state.isGrouperLogicRender = !state.isGrouperLogicRender;\n }\n },\n [UpdateGrouper.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from UpdateGrouper\", action.error.message);\n },\n [DeleteGrouperSublist.pending]: (state, action) => {\n state.isLoading = true;\n },\n [DeleteGrouperSublist.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload) {\n state.isSuccess = true;\n state.isRemoveSubListSuccess = true;\n state.isGrouperLogicRender = !state.isGrouperLogicRender;\n //state.isRender = true;\n } else {\n state.isFailed = true;\n state.isRemoveSubListFailed = true;\n }\n },\n [DeleteGrouperSublist.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from SaveSubList\", action.error.message);\n },\n [GetUpdatedInteractive.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetUpdatedInteractive.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload != null) {\n state.data = state.data.map((u) => (u.id !== payload.id ? u : payload));\n\n state.masterfilterdata = state.masterfilterdata.map((u) =>\n u.id !== payload.id ? u : payload\n );\n\n state.isGInteractiveLogic = state.masterfilterdata.filter(\n (data) => data.id == payload.id\n );\n }\n },\n [GetUpdatedInteractive.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetUpdatedInteractive\", action.error.message);\n },\n /* GGrouper: End */\n /* GInteractive: Start */\n [GetAllInteractiveDetails.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetAllInteractiveDetails.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n state.isRender = false;\n if (payload != null && payload.length > 0) {\n state.isNoData = false;\n state.data = payload;\n state.distinctUploadYear = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n if (!state.distinctUploadYear.includes(state.selectedYear)) {\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.distinctUploadYear.includes(JSON.stringify(upcomingYear))) {\n state.selectedYear = JSON.stringify(upcomingYear);\n } else if (\n state.distinctUploadYear.includes(JSON.stringify(currentYear))\n ) {\n state.selectedYear = JSON.stringify(currentYear);\n } else if (\n state.distinctUploadYear.includes(JSON.stringify(previousYear))\n ) {\n state.selectedYear = JSON.stringify(previousYear);\n } else {\n state.selectedYear =\n state.distinctUploadYear[state.distinctUploadYear.length - 1];\n }\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n } else if (\n state.distinctUploadYear.includes(state.selectedUploadYear)\n ) {\n state.selectedYear = state.selectedUploadYear;\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n state.selectedUploadYear = \"\";\n // let result = [];\n // let last = state.filterdata.length - 1;\n // result[0] = state.filterdata[last];\n // state.isGInteractiveLogic = Array.from(result);\n state.isGInteractiveDataAdded = true;\n } else {\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n }\n state.masterfilterdata = state.filterdata;\n state.isGrouper = state.isGrouperMaster.filter(\n (item) => item.year == state.selectedYear\n );\n state.isInternekoder = state.isInternekoderMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n if (state.isGInteractive && state.isGInteractiveLogic.length <= 0) {\n // let result = [];\n // result[0] = state.masterfilterdata[0];\n // state.isGInteractiveLogic = Array.from(result);\n } else {\n state.isGInteractiveRender = true;\n }\n } else {\n state.isNoData = true;\n }\n },\n [GetAllInteractiveDetails.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetAllInteractiveDetails\", action.error.message);\n },\n [loadinternekoder.pending]: (state, action) => {},\n [loadinternekoder.fulfilled]: (state, { payload }) => {\n console.log(payload);\n if (payload != null && payload.length > 0) {\n state.isInternekoderMaster = payload;\n state.isInternekoder = state.isInternekoderMaster.filter(\n (item) => item.Year == state.selectedYear\n );\n }\n state.isInitialLoadAPI = true;\n },\n [loadinternekoder.rejected]: (state, action) => {\n console.log(\"Error from loadinternekoder\", action.error.message);\n },\n [GInteractive.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GInteractive.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload == \"Success\") {\n state.isSuccess = true;\n state.isGenerateSuccess = true;\n state.isInteractiveLogicRender = !state.isInteractiveLogicRender;\n //state.isRender = true;\n }\n },\n [GInteractive.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GInteractive\", action.error.message);\n },\n [UpdateInteractive.pending]: (state, action) => {\n state.isLoading = true;\n },\n [UpdateInteractive.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n console.log(payload);\n if (payload == true) {\n state.isSuccess = true;\n state.isSaveLogicSuccess = true;\n state.isInteractiveLogicRender = !state.isInteractiveLogicRender;\n //state.isRender = true;\n }\n },\n [UpdateInteractive.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from UpdateInteractive\", action.error.message);\n },\n [DeleteInteractiveSublist.pending]: (state, action) => {\n state.isLoading = true;\n },\n [DeleteInteractiveSublist.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload) {\n state.isSuccess = true;\n state.isRemoveSubListSuccess = true;\n state.isInteractiveLogicRender = !state.isInteractiveLogicRender;\n // state.isRender = true;\n } else {\n state.isFailed = true;\n state.isRemoveSubListFailed = true;\n }\n },\n [DeleteInteractiveSublist.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from SaveSubList\", action.error.message);\n },\n [GetUpdatedVisual.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetUpdatedVisual.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload != null) {\n state.data = state.data.map((u) => (u.id !== payload.id ? u : payload));\n\n state.masterfilterdata = state.masterfilterdata.map((u) =>\n u.id !== payload.id ? u : payload\n );\n\n state.isGViewerLogic = state.masterfilterdata.filter(\n (data) => data.id == payload.id\n );\n }\n },\n [GetUpdatedVisual.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetUpdatedVisual\", action.error.message);\n },\n /* GInteractive: End */\n /* GViewer: Start */\n [GetAllViewerDetails.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetAllViewerDetails.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n state.isRender = false;\n console.log(payload);\n if (payload != null && payload.length > 0) {\n state.isNoData = false;\n state.data = payload;\n state.distinctUploadYear = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n if (!state.distinctUploadYear.includes(state.selectedYear)) {\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.distinctUploadYear.includes(JSON.stringify(upcomingYear))) {\n state.selectedYear = JSON.stringify(upcomingYear);\n } else if (\n state.distinctUploadYear.includes(JSON.stringify(currentYear))\n ) {\n state.selectedYear = JSON.stringify(currentYear);\n } else if (\n state.distinctUploadYear.includes(JSON.stringify(previousYear))\n ) {\n state.selectedYear = JSON.stringify(previousYear);\n } else {\n state.selectedYear =\n state.distinctUploadYear[state.distinctUploadYear.length - 1];\n }\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n } else if (\n state.distinctUploadYear.includes(state.selectedUploadYear)\n ) {\n state.selectedYear = state.selectedUploadYear;\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n state.selectedUploadYear = \"\";\n // let result = [];\n // let last = state.filterdata.length - 1;\n // result[0] = state.filterdata[last];\n // state.isGViewerLogic = Array.from(result);\n state.isGViewerDataAdded = true;\n } else {\n state.filterdata = payload.filter(\n (item) => item.year == state.selectedYear\n );\n }\n state.masterfilterdata = state.filterdata;\n state.isGrouper = state.isGrouperMaster.filter(\n (item) => item.year == state.selectedYear\n );\n if (state.isGViewer && state.isGViewerLogic.length <= 0) {\n // let result = [];\n // result[0] = state.masterfilterdata[0];\n // state.isGViewerLogic = Array.from(result);\n } else {\n state.isGViewerRender = true;\n }\n } else {\n state.isNoData = true;\n }\n },\n [GetAllViewerDetails.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetAllViewerDetails\", action.error.message);\n },\n [GViewer.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GViewer.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload == \"ok\") {\n state.isSuccess = true;\n state.isGenerateSuccess = true;\n //state.isRender = true;\n state.isViewerLogicRender = !state.isViewerLogicRender;\n }\n },\n [GViewer.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GViewer\", action.error.message);\n },\n [UpdateViewer.pending]: (state, action) => {\n state.isLoading = true;\n },\n [UpdateViewer.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n console.log(payload);\n if (payload == true) {\n state.isSuccess = true;\n state.isSaveLogicSuccess = true;\n //state.isRender = true;\n state.isViewerLogicRender = !state.isViewerLogicRender;\n }\n },\n [UpdateViewer.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from UpdateViewer\", action.error.message);\n },\n [DeleteVisualSublist.pending]: (state, action) => {\n state.isLoading = true;\n },\n [DeleteVisualSublist.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n console.log(payload);\n if (payload) {\n state.isSuccess = true;\n state.isRemoveSubListSuccess = true;\n //state.isRender = true;\n state.isViewerLogicRender = !state.isViewerLogicRender;\n } else {\n state.isFailed = true;\n state.isRemoveSubListFailed = true;\n }\n },\n [DeleteVisualSublist.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from SaveSubList\", action.error.message);\n },\n /* GViewer: End */\n },\n});\nexport const {\n setIsRender,\n setIsClinicalCode,\n setIsCasemixFile,\n setIsSupportFile,\n setIsDRG,\n setIsDRGLogic,\n setDrgAddLogic,\n setDrgUsers,\n setIsDRGLogicUsers,\n setIsGGrouper,\n setIsGGrouperLogic,\n setIsGGrouperCheck,\n clearStatus,\n setIsTill,\n setIsDg1,\n setIsDrglogik,\n setIsDrgtpt,\n setIsCountingCode,\n setIsEgenskaber,\n setIsSks,\n setIsDrg,\n setIsCasemixDRG,\n setSelFileType,\n setSelFileDetails,\n setFilterData,\n setSelectedGrpCodeValue,\n setSelectedYear,\n setSelectedUploadYear,\n setMasterFilterData,\n setIsDrgRender,\n setIsGetAllDRGLogicsLoaded,\n setIsGGrouperRender,\n setIsGGrouperLogicTariff,\n setIsGInteractive,\n setIsGInteractiveLogic,\n setIsGInteractiveRender,\n setIsGInteractiveCheck,\n setIsGrouper,\n setIsInternekoder,\n setIsGViewer,\n setIsGViewerLogic,\n setIsGViewerRender,\n setIsGViewerCheck,\n clearMangerStatus,\n setEditLogicInfo,\n endUserSession,\n setExpanded,\n setIsDisabled,\n setIsDrgDataUpdated,\n setIsDrgDataRemoved,\n setDefaultIsGrouperLogic,\n setIsGGrouperDataUpdated,\n setIsGGrouperDataRemoved,\n setDefaultIsDrgLogic,\n setIsGInteractiveDataUpdated,\n setIsGInteractiveDataRemoved,\n setDefaultIsInteractiveLogic,\n setIsGViewerDataUpdated,\n setIsGViewerDataRemoved,\n setDefaultIsViewerLogic,\n setIsMDCSpecification,\n setIsGViewerLogicTariff,\n setGViewerTariffFlag,\n setIsGInteractiveLogicTariff,\n setGInteractiveTariffFlag,\n setGGrouperTariffFlag,\n} = managerSlice.actions;\nexport default managerSlice.reducer;\n","import { createSlice, createAsyncThunk, current } from \"@reduxjs/toolkit\";\n//import { createFalse } from \"typescript\";\n\nexport const getInteractiveNames = createAsyncThunk(\n \"interactive/getInteractiveNames\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetActiveInteractiveDetails?isLogin=\" + obj.login;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getZipFile = createAsyncThunk(\n \"interactive/getZipFile\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((response) => {\n if (response.status === 200) {\n return response.blob();\n }\n if (response.status === 401) {\n dispatch(endUserSession());\n }\n });\n }\n);\n\nexport const getAllMasterData = createAsyncThunk(\n \"interactive/getAllMasterData\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"api/GetInteractiveMasterData\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllDiagnosis = createAsyncThunk(\n \"interactive/getAllDiagnosis\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let interactive = state.interactive.selectedInteractiveObj;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let parentId = obj.parentId ? obj.parentId : \"\";\n let url =\n \"api/GetAllSKSDiagnosis?grouperName=\" +\n interactive.grouperName +\n \"&grouperVersion=\" +\n interactive.grouperVersion +\n \"&year=\" +\n interactive.year +\n \"&parentid=\" +\n parentId;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllProcedures = createAsyncThunk(\n \"interactive/getAllProcedures\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let interactive = state.interactive.selectedInteractiveObj;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let parentId = obj.parentId ? obj.parentId : \"\";\n let url =\n \"api/GetAllSKSProcedures?grouperName=\" +\n interactive.grouperName +\n \"&grouperVersion=\" +\n interactive.grouperVersion +\n \"&year=\" +\n interactive.year +\n \"&parentid=\" +\n parentId;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDiagnosisSearch = createAsyncThunk(\n \"interactive/getDiagnosisSearch\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let interactive = state.interactive.selectedInteractiveObj;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/GetSKSDiagSearch?grouperName=\" +\n interactive.grouperName +\n \"&grouperVersion=\" +\n interactive.grouperVersion +\n \"&year=\" +\n interactive.year +\n \"&search=\" +\n obj.search;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getProcedureSearch = createAsyncThunk(\n \"interactive/getProcedureSearch\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let interactive = state.interactive.selectedInteractiveObj;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/GetSKSProcSearch?grouperName=\" +\n interactive.grouperName +\n \"&grouperVersion=\" +\n interactive.grouperVersion +\n \"&year=\" +\n interactive.year +\n \"&search=\" +\n obj.search;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const interactiveProcessResult = createAsyncThunk(\n \"interactive/interactiveProcessResult\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n\n let url = \"api/ProcessResult?isHearing=\" + false;\n return await fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualDatabyID = createAsyncThunk(\n \"interactive/getVisualDatabyID\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetVisualDatabyId?id=\" + obj.id;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualMetadata = createAsyncThunk(\n \"interactive/getVisualMetadata\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n\n let url =\n \"api/GetMetadata?visualname=\" +\n obj.name +\n \"&visualversion=\" +\n obj.version +\n \"&year=\" +\n obj.year;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualNodesJSON = createAsyncThunk(\n \"interactive/getVisualNodesJSON\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n\n let url =\n \"api/GetViewerData/?_logicName=\" +\n obj.logicName +\n \"&_logicVersion=\" +\n obj.logicVersion +\n \"&_year=\" +\n obj.year +\n \"&pricename=\" +\n obj.priceName +\n \"&priceversion=\" +\n obj.priceVersion;\n return await fetch(url, reqOptions).then((res) => {\n if (res.status === 401) {\n dispatch(endUserSession());\n } else {\n return res.json();\n }\n });\n }\n);\n\nconst initialState = {\n interactiveCollection: [],\n yearsCollection: [],\n selectedInteractiveObj: [],\n selectedInteractiveID: \"\",\n selectedInteractiveName: \"\",\n selectedInteractiveYear: \"\",\n isYearGreaterThan2021: false,\n blobToDownload: null,\n selectedFileType: \"\",\n fileNotExists: false,\n patientInfoPanel: true,\n diseasesPanel: true,\n episodesPanel: false,\n spellsPanel: false,\n resultsPanel: false,\n patientInputs: [],\n gender: \"\",\n birthValue: \"No\",\n disableBirth: true,\n enableBirthInfo: false,\n isMale: true,\n age: \"32\",\n ageUnit: \"\",\n gestationAge: \"\",\n discharge: \"\",\n contactType: \"\",\n birthType: \"\",\n height: \"163\",\n weight: \"64\",\n hospitalisationMethod: \"\",\n disableContactReason: true,\n reasonForContact: \"\",\n contactDays: \"\",\n contactDaysStartDate: null,\n contactDaysEndDate: null,\n varighed: \"\",\n disableContactDays: true,\n dateError: false,\n diagnosisParentCollection: null,\n proceduresParentCollection: null,\n diagnosisChildCollection: null,\n diagnosisHasChildren: false,\n proceduresChildCollection: null,\n procedureHasChildren: false,\n isChooseDiagnosis: true,\n isChooseDiagAdditional: true,\n diagnosis: [],\n diagnosisData: [],\n diagnosisSet: false,\n isChooseProcedure: true,\n isChooseProcAdditional: true,\n procedure: [],\n procedureData: [],\n procedureSet: false,\n diagnosisSearchTree: null,\n diagnosisSearch: false,\n procedureSearchTree: null,\n procedureSearch: false,\n interactiveList: [],\n overWriteVarighedValue: \"\",\n autoIncrementProgressID: 0,\n spellsList: [],\n contactDaysNoProgress: 0,\n spellVarighed: \"\",\n updateSuccess: false,\n requestList: [],\n requestType: \"\",\n resultList: [],\n resultError: false,\n errorMessage: \"\",\n reportDialog: false,\n isVisualLoading: false,\n visualDialog: false,\n visualID: \"\",\n visualSearchValue: \"\",\n dataForGoJs: null,\n isResultLoading: false,\n noVisualIDError: false,\n diagnosisParentMaster: null,\n procedureParentMaster: null,\n loadDiagAndProc: false,\n isSessionValid: true,\n};\n\nconst interactiveSlice = createSlice({\n name: \"interactive\",\n initialState,\n reducers: {\n endUserSession(state, action) {\n state.isSessionValid = false;\n },\n setSelectedInteractive(state, action) {\n state.selectedInteractiveObj = action.payload;\n },\n setInteractiveDetails(state, action) {\n state.selectedInteractiveID = action.payload.id;\n state.selectedInteractiveName = action.payload.name;\n state.selectedInteractiveYear = action.payload.year;\n let year = parseInt(action.payload.year);\n if (year > 2021) {\n state.isYearGreaterThan2021 = true;\n state.disableContactDays = true;\n state.contactDays = \"\";\n } else {\n state.isYearGreaterThan2021 = false;\n state.disableContactDays = false;\n state.contactDays = \"1\";\n }\n },\n setSelectedFileToDownload(state, action) {\n state.selectedFileType = action.payload;\n },\n clearValues(state, action) {\n state.selectedFileType = null;\n state.blobToDownload = null;\n },\n errorMessageClose(state, action) {\n state.fileNotExists = false;\n },\n setPanel(state, { payload }) {\n if (payload) {\n state[`${payload}`] = !state[`${payload}`];\n }\n },\n setChildrenStatus(state, { payload }) {\n if (payload.name === \"diagnosis\") {\n state.diagnosisHasChildren = payload.value;\n } else if (payload.name === \"procedures\") {\n state.procedureHasChildren = payload.value;\n }\n },\n setSelectionButton(state, { payload }) {\n if (payload.name === \"diagnosis\") {\n state.isChooseDiagnosis = payload.value;\n } else if (payload.name === \"diagAdditional\") {\n state.isChooseDiagAdditional = payload.value;\n } else if (payload.name === \"procedure\") {\n state.isChooseProcedure = payload.value;\n } else if (payload.name === \"procAdditional\") {\n state.isChooseProcAdditional = payload.value;\n }\n },\n setDiagnosisData(state, { payload }) {\n state.diagnosisData = payload;\n },\n setDiagnosis(state, action) {\n const { uniqueID, type, code, Id, name, selected } = action.payload;\n state.diagnosis.push({\n uniqueID: uniqueID,\n type: type,\n code: code,\n Id: Id,\n name: name,\n selected: selected,\n additionalCode: [],\n });\n state.diagnosisSet = true;\n },\n setDiagnosisAdditionalCode(state, action) {\n const { index, uniqueID, type, code, Id, name } = action.payload;\n state.diagnosis[index].additionalCode.push({\n uniqueID: uniqueID,\n type: type,\n code: code,\n Id: Id,\n name: name,\n });\n },\n updateSelectedDiagnosis(state, { payload }) {\n state.diagnosis.forEach((element) => {\n element.selected = false;\n });\n state.diagnosis[payload.index].selected = payload.value;\n },\n diagnosisMoveUp(state, action) {\n const index = action.payload;\n if (index > 0) {\n const tmp = state.diagnosis[index - 1];\n state.diagnosis[index - 1] = state.diagnosis[index];\n state.diagnosis[index] = tmp;\n if (state.diagnosis.length >= 1) {\n state.diagnosis.forEach((element, index) => {\n if (index === 0) {\n state.diagnosis[index].type = \"A\";\n } else {\n state.diagnosis[index].type = \"B\";\n }\n });\n }\n }\n },\n diagnosisMoveDown(state, action) {\n const index = action.payload;\n if (index < state.diagnosis.length) {\n const tmp = state.diagnosis[index + 1];\n state.diagnosis[index + 1] = state.diagnosis[index];\n state.diagnosis[index] = tmp;\n if (state.diagnosis.length >= 1) {\n state.diagnosis.forEach((element, index) => {\n if (index === 0) {\n state.diagnosis[index].type = \"A\";\n } else {\n state.diagnosis[index].type = \"B\";\n }\n });\n }\n }\n },\n deleteDiagnosis(state, { payload }) {\n state.diagnosis.splice(payload.index, 1);\n if (state.diagnosis.length >= 1) {\n state.diagnosis[0].type = \"A\";\n }\n state.diagnosisSet = true;\n },\n deleteAdditionalDiagnosis(state, { payload }) {\n state.diagnosis[payload.diagIndex].additionalCode.splice(\n payload.addDiagIndex,\n 1\n );\n },\n\n setProcedureData(state, { payload }) {\n state.procedureData = payload;\n },\n setProcedure(state, action) {\n const { uniqueID, type, code, Id, name, selected } = action.payload;\n state.procedure.push({\n uniqueID: uniqueID,\n type: type,\n code: code,\n Id: Id,\n name: name,\n selected: selected,\n additionalCode: [],\n });\n state.procedureSet = true;\n },\n setProcedureAdditionalCode(state, action) {\n const { index, uniqueID, type, code, Id, name } = action.payload;\n state.procedure[index].additionalCode.push({\n uniqueID: uniqueID,\n type: type,\n code: code,\n Id: Id,\n name: name,\n });\n },\n updateSelectedProcedure(state, { payload }) {\n state.procedure.forEach((element) => {\n element.selected = false;\n });\n state.procedure[payload.index].selected = payload.value;\n },\n procedureMoveUp(state, action) {\n const index = action.payload;\n if (index > 0) {\n const tmp = state.procedure[index - 1];\n state.procedure[index - 1] = state.procedure[index];\n state.procedure[index] = tmp;\n }\n },\n procedureMoveDown(state, action) {\n const index = action.payload;\n if (index < state.procedure.length) {\n const tmp = state.procedure[index + 1];\n state.procedure[index + 1] = state.procedure[index];\n state.procedure[index] = tmp;\n }\n },\n deleteProcedure(state, { payload }) {\n state.procedure.splice(payload.index, 1);\n state.procedureSet = true;\n },\n deleteAdditionalProcedure(state, { payload }) {\n state.procedure[payload.procIndex].additionalCode.splice(\n payload.addProcIndex,\n 1\n );\n },\n setSearchStatus(state, { payload }) {\n if (payload.name === \"diagnosis\") {\n state.diagnosisSearch = payload.value;\n } else if (payload.name === \"procedure\") {\n state.procedureSearch = payload.value;\n }\n },\n setGender(state, { payload }) {\n state.gender = payload;\n if (payload === \"2\") {\n state.disableBirth = false;\n state.isMale = false;\n const femaleGestationDefaultValue =\n state.patientInputs[0].femaleGestation.find(\n (item) => item.name.en === \"\" || item.name.dk === \"\"\n );\n if (femaleGestationDefaultValue) {\n state.gestationAge = femaleGestationDefaultValue.value;\n }\n } else {\n state.disableBirth = true;\n state.birthValue = \"No\";\n state.enableBirthInfo = false;\n state.isMale = true;\n const maleGestationDefaultValue =\n state.patientInputs[0].maleGestation.find(\n (item) => item.name.en === \"\" || item.name.dk === \"\"\n );\n if (maleGestationDefaultValue) {\n state.gestationAge = maleGestationDefaultValue.value;\n }\n }\n },\n setBirthValue(state, { payload }) {\n state.birthValue = payload;\n if (payload === \"Yes\") {\n state.enableBirthInfo = true;\n } else {\n state.enableBirthInfo = false;\n }\n },\n setValues(state, { payload }) {\n if (payload) {\n state[`${payload.name}`] = payload.value;\n }\n if (payload.name === \"hospitalisationMethod\") {\n state.disableContactReason = payload.value === \"1\" ? false : true;\n }\n if (payload.name === \"varighed\") {\n state.disableContactDays = payload.value === \"1\" ? true : false;\n state.contactDays = payload.value === \"1\" ? \"\" : \"1\";\n state.contactDaysStartDate =\n payload.value === \"1\" ? null : state.contactDaysStartDate;\n state.contactDaysEndDate =\n payload.value === \"1\" ? null : state.contactDaysEndDate;\n }\n },\n setDateToDefault(state, { payload }) {\n state.ontactDaysStartDate = null;\n state.contactDaysEndDate = null;\n state.contactDays = \"1\";\n state.dateError = true;\n },\n dateErrorClose(state, { payload }) {\n state.dateError = false;\n },\n clearPatientInformation(state, { payload }) {\n state.gender = \"\";\n state.birthValue = \"No\";\n state.disableBirth = true;\n state.enableBirthInfo = false;\n state.isMale = true;\n state.age = \"32\";\n state.ageUnit = \"\";\n state.gestationAge = \"\";\n state.discharge = \"\";\n state.contactType = \"\";\n state.birthType = \"\";\n state.height = \"163\";\n state.weight = \"64\";\n state.hospitalisationMethod = \"\";\n state.disableContactReason = true;\n state.reasonForContact = \"\";\n state.contactDaysStartDate = null;\n state.contactDaysEndDate = null;\n state.varighed = \"\";\n if (state.isYearGreaterThan2021) {\n state.contactDays = \"\";\n state.disableContactDays = true;\n } else {\n state.contactDays = \"1\";\n state.disableContactDays = false;\n }\n state.dateError = false;\n },\n addToSpell(state, { payload }) {\n let refId = state.interactiveList.length;\n refId++;\n state.autoIncrementProgressID = state.autoIncrementProgressID + 1;\n let clone = JSON.parse(JSON.stringify(payload.data));\n clone[\"Id\"] = refId;\n state.interactiveList.push(clone);\n localStorage.setItem(\n \"interactiveList\",\n JSON.stringify(state.interactiveList)\n );\n if (payload.handler === \"AddToSpell\") {\n state.spellsList.push({\n id: state.autoIncrementProgressID,\n val: clone,\n refId: refId,\n });\n localStorage.setItem(\"spellsList\", JSON.stringify(state.spellsList));\n\n if (state.isYearGreaterThan2021) {\n if (state.spellsList.length > 0) {\n state.overWriteVarighedValue = Math.max(\n ...state.spellsList.map((o) => parseInt(o.val[0].varighed)),\n 0\n ).toString();\n } else {\n state.overWriteVarighedValue = null;\n }\n }\n let contDays = 0;\n if (clone[0].contactDays > 0) {\n state.spellsList.forEach((element) => {\n contDays += element.val[0].contactDays;\n });\n state.contactDaysNoProgress = contDays;\n } else {\n state.contactDaysNoProgress = state.spellsList.length;\n }\n\n state.spellsPanel = true;\n state.episodesPanel = true;\n } /* else if (payload.handler === \"RunQuery\") {\n state.episodesPanel = true;\n state.spellsPanel = true;\n state.resultsPanel = true;\n } */\n state.diagnosis = [];\n state.procedure = [];\n },\n spellMoveLeft(state, action) {\n const index = action.payload;\n if (index > 0) {\n const tmp = state.spellsList[index - 1];\n state.spellsList[index - 1] = state.spellsList[index];\n state.spellsList[index] = tmp;\n }\n },\n spellMoveRight(state, action) {\n const index = action.payload;\n if (index < state.spellsList.length) {\n const tmp = state.spellsList[index + 1];\n state.spellsList[index + 1] = state.spellsList[index];\n state.spellsList[index] = tmp;\n }\n },\n deleteSpell(state, { payload }) {\n var index = state.spellsList.findIndex(\n (item) => item.id == payload.refId\n );\n state.spellsList.splice(index, 1);\n let contDays = 0;\n if (state.spellsList.length > 0 && state.isYeargreaterThan2021) {\n state.overWriteVarighedValue = Math.max(\n ...state.spellsList.map((o) => parseInt(o.val[0].varighed)),\n 0\n ).toString();\n } else {\n state.overWriteVarighedValue = null;\n }\n state.spellsList.forEach((element) => {\n contDays += element.val[0].contactDays;\n });\n state.contactDaysNoProgress = contDays;\n },\n clearSpellInformation(state, { payload }) {\n state.spellsList = [];\n state.contactDaysNoProgress = 0;\n },\n expandCollapseUpdate(state, { payload }) {\n state.interactiveList[payload.index][0].expandCollapseValue =\n payload.value;\n },\n addEpisodeToSpell(state, { payload }) {\n state.spellsList.push({\n id: state.autoIncrementProgressID + 1,\n val: payload.item,\n refId: payload.id,\n });\n localStorage.setItem(\"spellsList\", JSON.stringify(state.spellsList));\n if (state.isYearGreaterThan2021) {\n if (state.spellsList.length > 0) {\n state.overWriteVarighedValue = Math.max(\n ...state.spellsList.map((o) => parseInt(o.val[0].varighed)),\n 0\n ).toString();\n } else {\n state.overWriteVarighedValue = null;\n }\n }\n let contDays = 0;\n if (payload.item[0].contactDays > 0) {\n state.spellsList.forEach((element) => {\n contDays += element.val[0].contactDays;\n });\n state.contactDaysNoProgress = contDays;\n } else {\n state.contactDaysNoProgress = state.spellsList.length;\n }\n },\n editEpisode(state, { payload }) {\n state.age = payload.age;\n state.ageUnit = payload.ageTypeValue;\n state.contactType = payload.contactTypeValue;\n state.gender = payload.genderValue;\n state.birthValue = payload.isBirth == 1 ? \"Yes\" : \"No\";\n state.birthType = payload.birthTypeValue;\n state.height = payload.height;\n state.weight = payload.weight;\n state.hospitalisationMethod = payload.hospWayValue;\n state.reasonForContact = payload.reasonForContactValue;\n state.discharge = payload.dischargeValue;\n state.gestationAge =\n payload.genderValue === \"1\"\n ? payload.maleGestationAgeValue\n : payload.femaleGestationAgeValue;\n state.varighed = payload.varighed;\n state.contactDays = payload.contactDays;\n state.diagnosis = payload.diagnosis;\n state.procedure = payload.procedure;\n },\n deleteEpisode(state, { payload }) {\n /* var index = state.interactiveList.findIndex(\n (item) => item[0].Id == payload\n ); */\n state.interactiveList.splice(payload, 1);\n },\n clearEpisodesInformation(state, { payload }) {\n state.interactiveList = [];\n },\n setInteractiveList(state, { payload }) {\n let refId = state.interactiveList.length;\n refId++;\n let clone = JSON.parse(JSON.stringify(payload));\n clone[\"Id\"] = refId;\n state.interactiveList.push(clone);\n localStorage.setItem(\n \"interactiveList\",\n JSON.stringify(state.interactiveList)\n );\n state.updateSuccess = true;\n },\n setRequestList(state, { payload }) {\n state.requestList.push(payload);\n },\n showPanels(state, { payload }) {\n state.episodesPanel = true;\n state.spellsPanel = true;\n state.resultsPanel = true;\n },\n setRequestType(state, { payload }) {\n state.requestType = payload;\n },\n setReportDialog(state, { payload }) {\n state.reportDialog = payload;\n },\n setVisualDialog(state, { payload }) {\n state.visualDialog = payload.status;\n state.visualID = payload.id;\n state.visualSearchValue = payload.search;\n },\n clearDiseaseInformation(state, { payload }) {\n state.diagnosisParentCollection = state.diagnosisParentMaster;\n state.proceduresParentCollection = state.procedureParentMaster;\n state.diagnosisChildCollection = null;\n state.proceduresChildCollection = null;\n state.diagnosis = [];\n state.procedure = [];\n state.loadDiagAndProc = false;\n state.isChooseDiagnosis = true;\n state.isChooseDiagAdditional = true;\n state.isChooseProcedure = true;\n state.isChooseProcAdditional = true;\n state.diagnosisSearch = false;\n state.procedureSearch = false;\n state.diagnosisHasChildren = false;\n state.procedureHasChildren = false;\n },\n clearResultInformation(state, { payload }) {\n state.resultList = [];\n },\n clearAllInformation(state, { payload }) {\n state.gender = \"\";\n state.birthValue = \"No\";\n state.disableBirth = true;\n state.enableBirthInfo = false;\n state.isMale = true;\n state.age = \"32\";\n state.ageUnit = \"\";\n state.gestationAge = \"\";\n state.discharge = \"\";\n state.contactType = \"\";\n state.birthType = \"\";\n state.height = \"163\";\n state.weight = \"64\";\n state.hospitalisationMethod = \"\";\n state.disableContactReason = true;\n state.reasonForContact = \"\";\n state.contactDaysStartDate = null;\n state.contactDaysEndDate = null;\n state.varighed = \"\";\n if (state.isYearGreaterThan2021) {\n state.contactDays = \"\";\n state.disableContactDays = true;\n } else {\n state.contactDays = \"1\";\n state.disableContactDays = false;\n }\n state.dateError = false;\n state.diagnosis = [];\n state.procedure = [];\n state.spellsList = [];\n state.contactDaysNoProgress = 0;\n state.interactiveList = [];\n state.resultList = [];\n state.episodesPanel = false;\n state.spellsPanel = false;\n state.resultsPanel = false;\n state.diagnosisParentCollection = state.diagnosisParentMaster;\n state.proceduresParentCollection = state.procedureParentMaster;\n state.diagnosisChildCollection = null;\n state.proceduresChildCollection = null;\n state.diagnosisHasChildren = false;\n state.procedureHasChildren = false;\n state.loadDiagAndProc = false;\n state.isChooseDiagnosis = true;\n state.isChooseDiagAdditional = true;\n state.isChooseProcedure = true;\n state.isChooseProcAdditional = true;\n state.diagnosisSearch = false;\n state.procedureSearch = false;\n },\n setInteractiveLoading(state, { payload }) {\n state.isResultLoading = payload;\n },\n handleErrorClose(state, action) {\n state.resultError = false;\n state.noVisualIDError = false;\n },\n noVisualError(state, action) {\n state.visualDialog = false;\n state.resultError = true;\n state.noVisualIDError = true;\n },\n setExpand(state, action) {\n if (state.resultList.length >= 1) {\n state.resultList.forEach((element, index) => {\n if (action.payload === index) {\n state.resultList[index].expand = !state.resultList[index].expand;\n }\n });\n }\n },\n clearOnContact(state, action) {\n state.diagnosis = [];\n },\n resetInteractive: () => initialState,\n },\n extraReducers: {\n [getInteractiveNames.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getInteractiveNames.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getInteractiveNames:\", payload);\n state.interactiveCollection = payload;\n state.yearsCollection = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n //console.log(\"yearsCollection:\", state.yearsCollection);\n var currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.yearsCollection.includes(JSON.stringify(upcomingYear))) {\n state.selectedInteractiveYear = JSON.stringify(upcomingYear);\n } else if (state.yearsCollection.includes(JSON.stringify(currentYear))) {\n state.selectedInteractiveYear = JSON.stringify(currentYear);\n } else if (state.yearsCollection.includes(JSON.stringify(previousYear))) {\n state.selectedInteractiveYear = JSON.stringify(previousYear);\n } else {\n state.selectedInteractiveYear =\n state.yearsCollection[state.yearsCollection.length - 1];\n }\n var currentYearObj = payload.filter(\n (a) => a.year == state.selectedInteractiveYear\n )[0];\n state.selectedInteractiveObj = currentYearObj;\n state.selectedInteractiveID = currentYearObj.id;\n state.selectedInteractiveName = currentYearObj.interactiveName;\n state.selectedInteractiveYear = currentYearObj.year;\n let year = parseInt(currentYearObj.year);\n if (year > 2021) {\n state.isYearGreaterThan2021 = true;\n } else {\n state.isYearGreaterThan2021 = false;\n }\n },\n [getInteractiveNames.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getInteractiveNames\", action.error.message);\n },\n [getZipFile.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getZipFile.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getZipFile:\", payload);\n if (payload.type == \"application/json\") {\n state.fileNotExists = true;\n } else {\n state.blobToDownload = payload;\n }\n },\n [getZipFile.rejected]: (state, action) => {\n state.status = \"failed\";\n state.blobToDownload = null;\n console.log(\"Error from getZipFile\", action.error.message);\n },\n [getAllMasterData.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllMasterData.fulfilled]: (state, { payload }) => {\n console.log(\"Payload from getAllMasterData:\", JSON.parse(payload));\n if (payload != null) {\n var data = JSON.parse(payload);\n console.log(data);\n var gender = [];\n Object.entries(data[\"Gender\"]).forEach(([key, value]) => {\n gender.push({\n value: key,\n name: value,\n });\n });\n state.gender = gender[0].value;\n\n var birthType = [];\n Object.entries(data[\"BirthType\"]).forEach(([key, value]) => {\n birthType.push({\n value: key,\n name: value,\n });\n });\n state.birthType = birthType[0].value;\n\n var contactType = [];\n Object.entries(data[\"ContactType\"]).forEach(([key, value]) => {\n contactType.push({\n value: key,\n name: value,\n order: value.order,\n });\n });\n contactType.sort(function (a, b) {\n return a.order - b.order;\n });\n state.contactType = contactType[0].value;\n\n var femaleGestation = [];\n Object.entries(data[\"FemaleGestation\"]).forEach(([key, value]) => {\n femaleGestation.push({\n value: key,\n name: value,\n });\n });\n const femaleGestationDefaultValue = femaleGestation.find(\n (item) => item.name.en === \"\" || item.name.dk === \"\"\n );\n if (femaleGestationDefaultValue) {\n state.femaleGestation = femaleGestationDefaultValue.value;\n }\n\n var hospitalisationMethod = [];\n Object.entries(data[\"HospitalisationMethod\"]).forEach(\n ([key, value]) => {\n hospitalisationMethod.push({\n value: key,\n name: value,\n order: value.order,\n });\n }\n );\n hospitalisationMethod.sort(function (a, b) {\n return a.order - b.order;\n });\n state.hospitalisationMethod = hospitalisationMethod[0].value;\n\n var maleGestation = [];\n Object.entries(data[\"MaleGestation\"]).forEach(([key, value]) => {\n maleGestation.push({\n value: key,\n name: value,\n });\n });\n const maleGestationDefaultValue = maleGestation.find(\n (item) => item.name.en === \"\" || item.name.dk === \"\"\n );\n if (maleGestationDefaultValue) {\n state.gestationAge = maleGestationDefaultValue.value;\n }\n\n var reasonForContact = [];\n Object.entries(data[\"ReasonForContact\"]).forEach(([key, value]) => {\n reasonForContact.push({\n value: key,\n name: value,\n });\n });\n state.reasonForContact = reasonForContact[0].value;\n\n var releaseMethod = [];\n Object.entries(data[\"ReleaseMethod\"]).forEach(([key, value]) => {\n releaseMethod.push({\n value: key,\n name: value,\n });\n });\n state.discharge = releaseMethod[0].value;\n\n var unit = [];\n Object.entries(data[\"Unit\"]).forEach(([key, value]) => {\n unit.push({\n value: key,\n name: value,\n });\n });\n state.ageUnit = unit[0].value;\n\n var varighed = [];\n Object.entries(data[\"Varighed\"]).forEach(([key, value]) => {\n varighed.push({\n value: key,\n name: value,\n });\n });\n state.varighed = varighed[0].value;\n state.spellVarighed = varighed[0].value;\n state.patientInputs.push({\n gender: gender,\n birthType: birthType,\n contactType: contactType,\n femaleGestation: femaleGestation,\n hospitalisationMethod: hospitalisationMethod,\n maleGestation: maleGestation,\n reasonForContact: reasonForContact,\n releaseMethod: releaseMethod,\n unit: unit,\n varighed: varighed,\n });\n }\n },\n [getAllMasterData.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllMasterData\", action.error.message);\n },\n [getAllDiagnosis.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllDiagnosis.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getAllDiagnosis:\", payload);\n if (payload != null) {\n if (!state.diagnosisHasChildren) {\n state.diagnosisParentCollection = payload;\n state.diagnosisParentMaster = payload;\n state.loadDiagAndProc = true;\n } else {\n state.diagnosisChildCollection = payload;\n }\n }\n },\n [getAllDiagnosis.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllDiagnosis\", action.error.message);\n },\n [getAllProcedures.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllProcedures.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getAllProcedures:\", payload);\n if (!state.procedureHasChildren) {\n state.proceduresParentCollection = payload;\n state.procedureParentMaster = payload;\n state.loadDiagAndProc = true;\n } else {\n state.proceduresChildCollection = payload;\n }\n },\n [getAllProcedures.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllProcedures\", action.error.message);\n },\n [getDiagnosisSearch.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDiagnosisSearch.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDiagnosisSearch:\", payload);\n if (payload) {\n state.diagnosisSearchTree = payload;\n }\n },\n [getDiagnosisSearch.rejected]: (state, action) => {\n state.status = \"failed\";\n state.diagnosisSearch = false;\n console.log(\"Error from getDiagnosisSearch\", action.error.message);\n },\n [getProcedureSearch.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getProcedureSearch.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDiagnosisSearch:\", payload);\n if (payload) {\n state.procedureSearchTree = payload;\n }\n },\n [getProcedureSearch.rejected]: (state, action) => {\n state.status = \"failed\";\n state.procedureSearch = false;\n console.log(\"Error from getDiagnosisSearch\", action.error.message);\n },\n [interactiveProcessResult.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [interactiveProcessResult.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from interactiveProcessResult:\", payload);\n state.isResultLoading = false;\n if (payload == \"Not a valid inputs\") {\n state.resultError = true;\n state.errorMessage = \"interactive.invalidInput\";\n } else if (payload == \"No internal codes found\") {\n state.resultError = true;\n state.errorMessage = \"interactive.noInternalCode\";\n } else if (payload.indexOf(\"Logic does not exist\") >= 0) {\n state.resultError = true;\n state.errorMessage = \"interactive.noLogic\";\n } else if (payload.indexOf(\"Error. No VisualDRG found.\") >= 0) {\n state.resultError = true;\n state.errorMessage = \"interactive.noVisual\";\n } else {\n let reqId = 1;\n let resLength = state.resultList.length;\n if (resLength > 0) {\n let res = state.resultList[resLength - 1];\n reqId = Number(res.reqestid) + 1;\n }\n if (state.requestType != \"episode\") {\n for (var i = 0; i < payload.length; i++) payload[i].RId = 0;\n }\n let names = {\n interactiveName: state.selectedInteractiveName,\n interactiveVer: state.selectedInteractiveObj.interactiveVersion,\n year: state.selectedInteractiveYear,\n };\n state.resultList.push({\n reqestid: reqId,\n val: payload,\n names: names,\n expand: true,\n });\n localStorage.setItem(\"ResultList\", JSON.stringify(state.resultList));\n state.episodesPanel = true;\n state.spellsPanel = true;\n state.resultsPanel = true;\n state.isResultLoading = false;\n }\n //console.log(\"Result List:\", state.resultList);\n },\n [interactiveProcessResult.rejected]: (state, action) => {\n state.status = \"failed\";\n state.isResultLoading = false;\n state.resultError = true;\n state.errorMessage = \"interactive.errorOccured\";\n console.log(\"Error from interactiveProcessResult\", action.error.message);\n },\n [getVisualDatabyID.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getVisualDatabyID.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getVisualDatabyID:\", payload);\n },\n [getVisualDatabyID.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualDatabyID\", action.error.message);\n },\n [getVisualMetadata.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getVisualMetadata.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getVisualMetadata:\", payload);\n },\n [getVisualMetadata.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualMetadata\", action.error.message);\n },\n [getVisualNodesJSON.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getVisualNodesJSON.fulfilled]: (state, { payload }) => {\n console.log(\"Payload from getVisualNodesJSON:\", payload);\n\n state.dataForGoJs = payload;\n state.isVisualLoading = true;\n },\n [getVisualNodesJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualNodesJSON\", action.error.message);\n },\n },\n});\nexport const {\n setSelectedInteractive,\n setInteractiveDetails,\n setSelectedFileToDownload,\n clearValues,\n errorMessageClose,\n setChildrenStatus,\n setPanel,\n setSelectionButton,\n setDiagnosisData,\n setDiagnosis,\n setDiagnosisAdditionalCode,\n updateSelectedDiagnosis,\n diagnosisMoveUp,\n diagnosisMoveDown,\n deleteDiagnosis,\n deleteAdditionalDiagnosis,\n setProcedureData,\n setProcedure,\n setProcedureAdditionalCode,\n updateSelectedProcedure,\n procedureMoveUp,\n procedureMoveDown,\n deleteProcedure,\n deleteAdditionalProcedure,\n setSearchStatus,\n setGender,\n setBirthValue,\n setValues,\n dateErrorClose,\n setDateToDefault,\n clearPatientInformation,\n addToSpell,\n spellMoveLeft,\n spellMoveRight,\n deleteSpell,\n clearSpellInformation,\n expandCollapseUpdate,\n addEpisodeToSpell,\n editEpisode,\n deleteEpisode,\n clearEpisodesInformation,\n setInteractiveList,\n setRequestList,\n showPanels,\n setRequestType,\n setReportDialog,\n setVisualDialog,\n clearDiseaseInformation,\n clearResultInformation,\n clearAllInformation,\n setInteractiveLoading,\n handleErrorClose,\n noVisualError,\n endUserSession,\n setExpand,\n resetInteractive,\n clearOnContact,\n} = interactiveSlice.actions;\nexport default interactiveSlice.reducer;\n","import { createSlice, createAsyncThunk, current } from \"@reduxjs/toolkit\";\n\nexport const GetDRGLogicList = createAsyncThunk(\n \"editor/GetDRGLogicList\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetDRGLogic = createAsyncThunk(\n \"editor/GetDRGLogic\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n let url = \"api/GetDRGLogic?drgLogic=\" + selectedEditorID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const CheckDrgLogicLockStatus = createAsyncThunk(\n \"editor/CheckDrgLogicLockStatus\",\n async (obj, { dispatch, getState }) => {\n const { user } = getState().authentication;\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n let url =\n \"api/CheckDrgLogicLockStatus?drgLogicID=\" +\n selectedEditorID +\n \"&EmailID=\" +\n user[0][\"email\"] +\n \"&isAdmin=\" +\n user[0].isAdmin;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetEditorName = createAsyncThunk(\n \"editor/GetEditorName\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetEditorName?drgLogicID=\" + selectedEditorID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetLockedRows = createAsyncThunk(\n \"editor/GetLockedRows\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n let url = \"api/GetLockedRows?DrgLogicID=\" + selectedEditorID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetLockedRow = createAsyncThunk(\n \"editor/GetLockedRow\",\n async (obj, { dispatch, getState }) => {\n const { user } = getState().authentication;\n const { lockBtnText } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions)\n .then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n })\n .then((payload) => {\n if (payload != null && payload.length > 0) {\n if (\n payload[0].createdByUser == user[0][\"email\"] ||\n user[0].isAdmin == \"true\"\n ) {\n dispatch(setIsEditorEditable(true));\n } else {\n dispatch(\n setSatusMessages({\n method: \"GetLockedRow\",\n lockedBy: payload[0].createdByUser,\n })\n );\n dispatch(setIsEditorEditable(false));\n }\n } else {\n dispatch(setIsEditorEditable(true));\n }\n });\n }\n);\n\nexport const GetPublishAndPreProd = createAsyncThunk(\n \"editor/GetPublishAndPreProd\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n let url = \"api/GetPublishAndPreProd?drgLogicID=\" + selectedEditorID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const DrgLogicLock = createAsyncThunk(\n \"editor/DrgLogicLock\",\n async (obj, { dispatch, getState, state }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return fetch(obj.url, reqOptions)\n .then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n })\n .then((payload) => {\n if (payload != null && payload == true) {\n dispatch(CheckDrgLogicLockStatus({ method: \"GET\" })).then(() => {\n dispatch(setSatusMessages({ method: \"CheckDrgLogicLockStatus\" }));\n dispatch(GetLockedRows({ method: \"GET\" }));\n });\n }\n });\n }\n);\n\nexport const LockDrgRules = createAsyncThunk(\n \"editor/LockDrgRules\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n let url = \"api/Editor/LockDrgRules\";\n return fetch(url, reqOptions)\n .then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n })\n .then((payload) => {\n if (payload != null && payload == true) {\n dispatch(GetLockedRows({ method: \"GET\" })).then(() => {\n dispatch(\n setSatusMessages({ method: \"LockDrgRules\", status: true })\n );\n });\n }\n });\n }\n);\n\nexport const DeleteLockedRows = createAsyncThunk(\n \"editor/DeleteLockedRows\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return fetch(obj.url, reqOptions)\n .then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n })\n .then((payload) => {\n if (payload != null && payload == true) {\n dispatch(GetLockedRows({ method: \"GET\" })).then(() => {\n dispatch(\n setSatusMessages({ method: \"DeleteLockedRows\", status: true })\n );\n });\n } else {\n dispatch(\n setSatusMessages({ method: \"DeleteLockedRows\", status: false })\n );\n }\n });\n }\n);\n\nexport const GetGroupCodes = createAsyncThunk(\n \"editor/GetGroupCodes\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = obj.body;\n return fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetGroupCodesSubList = createAsyncThunk(\n \"editor/GetGroupCodesSubList\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = obj.body;\n return fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GEtSKSForLogic = createAsyncThunk(\n \"editor/GEtSKSForLogic\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n //reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = obj.body;\n let url = \"api/GEtSKSForLogic?id=\" + selectedEditorID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const SaveDrgRule = createAsyncThunk(\n \"editor/SaveDrgRule\",\n async (obj, { dispatch, getState }) => {\n const { masterSelectedEditorData } = getState().editor;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return fetch(obj.url, reqOptions)\n .then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n })\n .then((payload) => {\n if (payload != null && payload == true) {\n dispatch(setSatusMessages({ method: \"SaveDrgRule\", status: true }));\n dispatch(setSelectedEditorData(masterSelectedEditorData));\n } else {\n dispatch(setSatusMessages({ method: \"SaveDrgRule\", status: false }));\n }\n });\n }\n);\n\nexport const CheckDrgLogicExists = createAsyncThunk(\n \"editor/CheckDrgLogicExists\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const SaveAsDrgRule = createAsyncThunk(\n \"editor/SaveAsDrgRule\",\n async (obj, { dispatch, getState }) => {\n const { selectedEditorID } = getState().editor;\n const { user } = getState().authentication;\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n // const token = sessionStorage.getItem(\"token\");\n const token =\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5iZiI6MTY1MjI2MzE1MiwiZXhwIjoxNjUyODY3OTUyLCJpYXQiOjE2NTIyNjMxNTJ9.s8e_XfHMQEj5H2nAFRKX9Lx9koRepy0sJ74CHT2cTIw\";\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return fetch(obj.url, reqOptions)\n .then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n })\n .then((payload) => {\n if (payload != null) {\n dispatch(\n setSatusMessages({\n method: \"SaveAsDrgRule\",\n status: true,\n id: payload,\n })\n );\n let url =\n \"api/GetDRGLogicList?userId=\" +\n user[0][\"email\"] +\n \"&isAdmin=\" +\n user[0].isAdmin;\n dispatch(GetDRGLogicList({ method: \"GET\", url: url })).then(() => {\n dispatch(GetDRGLogic({ method: \"GET\" })).then(() => {\n dispatch(CheckDrgLogicLockStatus({ method: \"GET\" }));\n dispatch(GetEditorName({ method: \"GET\" }));\n dispatch(GetLockedRows({ method: \"GET\" }));\n dispatch(GetPublishAndPreProd({ method: \"GET\" })).then(() => {\n dispatch(setReadOnly(user));\n dispatch(GEtSKSForLogic({ method: \"GET\" }));\n })\n });\n });\n }\n });\n }\n);\n\nexport const getAllCodes = createAsyncThunk(\n \"editor/getAllCodes\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/GetAllCodes?groupCode=\" +\n obj.groupCode +\n \"&drgLogicName=\" +\n obj.drgLogicID;\n\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const checkLockforClassificationCode = createAsyncThunk(\n \"editor/checkLockforClassificationCode\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"api/CheckLockforClassificationCode?emailId=\" +\n obj.emailID +\n \"&logicId=\" +\n obj.drgLogicID +\n \"&grpType=\" +\n obj.masterGroupCode +\n \"&grpCode=\" +\n obj.groupCode;\n\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const saveGroupCodes = createAsyncThunk(\n \"editor/saveGroupCodes\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n const token = sessionStorage.getItem(\"token\");\n\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n console.log(\"body:\", obj.body);\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n let url =\n \"api/Editor/SaveGroupCodes?masterCode=\" +\n obj.masterGroupCode +\n \"&drgLogicName=\" +\n obj.drgLogicID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getCountingCodes = createAsyncThunk(\n \"editor/getCountingCodes\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetCountingCodes?drglogicName=\" + obj.drgLogicID;\n\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const updateCountingCodes = createAsyncThunk(\n \"editor/updateCountingCodes\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n const token = sessionStorage.getItem(\"token\");\n\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n console.log(\"body:\", obj.body);\n reqOptions.headers = headers;\n reqOptions.method = obj.method;\n reqOptions.body = JSON.stringify(obj.body);\n return fetch(\"api/UpdateCountingCodes\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGLogicLogs = createAsyncThunk(\n \"editor/getDRGLogicLogs\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetAllLog?drgLogic=\" + obj.drgLogicID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const GetGroupCodesLog = createAsyncThunk(\n \"editor/GetGroupCodesLog\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"api/GetGroupCodesLog?drgLogic=\" + obj.drgLogicID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst initialState = {\n isLoading: false,\n isSuccess: false,\n isFailed: false,\n isError: false,\n isServerError: false,\n editorCollection: [],\n yearsCollection: [],\n selectedEditorObj: [],\n selectedEditorID: \"\",\n selectedEditorName: \"\",\n selectedEditorYear: \"\",\n selectedEditorVersion: \"\",\n masterSelectedEditorData: [],\n selectedEditorData: [],\n selectedLockedRows: [],\n lockBtnText: \"\",\n selectedEditorPerson: \"\",\n isPublished: false,\n isPreProd: false,\n isTest: false,\n selectedEditorRule: {},\n masterGroupCodesList: [],\n groupCodesList: [],\n selectedGroupCode: \"\",\n masterGroupCodesSubList: [],\n groupCodesSubList: [],\n SKSList: [],\n openContainsLogic: false,\n selectedCellDetails: {},\n openCellEdit: false,\n selectedRows: [],\n DrgLogicComments: [],\n isDrgLogicExists: null,\n metaData: {},\n selectionModel: [],\n isDelete: false,\n isDuplicate: false,\n isPaste: false,\n isSelectedRow: {},\n isEditor: false,\n isViewer: false,\n isClassificationCodesEnabled: true,\n countingCodes: \"\",\n isSaveAs: false,\n isSaveAsId: \"\",\n isRowLocked: false,\n isRowUnlocked: false,\n isRowUnlockFailed: false,\n isPasted: false,\n isDuplicated: false,\n isDeleted: false,\n isSaveSuccess: false,\n isSaveFailed: false,\n isLogicLocked: false,\n isLogicUnlocked: false,\n isCountingCodeUpdated: false,\n isCountingCodeFileError: false,\n countingCodeUpdatedFailed: false,\n isRowLockedByStatus: false,\n isRowLockedBy: \"\",\n logsLoading: true,\n masterDRGLogicLogs: [],\n drgLogicLogs: [],\n masterGroupCodesLogs: [],\n groupCodesLogs: [],\n masterAllGroupCodes: [],\n grpCodesList: [],\n grpCodesListMaster: [],\n selectedGrpCode: \"\",\n canModify: false,\n grpCodesSubList: [],\n grpCodesSubListMaster: [],\n grpCodeLoading: true,\n groupCodeLogs: [],\n groupCodeExists: false,\n groupCodeEditWarning: false,\n currentEditGrpCode: \"\",\n subCodeExists: false,\n currentEditSubCode: \"\",\n groupCodesUpdated: false,\n groupCodesUpdateWarning: false,\n groupCodesWarningMessage: \"\",\n isEditorEditable: null,\n saveGroupCodeError: false,\n isInfoBulkActions: false,\n isSessionValid: true,\n existingSubCodes: \"\",\n isUnSavedData: false,\n isSearchFilter: false,\n};\n\nconst editorSlice = createSlice({\n name: \"editor\",\n initialState,\n reducers: {\n setExistingSubcodes(state, action) {\n state.existingSubCodes = action.payload;\n },\n endUserSession(state, action) {\n state.isSessionValid = false;\n },\n clearStatus(state, action) {\n state.isSuccess = false;\n state.isFailed = false;\n state.isError = false;\n state.isServerError = false;\n state.openCellEdit = false;\n state.openCellEditContains = false;\n state.isDrgLogicExists = null;\n state.selectionModel = [];\n state.isSelectedRow = {};\n state.isDuplicate = false;\n state.isDelete = false;\n state.isPaste = false;\n state.isSaveAs = false;\n state.isRowLocked = false;\n state.isRowUnlocked = false;\n state.isPasted = false;\n state.isDuplicated = false;\n state.isDeleted = false;\n state.isSaveSuccess = false;\n state.isSaveFailed = false;\n state.isLogicLocked = false;\n state.isLogicUnlocked = false;\n state.isCountingCodeUpdated = false;\n state.isCountingCodeFileError = false;\n state.countingCodeUpdatedFailed = false;\n state.isRowLockedByStatus = false;\n state.isRowLockedBy = \"\";\n state.groupCodeExists = false;\n state.groupCodeEditWarning = false;\n state.subCodeExists = false;\n state.groupCodesUpdated = false;\n state.groupCodesUpdateWarning = false;\n state.saveGroupCodeError = false;\n state.isEditorEditable = null;\n state.isInfoBulkActions = false;\n },\n setSelectedEditor(state, action) {\n state.selectedEditorObj = action.payload;\n },\n setEditorDetails(state, action) {\n state.selectedEditorID = action.payload.id;\n state.selectedEditorName = action.payload.name;\n state.selectedEditorYear = action.payload.year;\n state.selectedEditorVersion = action.payload.version;\n\n // let year = parseInt(action.payload.year);\n // if (year > 2021) {\n // state.isYearGreaterThan2021 = true;\n // } else {\n // state.isYearGreaterThan2021 = false;\n // }\n },\n setMasterSelectedEditorData(state, action) {\n state.masterSelectedEditorData = action.payload;\n },\n setSelectedEditorData(state, action) {\n state.selectedEditorData = action.payload;\n if (state.isSaveSuccess == false && state.isSearchFilter == false) {\n state.isUnSavedData = true;\n }\n },\n setSelectedEditorRule(state, action) {\n state.selectedEditorRule = action.payload;\n },\n setSelectedGroupCode(state, action) {\n state.selectedGroupCode = action.payload;\n },\n setGroupCodesFilter(state, action) {\n state.groupCodesList = action.payload;\n },\n setDiagonisFilter(state, action) {\n state.groupCodesSubList = action.payload;\n },\n setOpenCellEditContains(state, action) {\n state.openCellEditContains = action.payload;\n state.masterGroupCodesList = [];\n state.groupCodesList = [];\n state.selectedGroupCode = \"\";\n state.masterGroupCodesSubList = [];\n state.groupCodesSubList = [];\n },\n setOpenCellEdit(state, action) {\n state.openCellEdit = action.payload;\n },\n setOnCellDoubleClick(state, action) {\n state.selectedCellDetails = action.payload;\n state.selectedRows = action.payload.selectedRows;\n },\n setDrgLogicComments(state, action) {\n if (action.payload.length > 1) {\n action.payload.forEach((element) => {\n state.DrgLogicComments.push(element);\n });\n } else {\n state.DrgLogicComments.push(action.payload);\n }\n },\n setMetaData(state, action) {\n state.metaData = action.payload;\n console.log(state.metaData);\n },\n setSelectionModel(state, action) {\n state.selectionModel = action.payload;\n },\n setGridActions(state, action) { },\n setIsPaste(state, action) {\n state.isPaste = true;\n state.isSelectedRow = action.payload;\n },\n setIsDuplicate(state, action) {\n state.isDuplicate = true;\n state.isSelectedRow = action.payload;\n },\n setIsDelete(state, action) {\n state.isDelete = true;\n state.isSelectedRow = action.payload;\n },\n setReadOnly(state, action) {\n if (action.payload[0].roleId == 2) {\n state.isEditor = true;\n } else if (action.payload[0].roleId == 3) {\n state.isViewer = true;\n }\n if (\n state.isPublished == true ||\n state.isPreProd == true ||\n state.isTest == true ||\n state.isViewer == true\n ) {\n state.isClassificationCodesEnabled = false;\n }\n if (state.lockBtn == \"Unlock Logic\") {\n if (action.payload[0].isAdmin || state.isEditor == true) {\n // this.isDisabled = false;\n // this.isMenuDisabled = false;\n // this.isUserLocked = false;\n state.isClassificationCodesEnabled = true;\n } else {\n // this.isDisabled = true;\n // this.isMenuDisabled = true;\n // this.isUserLocked = true;\n state.isClassificationCodesEnabled = false;\n }\n } else {\n state.isClassificationCodesEnabled = true;\n }\n },\n setSatusMessages(state, action) {\n state.isLoading = false;\n if (\n action.payload ?.method == \"CheckDrgLogicLockStatus\" &&\n state.lockBtnText == \"Lock Logic\"\n ) {\n state.isSuccess = true;\n state.isLogicUnlocked = true;\n } else if (\n action.payload ?.method == \"CheckDrgLogicLockStatus\" &&\n state.lockBtnText == \"Unlock Logic\"\n ) {\n state.isSuccess = true;\n state.isLogicLocked = true;\n } else if (\n action.payload ?.method == \"LockDrgRules\" &&\n action.payload ?.status == true\n ) {\n state.isSuccess = true;\n state.isRowLocked = true;\n } else if (\n action.payload ?.method == \"DeleteLockedRows\" &&\n action.payload ?.status == true\n ) {\n state.isSuccess = true;\n state.isRowUnlocked = true;\n } else if (\n action.payload ?.method == \"DeleteLockedRows\" &&\n action.payload ?.status == false\n ) {\n state.isFailed = true;\n state.isRowUnlockFailed = true;\n } else if (\n action.payload ?.method == \"Pasted\" &&\n action.payload ?.status == true\n ) {\n state.isSuccess = true;\n state.isPasted = true;\n } else if (\n action.payload ?.method == \"Duplicated\" &&\n action.payload ?.status == true\n ) {\n state.isSuccess = true;\n state.isDuplicated = true;\n } else if (\n action.payload ?.method == \"Deleted\" &&\n action.payload ?.status == true\n ) {\n state.isSuccess = true;\n state.isDeleted = true;\n } else if (\n action.payload ?.method == \"SaveDrgRule\" &&\n action.payload ?.status == true\n ) {\n state.isSuccess = true;\n state.isSaveSuccess = true;\n state.DrgLogicComments = [];\n } else if (\n action.payload ?.method == \"SaveDrgRule\" &&\n action.payload ?.status == false\n ) {\n state.isSuccess = true;\n state.isSaveFailed = true;\n state.DrgLogicComments = [];\n } else if (\n action.payload ?.method == \"SaveAsDrgRule\" &&\n action.payload ?.status == true\n ) {\n state.isSuccess = true;\n state.isSaveSuccess = true;\n state.DrgLogicComments = [];\n state.isSaveAs = true;\n state.isSaveAsId = action.payload ?.id;\n } else if (action.payload ?.method == \"GetLockedRow\") {\n console.log(\"lockedBy:\", action.payload.lockedBy);\n state.isError = true;\n state.isRowLockedByStatus = true;\n state.isRowLockedBy = action.payload ?.lockedBy;\n } else if (action.payload ?.method == \"info_bulkactions\") {\n state.isFailed = true;\n state.isInfoBulkActions = true;\n }\n },\n setdrgLogicLogs(state, action) {\n state.drgLogicLogs = action.payload;\n },\n setgroupCodesLogs(state, action) {\n state.groupCodesLogs = action.payload;\n },\n addnewGroupCode(state, { payload }) {\n state.grpCodesList.splice(0, 0, {\n name: payload.newGrpCode,\n isDisabled: true,\n });\n state.masterAllGroupCodes.push({ name: payload.newGrpCode, value: \"\" });\n state.groupCodeLogs.push(payload.log);\n },\n setGroupCodeWarning(state, { payload }) {\n if (payload == \"groupCodeExist\") {\n state.isFailed = true;\n state.groupCodeExists = true;\n } else if (payload == \"groupCodeEditWarning\") {\n state.isFailed = true;\n state.groupCodeEditWarning = true;\n } else if (payload == \"subCodeExist\") {\n state.isFailed = true;\n state.subCodeExists = true;\n }\n },\n setSelectedGrpCode(state, { payload }) {\n state.selectedGrpCode = payload;\n },\n setGrpCodeEditable(state, { payload }) {\n for (let i = 0; i < state.grpCodesList.length; i++) {\n state.grpCodesList[i].isDisabled = true;\n }\n state.grpCodesList.find((p) => p.name == payload).isDisabled = false;\n state.currentEditGrpCode = payload;\n },\n saveGroupCode(state, { payload }) {\n var index = state.masterAllGroupCodes.findIndex(\n (a) => a.name == payload.name\n );\n var values = state.masterAllGroupCodes[index].value;\n state.grpCodesList.find((p) => p.name == payload.name).isDisabled = true;\n state.grpCodesList.find((p) => p.name == payload.name).name =\n payload.newCode;\n\n state.masterAllGroupCodes.splice(index, 1);\n state.masterAllGroupCodes.splice(index, 0, {\n name: payload.newCode,\n value: values,\n });\n state.groupCodeLogs.push(payload.log);\n state.selectedGrpCode = state.grpCodesList[0].name;\n },\n cancelEditGroupCode(state, { payload }) {\n state.grpCodesList.find((p) => p.name == payload).isDisabled = true;\n },\n setCurrentGroupCode(state, { payload }) {\n state.currentEditGrpCode = payload;\n },\n deleteGroupCode(state, { payload }) {\n if (state.grpCodesList != undefined && state.grpCodesList != null) {\n var index1 = state.grpCodesList.findIndex(\n (a) => a.name == payload.name\n );\n var allCodeIndex = state.masterAllGroupCodes.findIndex(\n (a) => a.name == payload.name\n );\n state.grpCodesList.splice(index1, 1);\n state.masterAllGroupCodes.splice(allCodeIndex, 1);\n if (state.grpCodesList.length > 0) {\n state.selectedGrpCode = state.grpCodesList[0].name;\n } else {\n state.selectedGrpCode = \"\";\n }\n var recExist = state.groupCodeLogs.findIndex(\n (p) =>\n p.masterGroupCode == payload.masterGroupCode &&\n p.GroupCode == payload.selectedGroupCode &&\n p.NewValue == payload.name.toUpperCase()\n );\n if (recExist >= 0) {\n state.groupCodeLogs.splice(recExist, 1);\n } else {\n state.groupCodeLogs.push(payload.log);\n }\n }\n },\n addnewSubCode(state, { payload }) {\n const { newDgCode, newDgCodeText, selectedGrpCode, newSubList, log } =\n payload;\n if (!newSubList) {\n state.grpCodesSubList.splice(0, 0, {\n name: newDgCode.toUpperCase(),\n Description: newDgCodeText,\n isDisabled: true,\n });\n var subGrpCodes = [];\n for (let j = 0; j < state.grpCodesSubList.length; j++) {\n subGrpCodes.push(state.grpCodesSubList[j].name);\n }\n var allGrpCodeIndex = state.masterAllGroupCodes.findIndex(\n (i) => i.name == selectedGrpCode.toUpperCase()\n );\n state.masterAllGroupCodes.splice(allGrpCodeIndex, 1);\n state.masterAllGroupCodes.splice(allGrpCodeIndex, 0, {\n name: selectedGrpCode.toUpperCase(),\n value: subGrpCodes,\n });\n state.groupCodeLogs.push(log);\n } else {\n if (state.grpCodesSubList.length == 0) {\n state.grpCodesSubList = [];\n }\n state.grpCodesSubList.splice(0, 0, {\n name: newDgCode.toUpperCase(),\n Description: newDgCodeText,\n isDisabled: true,\n });\n var subGrpCodes = [];\n for (let j = 0; j < state.grpCodesSubList.length; j++) {\n subGrpCodes.push(state.grpCodesSubList[j].name);\n }\n var allGrpCodeIndex = state.masterAllGroupCodes.findIndex(\n (i) => i.name == selectedGrpCode.toUpperCase()\n );\n state.masterAllGroupCodes.splice(allGrpCodeIndex, 1);\n state.masterAllGroupCodes.push({\n name: selectedGrpCode.toUpperCase(),\n value: subGrpCodes,\n });\n state.groupCodeLogs.push(log);\n }\n },\n setSubCodeEditable(state, { payload }) {\n for (let i = 0; i < state.grpCodesSubList.length; i++) {\n state.grpCodesSubList[i].isDisabled = true;\n }\n state.grpCodesSubList.find(\n (p) => p.name == payload.name\n ).isDisabled = false;\n state.currentEditSubCode = payload;\n },\n saveSubCode(state, { payload }) {\n const { name, updatedCode, log } = payload;\n state.grpCodesSubList.find((p) => p.name == name).isDisabled = true;\n state.grpCodesSubList.find((p) => p.name == name).name = updatedCode;\n\n var grpCodeIndex = state.masterAllGroupCodes.findIndex(\n (a) => a.name == state.selectedGrpCode\n );\n state.masterAllGroupCodes.splice(grpCodeIndex, 1);\n var subGrpCodes = [];\n for (let j = 0; j < state.grpCodesSubList.length; j++) {\n subGrpCodes.push(state.grpCodesSubList[j].name);\n }\n state.masterAllGroupCodes.splice(grpCodeIndex, 0, {\n name: state.selectedGrpCode.toUpperCase(),\n value: subGrpCodes,\n });\n state.groupCodeLogs.push(log);\n },\n cancelEditSubCode(state, { payload }) {\n state.grpCodesSubList.find((p) => p.name == payload).isDisabled = true;\n },\n setCurrentSubCode(state, { payload }) {\n state.currentEditSubCode = payload;\n },\n deleteSubCode(state, { payload }) {\n if (state.grpCodesSubList != undefined && state.grpCodesSubList != null) {\n var index = state.grpCodesSubList.findIndex(\n (a) => a.name == payload.name\n );\n var allCodeIndex = state.masterAllGroupCodes.findIndex(\n (a) => a.name == payload.name\n );\n var grpCodeIndex = state.masterAllGroupCodes.findIndex(\n (a) => a.name == state.selectedGrpCode\n );\n state.grpCodesSubList.splice(index, 1);\n state.masterAllGroupCodes.splice(grpCodeIndex, 1);\n var subGrpCodes = [];\n for (let j = 0; j < state.grpCodesSubList.length; j++) {\n subGrpCodes.push(state.grpCodesSubList[j].name);\n }\n state.masterAllGroupCodes.splice(grpCodeIndex, 0, {\n name: state.selectedGrpCode.toUpperCase(),\n value: subGrpCodes,\n });\n var recExist = state.groupCodeLogs.findIndex(\n (p) =>\n p.masterGroupCode == payload.masterGroupCode &&\n p.GroupCode == state.selectedGrpCode &&\n p.NewValue == payload.name.toUpperCase()\n );\n if (recExist >= 0) {\n state.groupCodeLogs.splice(recExist, 1);\n } else {\n state.groupCodeLogs.push(payload.log);\n }\n }\n },\n setgroupCodesWarning(state, { payload }) {\n state.groupCodesWarningMessage = payload;\n state.groupCodesUpdateWarning = true;\n state.isFailed = true;\n },\n setGroupCodesList(state, { payload }) {\n state.grpCodesList = payload;\n },\n setSubCodesList(state, { payload }) {\n state.grpCodesSubList = payload;\n },\n setIsEditorEditable(state, action) {\n state.isEditorEditable = action.payload;\n },\n clearBackToEditor(state, action) {\n state.drgLogicLogs = [];\n state.masterDRGLogicLogs = [];\n state.groupCodesLogs = [];\n state.masterGroupCodesLogs = [];\n },\n setUnSavedData(state, action) {\n state.isUnSavedData = action.payload;\n },\n setSearchFilter(state, action){\n state.isSearchFilter = action.payload;\n },\n resetEditor: () => initialState,\n },\n extraReducers: {\n [GetDRGLogicList.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetDRGLogicList.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n state.editorCollection = payload;\n state.yearsCollection = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n if (state.selectedEditorID == \"\") {\n if (state.isSaveAs) {\n var selectedYearObj = payload.filter(\n (a) => a.id == state.isSaveAsId\n )[0];\n state.selectedEditorYear = selectedYearObj.year;\n } else {\n var currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.yearsCollection.includes(JSON.stringify(upcomingYear))) {\n state.selectedEditorYear = JSON.stringify(upcomingYear);\n } else if (\n state.yearsCollection.includes(JSON.stringify(currentYear))\n ) {\n state.selectedEditorYear = JSON.stringify(currentYear);\n } else if (\n state.yearsCollection.includes(JSON.stringify(previousYear))\n ) {\n state.selectedEditorYear = JSON.stringify(previousYear);\n } else {\n state.selectedEditorYear =\n state.yearsCollection[state.yearsCollection.length - 1];\n }\n var selectedYearObj = payload.filter(\n (a) => a.year == state.selectedEditorYear\n )[0];\n }\n state.selectedEditorObj = selectedYearObj;\n state.selectedEditorID = selectedYearObj.id;\n state.selectedEditorName = selectedYearObj.name;\n state.selectedEditorVersion = selectedYearObj.version;\n }\n else {\n var selectedYearObj = payload.filter(\n (a) => a.year == state.selectedEditorYear\n )[0];\n state.selectedEditorObj = selectedYearObj;\n }\n }\n },\n [GetDRGLogicList.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetDRGLogicList\", action.error.message);\n },\n [GetDRGLogic.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetDRGLogic.fulfilled]: (state, { payload }) => {\n if (payload != null) {\n state.masterSelectedEditorData = payload;\n state.selectedEditorData = payload;\n }\n },\n [GetDRGLogic.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetDRGLogic\", action.error.message);\n },\n [CheckDrgLogicLockStatus.pending]: (state, action) => { },\n [CheckDrgLogicLockStatus.fulfilled]: (state, { payload }) => {\n if (payload != null) {\n state.lockBtnText = payload;\n }\n },\n [CheckDrgLogicLockStatus.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from CheckDrgLogicLockStatus\", action.error.message);\n },\n [GetEditorName.pending]: (state, action) => {\n // state.isLoading = true;\n },\n [GetEditorName.fulfilled]: (state, { payload }) => {\n if (payload != null) {\n state.selectedEditorPerson = payload;\n }\n },\n [GetEditorName.rejected]: (state, action) => {\n // state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetEditorName\", action.error.message);\n },\n [GetLockedRows.pending]: (state, action) => {\n // state.isLoading = true;\n },\n [GetLockedRows.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length >= 0) {\n state.selectedLockedRows = payload;\n }\n },\n [GetLockedRows.rejected]: (state, action) => {\n // state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetLockedRows\", action.error.message);\n },\n [GetLockedRow.pending]: (state, action) => {\n // state.isLoading = true;\n },\n [GetLockedRow.fulfilled]: (state, { payload }) => { },\n [GetLockedRow.rejected]: (state, action) => {\n // state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetLockedRows\", action.error.message);\n },\n [GetPublishAndPreProd.pending]: (state, action) => {\n // state.isLoading = true;\n },\n [GetPublishAndPreProd.fulfilled]: (state, { payload }) => {\n if (payload != null) {\n state.isPublished = payload.isPublished;\n state.isPreProd = payload.isPreProd;\n state.isTest = payload.isTest;\n } else {\n state.isPublished = false;\n state.isPreProd = false;\n }\n },\n [GetPublishAndPreProd.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetPublishAndPreProd\", action.error.message);\n },\n [DrgLogicLock.pending]: (state, action) => {\n state.isLoading = true;\n },\n [DrgLogicLock.fulfilled]: (state, { payload }) => { },\n [DrgLogicLock.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from DrgLogicLock\", action.error.message);\n },\n [LockDrgRules.pending]: (state, action) => {\n state.isLoading = true;\n },\n [LockDrgRules.fulfilled]: (state, { payload }) => { },\n [LockDrgRules.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from LockDrgRules\", action.error.message);\n },\n [DeleteLockedRows.pending]: (state, action) => {\n state.isLoading = true;\n },\n [DeleteLockedRows.fulfilled]: (state, { payload }) => { },\n [DeleteLockedRows.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from DeleteLockedRows\", action.error.message);\n },\n [GetGroupCodes.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetGroupCodes.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload != null && payload.length > 0) {\n state.masterGroupCodesList = payload;\n state.groupCodesList = payload;\n }\n // else if (payload != null && payload == false) {\n\n // }\n // else{\n // state.isError = true;\n // state.isServerError = true;\n // }\n },\n [GetGroupCodes.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetGroupCodes\", action.error.message);\n },\n [GetGroupCodesSubList.pending]: (state, action) => {\n state.isLoading = true;\n },\n [GetGroupCodesSubList.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload != null && payload.length > 0) {\n state.groupCodesSubList = [];\n // for (let i = 0; i < payload.length; i++) {\n // if (payload[i].trim().length > 0) {\n // var description = state.SKSList.find((p) => p.code == payload[i]);\n // state.masterGroupCodesSubList.push({\n // name: payload[i],\n // Description: description == undefined ? \"\" : description.text,\n // isDisabled: true,\n // });\n // state.groupCodesSubList.push({\n // name: payload[i],\n // Description: description == undefined ? \"\" : description.text,\n // isDisabled: true,\n // });\n // }\n // }\n for (let i = 0; i < payload.length; i++) {\n if (payload[i] ?.trim().length > 0) {\n state.groupCodesSubList.push({\n name: payload[i],\n Description: \"\",\n isDisabled: true,\n });\n }\n }\n state.masterGroupCodesSubList = state.groupCodesSubList;\n } else {\n state.groupCodesSubList = [];\n }\n },\n [GetGroupCodesSubList.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from GetGroupCodesSubList\", action.error.message);\n },\n [GEtSKSForLogic.pending]: (state, action) => {\n // state.isLoading = true;\n },\n [GEtSKSForLogic.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload != null) {\n state.SKSList = payload;\n }\n },\n [GEtSKSForLogic.rejected]: (state, action) => {\n state.isLoading = false;\n //state.isError = true;\n //state.isServerError = true;\n console.log(\"Error from GEtSKSForLogic\", action.error.message);\n },\n [SaveDrgRule.pending]: (state, action) => {\n state.isLoading = true;\n },\n [SaveDrgRule.fulfilled]: (state, { payload }) => { },\n [SaveDrgRule.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from SaveDrgRule\", action.error.message);\n },\n [CheckDrgLogicExists.pending]: (state, action) => { },\n [CheckDrgLogicExists.fulfilled]: (state, { payload }) => {\n if (payload != null) {\n state.isDrgLogicExists = payload;\n }\n },\n [CheckDrgLogicExists.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from CheckDrgLogicExists\", action.error.message);\n },\n [SaveAsDrgRule.pending]: (state, action) => {\n state.isLoading = true;\n },\n [SaveAsDrgRule.fulfilled]: (state, { payload }) => { },\n [SaveAsDrgRule.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from SaveAsDrgRule\", action.error.message);\n },\n [getAllCodes.pending]: (state, action) => {\n state.grpCodeLoading = true;\n },\n [getAllCodes.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getAllCodes:\", payload);\n state.grpCodeLoading = false;\n if (payload != null) {\n if (payload != 0) {\n state.masterAllGroupCodes = payload;\n state.grpCodesList = [];\n var grpCodes = payload.map((a) => a.name);\n for (let i = 0; i < grpCodes.length; i++) {\n state.grpCodesList.push({ name: grpCodes[i], isDisabled: true });\n }\n if (state.grpCodesList != undefined && state.grpCodesList != null) {\n state.selectedGrpCode = state.grpCodesList[0].name;\n }\n state.grpCodesListMaster = state.grpCodesList;\n } else {\n state.selectedGrpCode = \"\";\n }\n }\n },\n [getAllCodes.rejected]: (state, action) => {\n //state.isLoading = false;\n state.grpCodeLoading = false;\n state.isServerError = true;\n console.log(\"Error from getAllCodes\", action.error.message);\n },\n [checkLockforClassificationCode.pending]: (state, action) => {\n state.grpCodeLoading = true;\n },\n [checkLockforClassificationCode.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from checkLockforClassificationCode:\", payload);\n if (payload != null) {\n state.canModify = payload;\n }\n\n if (state.selectedGrpCode != \"\" && state.selectedGrpCode != null) {\n var allGrpCodeSubList = state.masterAllGroupCodes.filter(\n (item) => item.name == state.selectedGrpCode\n )[0].value;\n state.grpCodesSubList = [];\n for (let i = 0; i < allGrpCodeSubList.length; i++) {\n if (allGrpCodeSubList[i] ?.trim().length > 0) {\n //commented this because of performance issue, need to add description along with \n //the allGrpCodeSubList rather than filtering SKSList\n // var description = state.SKSList.find(\n // (p) => p.code == allGrpCodeSubList[i]\n // );\n state.grpCodesSubList.push({\n name: allGrpCodeSubList[i],\n Description: \"\",//description == undefined ? \"\" : description.text,\n isDisabled: true,\n });\n }\n }\n state.grpCodesSubListMaster = state.grpCodesSubList;\n }\n state.grpCodeLoading = false;\n },\n [checkLockforClassificationCode.rejected]: (state, action) => {\n state.grpCodeLoading = false;\n state.isServerError = true;\n console.log(\n \"Error from checkLockforClassificationCode\",\n action.error.message\n );\n },\n [saveGroupCodes.pending]: (state, action) => {\n state.grpCodeLoading = true;\n // state.isLoading = true;\n },\n [saveGroupCodes.fulfilled]: (state, { payload }) => {\n // console.log(\"Payload from saveGroupCodes:\", payload);\n state.grpCodeLoading = false;\n if (payload != null && payload == true) {\n state.groupCodeLogs = [];\n state.groupCodesUpdated = true;\n state.isSuccess = true;\n }\n else {\n state.groupCodesUpdated = false;\n state.saveGroupCodeError = true;\n state.isError = true;\n }\n },\n [saveGroupCodes.rejected]: (state, action) => {\n //state.isLoading = false;\n state.groupCodesUpdated = false;\n state.saveGroupCodeError = true;\n state.isError = true;\n console.log(\"Error from saveGroupCodes\", action.error.message);\n },\n\n [getCountingCodes.pending]: (state, action) => {\n // state.isLoading = true;\n },\n [getCountingCodes.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getCountingCodes:\", payload);\n if (payload != null) {\n state.countingCodes = payload;\n }\n },\n [getCountingCodes.rejected]: (state, action) => {\n //state.isLoading = false;\n state.isServerError = true;\n console.log(\"Error from getCountingCodes\", action.error.message);\n },\n [updateCountingCodes.pending]: (state, action) => {\n // state.isLoading = true;\n },\n [updateCountingCodes.fulfilled]: (state, { payload }) => {\n // console.log(\"Payload from updateCountingCodes:\", payload);\n if (payload.indexOf(\"Invalid value\") >= 0) {\n state.isFailed = true;\n state.isCountingCodeFileError = true;\n } else if (payload.indexOf(\"Failed\") >= 0) {\n state.isFailed = true;\n state.countingCodeUpdatedFailed = true;\n } else {\n state.isCountingCodeUpdated = true;\n state.isSuccess = true;\n }\n },\n [updateCountingCodes.rejected]: (state, action) => {\n //state.isLoading = false;\n state.isServerError = true;\n console.log(\"Error from updateCountingCodes\", action.error.message);\n },\n [getDRGLogicLogs.pending]: (state, action) => {\n state.logsLoading = true;\n },\n [getDRGLogicLogs.fulfilled]: (state, { payload }) => {\n state.logsLoading = false;\n if (payload != null && payload.length >= 1) {\n state.drgLogicLogs = [];\n for (var i = 0; i < payload.length; i++) {\n for (var j = 0; j < payload[i].logicComments.length; j++) {\n state.drgLogicLogs.push(\n {\n drgLogicID: payload[i].drgLogicID,\n ruleNo: payload[i].logicComments[j] ?.ruleNo,\n fieldName: payload[i].logicComments[j] ?.fieldName,\n oldValue: payload[i].logicComments[j] ?.oldValue,\n newValue: payload[i].logicComments[j] ?.newValue,\n comments: payload[i].logicComments[j] ?.comments,\n modifiedOn: payload[i].modifiedOn,\n modifiedBy: payload[i].modifiedBy,\n name: payload[i].name,\n }\n );\n }\n }\n state.masterDRGLogicLogs = state.drgLogicLogs;\n }\n },\n [getDRGLogicLogs.rejected]: (state, action) => {\n //state.isLoading = false;\n state.isServerError = true;\n state.logsLoading = false;\n console.log(\"Error from getDRGLogicLogs\", action.error.message);\n },\n [GetGroupCodesLog.pending]: (state, action) => {\n state.logsLoading = true;\n },\n [GetGroupCodesLog.fulfilled]: (state, { payload }) => {\n state.logsLoading = false;\n if (payload != null && payload.length >= 1) {\n state.groupCodesLogs = [];\n for (var i = 0; i < payload.length; i++) {\n for (var j = 0; j < payload[i].logicComments.length; j++) {\n state.groupCodesLogs.push(\n {\n drgLogicID: payload[i].drgLogicID,\n oldValue: payload[i].logicComments[j] ?.oldValue,\n newValue: payload[i].logicComments[j] ?.newValue,\n comments: payload[i].logicComments[j] ?.userComments,\n groupCode: payload[i].logicComments[j] ?.groupCode,\n masterGroupCode: payload[i].logicComments[j] ?.masterGroupCode,\n modifiedOn: payload[i].modifiedOn,\n modifiedBy: payload[i].modifiedBy,\n name: payload[i].name,\n }\n );\n }\n }\n state.masterGroupCodesLogs = state.groupCodesLogs;\n }\n },\n [GetGroupCodesLog.rejected]: (state, action) => {\n //state.isLoading = false;\n state.isServerError = true;\n state.logsLoading = false;\n console.log(\"Error from GetGroupCodesLog\", action.error.message);\n },\n },\n});\nexport const {\n clearStatus,\n setSelectedEditor,\n setEditorDetails,\n setMasterSelectedEditorData,\n setSelectedEditorData,\n setSelectedEditorRule,\n setSelectedGroupCode,\n setOnCellDoubleClick,\n setOpenCellEdit,\n setOpenCellEditContains,\n setDrgLogicComments,\n setGroupCodesFilter,\n setDiagonisFilter,\n setMetaData,\n setSelectionModel,\n setIsPaste,\n setIsDuplicate,\n setIsDelete,\n setReadOnly,\n setSatusMessages,\n setdrgLogicLogs,\n setgroupCodesLogs,\n addnewGroupCode,\n setGroupCodeWarning,\n setSelectedGrpCode,\n setGrpCodeEditable,\n saveGroupCode,\n cancelEditGroupCode,\n setCurrentGroupCode,\n deleteGroupCode,\n addnewSubCode,\n setSubCodeEditable,\n saveSubCode,\n cancelEditSubCode,\n setCurrentSubCode,\n deleteSubCode,\n setgroupCodesWarning,\n setGroupCodesList,\n setSubCodesList,\n setIsEditorEditable,\n endUserSession,\n setExistingSubcodes,\n clearBackToEditor,\n setUnSavedData,\n resetEditor,\n setSearchFilter,\n} = editorSlice.actions;\nexport default editorSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const UpdateProfile = createAsyncThunk(\n \"registerUser/UpdateProfile\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n if (token) {\n headers.append(\"Authorization\", `Bearer ${token}`);\n }\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst profileSlice = createSlice({\n name: \"profile\",\n initialState: {\n isLoading: false,\n isSuccess: false,\n isFailed: false,\n isError: false,\n isServerError: false,\n isSecureRerender: false,\n isSessionValid: true,\n },\n reducers: {\n endUserSession(state,action){\n state.isSessionValid = false;\n },\n clearStatus(state, action) {\n state.isSuccess = false;\n state.isFailed = false;\n state.isError = false;\n state.isServerError = false;\n },\n },\n extraReducers: {\n [UpdateProfile.pending]: (state, action) => {\n state.isLoading = true;\n },\n [UpdateProfile.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if(payload != null && payload == true){\n state.isSuccess = true;\n state.isSecureRerender = false;\n }\n else{\n state.isFailed = true;\n }\n },\n [UpdateProfile.rejected]: (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.isServerError = true;\n console.log(\"Error from UpdateProfile\", action.error.message);\n },\n },\n});\n\nexport const { clearStatus, endUserSession } = profileSlice.actions;\nexport default profileSlice.reducer;","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { saveAs } from \"file-saver\";\n\nexport const loadlogic = createAsyncThunk(\n \"publicPageSlice/loadlogic\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n return r.json();\n });\n }\n);\n\nexport const downloadLogic = createAsyncThunk(\n \"publicPageSlice/downloadLogic\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n return r.blob();\n });\n }\n);\n\nexport const getAllGrouperData = createAsyncThunk(\n \"publicPageSlice/getAllGrouperData\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"Public/GetGrouperUsedDetails\", reqOptions).then((r) => {\n return r.json();\n });\n }\n);\n\nexport const downloadGrouper = createAsyncThunk(\n \"publicPageSlice/downloadGrouper\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((r) => {\n return r.blob();\n });\n }\n);\n\nexport const getCountries = createAsyncThunk(\n \"publicPageSlice/getCountries\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"home/GetCountry\", reqOptions).then((r) => {\n return r.json();\n });\n }\n);\n\nexport const GetDRGFrontPageContent = createAsyncThunk(\n \"publicPageSlice/GetDRGFrontPageContent\",\n async (obj, { dispatch, getState }) => {\n const { selectedYear, isEnvironment } = getState().publicPage;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let langval = localStorage.getItem(\"language\");\n let url = \"Public/GetDRGFrontPageContent?language=\" + langval + \"&year=\" + selectedYear + \"&destEnvironment=\" + isEnvironment;\n return await fetch(url, reqOptions).then((res) => {\n return res.json();\n });\n }\n);\n\nexport const GetGrouperFrontPageContent = createAsyncThunk(\n \"publicPageSlice/GetGrouperFrontPageContent\",\n async (obj, { dispatch, getState }) => {\n const { selectedGrouperYear, isEnvironment } = getState().publicPage;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let langval = localStorage.getItem(\"language\");\n let url = \"Public/GetGrouperFrontPageContent?language=\" + langval + \"&year=\" + selectedGrouperYear + \"&destEnvironment=\" + isEnvironment;\n return await fetch(url, reqOptions).then((res) => {\n return res.json();\n });\n }\n);\n\nconst publicPageSlice = createSlice({\n name: \"publicPageSlice\",\n initialState: {\n isLoading: false,\n data: [],\n selectedYear: \"\",\n distinctUploadYear: [],\n filterdata: [],\n masterfilterdata: [],\n selectedDRGLogic: null,\n selectedDRGLogicID: \"\",\n page: \"\",\n prodData: [],\n prodYear: [],\n distinctGrouperYear: [],\n masterGrouperData: [],\n selectedGrouperYear: \"\",\n selectedGrouper: null,\n selectedGrouperID: \"\",\n selectedGrouperName: \"\",\n grouperPage: \"\",\n prodGrouperData: [],\n prodGrouperYear: [],\n countries: [],\n drgFrontPageContent: \"\",\n isEnvironment: \"\",\n grouperFrontPageContent: \"\",\n isValidData: false,\n isInvalidData: false,\n },\n reducers: {\n setSelectedYear(state, action) {\n state.selectedYear = action.payload;\n },\n setMasterFilterData(state, action) {\n state.masterfilterdata = action.payload;\n state.selectedDRGLogic = state.masterfilterdata;\n state.selectedDRGLogicID = state.masterfilterdata[0]._id;\n },\n setFilterData(state, action) {\n state.filterdata = action.payload;\n },\n setSelectedDRGLogic(state, action) {\n state.selectedDRGLogic = state.masterfilterdata.filter(\n (data) => data._id == action.payload\n );\n state.selectedDRGLogicID = action.payload;\n },\n setPage(state, action) {\n state.page = action.payload;\n },\n setGrouperPage(state, action) {\n state.grouperPage = action.payload;\n },\n setSelectedGrouperYear(state, action) {\n state.selectedGrouperYear = action.payload;\n },\n setSelectedGrouper(state, action) {\n state.selectedGrouperID = action.payload;\n },\n setMasterGrouperData(state, action) {\n state.masterGrouperData = action.payload;\n state.selectedGrouperName = state.masterGrouperData[0] ?.grouperName;\n state.selectedGrouperID = state.masterGrouperData[0] ?.id;\n },\n setEnvironment(state, { payload }) {\n state.isEnvironment = payload;\n },\n },\n extraReducers: {\n [loadlogic.pending]: (state, action) => {\n state.isLoading = true;\n },\n [loadlogic.fulfilled]: (state, { payload }) => {\n //console.log(\"payload:\", payload);\n state.isLoading = false;\n state.isRender = false;\n if (payload != null && payload.length > 0) {\n // state.isNoData = false;\n payload = payload.map((item) => {\n let UploadedDateFormat;\n if (item.UploadedDate != null) {\n let date = new Date(item.UploadedDate);\n let dateFormat =\n date.getMonth() +\n 1 +\n \"/\" +\n date.getDate() +\n \"/\" +\n date.getFullYear();\n return { ...item, UploadedDateFormat: dateFormat };\n } else {\n return { ...item, UploadedDateFormat: \"\" };\n }\n });\n state.data = payload;\n state.distinctUploadYear = payload\n .map((item) => item.Year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n if (state.page === \"test\") {\n if (state.selectedYear != \"\" && state.selectedDRGLogicID != \"\") {\n state.filterdata = payload.filter(\n (item) =>\n item.Year == state.selectedYear &&\n item._id == state.selectedDRGLogicID &&\n item.isTest == true\n );\n if (state.filterdata.length > 0) {\n state.isValidData = true;\n state.masterfilterdata = state.filterdata;\n state.selectedDRGLogic = state.masterfilterdata;\n } else {\n state.isInvalidData = true;\n }\n }\n } else if (state.page === \"hearing\") {\n state.filterdata = payload.filter(item => item.isPreProd == true);\n if (state.filterdata.length > 0) {\n state.isValidData = true;\n state.selectedYear = state.filterdata[0] ?.Year;\n state.masterfilterdata = state.filterdata;\n state.selectedDRGLogicID = state.masterfilterdata[0]._id;\n state.selectedDRGLogic = state.masterfilterdata;\n } else {\n state.isInvalidData = true;\n }\n } else if (state.page === \"prod\") {\n state.prodData = payload.filter((item) => item.isPublished == true);\n if (state.prodData.length > 0) {\n state.isValidData = true;\n state.prodYear = state.prodData\n .map((item) => item.Year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.prodYear.includes(JSON.stringify(upcomingYear))) {\n state.selectedYear = JSON.stringify(upcomingYear);\n } else if (\n state.prodYear.includes(JSON.stringify(currentYear))\n ) {\n state.selectedYear = JSON.stringify(currentYear);\n } else if (\n state.prodYear.includes(JSON.stringify(previousYear))\n ) {\n state.selectedYear = JSON.stringify(previousYear);\n } else {\n state.selectedYear = state.prodYear[0];\n }\n state.filterdata = payload.filter(\n (item) =>\n item.Year == state.selectedYear && item.isPublished == true\n );\n state.masterfilterdata = state.filterdata;\n state.selectedDRGLogic = state.masterfilterdata;\n state.selectedDRGLogicID = state.masterfilterdata[0]._id;\n }\n } else {\n state.isInvalidData = true;\n }\n }\n },\n [loadlogic.rejected]: (state, action) => {\n console.log(\"Error from loadLogic\", action.error.message);\n },\n [downloadLogic.pending]: (state, action) => {\n state.isLoading = true;\n },\n [downloadLogic.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n if (payload.type == \"application/json\") {\n console.log(\"Error from downloadLogic\");\n } else if (payload.type == \"application/octet-stream\") {\n saveAs(payload, state.selectedDRGLogic[0] ?.Name + \".zip\");\n }\n },\n [downloadLogic.rejected]: (state, action) => {\n state.isLoading = false;\n console.log(\"Error from downloadLogic\", action.error.message);\n },\n [getAllGrouperData.pending]: (state, action) => {\n state.loading = true;\n },\n [getAllGrouperData.fulfilled]: (state, { payload }) => {\n state.masterGrouperData = payload;\n state.distinctGrouperYear = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n if (state.grouperPage === \"test\") {\n if (state.selectedGrouperYear != \"\" && state.selectedGrouperID != \"\") {\n var filterdata = payload.filter(\n (item) =>\n item.year == state.selectedGrouperYear &&\n item.id == state.selectedGrouperID &&\n item.status == 3\n );\n if (filterdata.length > 0) {\n state.isValidData = true;\n state.masterGrouperData = filterdata;\n state.selectedGrouperName = state.masterGrouperData[0].grouperName;\n } else {\n state.isInvalidData = true;\n }\n }\n } else if (state.grouperPage === \"hearing\") {\n var filterdata = payload.filter(item => item.status == 2);\n if (filterdata.length > 0) {\n state.isValidData = true;\n state.selectedGrouperYear = filterdata[0] ?.year;\n state.masterGrouperData = filterdata.length > 0 ? filterdata : payload;\n state.selectedGrouperName = state.masterGrouperData[0].grouperName;\n state.selectedGrouperID = state.masterGrouperData[0] ?.id;\n } else {\n state.isInvalidData = true;\n }\n } else if (state.grouperPage === \"prod\") {\n state.prodGrouperData = payload.filter((item) => item.status == 1);\n state.isValidData = true;\n if (state.prodGrouperData.length > 0) {\n state.prodGrouperYear = state.prodGrouperData\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n let currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.prodGrouperYear.includes(JSON.stringify(upcomingYear))) {\n state.selectedGrouperYear = JSON.stringify(upcomingYear);\n } else if (\n state.prodGrouperYear.includes(JSON.stringify(currentYear))\n ) {\n state.selectedGrouperYear = JSON.stringify(currentYear);\n } else if (\n state.prodGrouperYear.includes(JSON.stringify(previousYear))\n ) {\n state.selectedGrouperYear = JSON.stringify(previousYear);\n } else {\n state.selectedGrouperYear = state.prodGrouperYear[0];\n }\n var filterdata = payload.filter(\n (item) => item.year == state.selectedGrouperYear && item.status == 1\n );\n state.masterGrouperData = filterdata;\n state.selectedGrouperName = state.masterGrouperData[0].grouperName;\n state.selectedGrouperID = state.masterGrouperData[0] ?.id;\n }\n } else {\n state.isInvalidData = true;\n }\n },\n [getAllGrouperData.rejected]: (state, action) => {\n state.isFailed = true;\n console.log(\"Error from getAllGrouperData\", action.error.message);\n },\n [downloadGrouper.pending]: (state, action) => {\n state.isLoading = true;\n },\n [downloadGrouper.fulfilled]: (state, { payload }) => {\n state.isLoading = false;\n console.log(payload);\n if (payload.type == \"application/json\") {\n console.log(\"Error from downloadGrouper\");\n } else if (payload.type == \"application/octet-stream\") {\n saveAs(payload, state.selectedGrouperName + \".zip\");\n }\n },\n [downloadGrouper.rejected]: (state, action) => {\n state.isLoading = false;\n console.log(\"Error from downloadGrouper\", action.error.message);\n },\n [getCountries.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getCountries.fulfilled]: (state, { payload }) => {\n // console.log(\"Countries\", payload);\n state.countries = payload;\n state.status = \"success\";\n },\n [getCountries.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getCountries\", action.error.message);\n },\n [GetDRGFrontPageContent.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [GetDRGFrontPageContent.fulfilled]: (state, { payload }) => {\n if (payload.length > 0 && payload[0].languageValue != \"\") {\n state.drgFrontPageContent = payload[0].languageValue;\n }\n else {\n state.drgFrontPageContent = \"\";\n }\n },\n [GetDRGFrontPageContent.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from GetDRGFrontPageContent\", action.error.message);\n },\n [GetGrouperFrontPageContent.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [GetGrouperFrontPageContent.fulfilled]: (state, { payload }) => {\n if (payload.length > 0 && payload[0].languageValue != \"\") {\n state.grouperFrontPageContent = payload[0].languageValue;\n }\n else {\n state.grouperFrontPageContent = \"\";\n }\n },\n [GetGrouperFrontPageContent.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from GetGrouperFrontPageContent\", action.error.message);\n },\n },\n});\nexport const {\n setSelectedYear,\n setMasterFilterData,\n setFilterData,\n setSelectedDRGLogic,\n setPage,\n setGrouperPage,\n setSelectedGrouperYear,\n setSelectedGrouper,\n setMasterGrouperData,\n setEnvironment,\n} = publicPageSlice.actions;\nexport default publicPageSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n//import { createFalse } from \"typescript\";\n\nexport const getInteractiveNames = createAsyncThunk(\n \"publicInteractive/getInteractiveNames\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getZipFile = createAsyncThunk(\n \"publicInteractive/getZipFile\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return await fetch(obj.url, reqOptions).then((response) => {\n if (response.status === 200) {\n return response.blob();\n }\n if (response.status === 401) {\n dispatch(endUserSession());\n }\n });\n }\n);\n\nexport const getAllMasterData = createAsyncThunk(\n \"publicInteractive/getAllMasterData\",\n async (obj, { dispatch, getState }) => {\n console.log(\"Inside the getAllMasterData\");\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"Public/GetInteractiveMasterData\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllDiagnosis = createAsyncThunk(\n \"publicInteractive/getAllDiagnosis\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let interactive = state.publicInteractive.selectedInteractiveObj;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let parentId = obj.parentId ? obj.parentId : \"\";\n let url =\n \"Public/GetAllSKSDiagnosis?grouperName=\" +\n interactive.grouperName +\n \"&grouperVersion=\" +\n interactive.grouperVersion +\n \"&year=\" +\n interactive.year +\n \"&parentid=\" +\n parentId;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllProcedures = createAsyncThunk(\n \"publicInteractive/getAllProcedures\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let interactive = state.publicInteractive.selectedInteractiveObj;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let parentId = obj.parentId ? obj.parentId : \"\";\n let url =\n \"Public/GetAllSKSProcedures?grouperName=\" +\n interactive.grouperName +\n \"&grouperVersion=\" +\n interactive.grouperVersion +\n \"&year=\" +\n interactive.year +\n \"&parentid=\" +\n parentId;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDiagnosisSearch = createAsyncThunk(\n \"publicInteractive/getDiagnosisSearch\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let interactive = state.publicInteractive.selectedInteractiveObj;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"Public/GetSKSDiagSearch?grouperName=\" +\n interactive.grouperName +\n \"&grouperVersion=\" +\n interactive.grouperVersion +\n \"&year=\" +\n interactive.year +\n \"&search=\" +\n obj.search;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getProcedureSearch = createAsyncThunk(\n \"publicInteractive/getProcedureSearch\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let interactive = state.publicInteractive.selectedInteractiveObj;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"Public/GetSKSProcSearch?grouperName=\" +\n interactive.grouperName +\n \"&grouperVersion=\" +\n interactive.grouperVersion +\n \"&year=\" +\n interactive.year +\n \"&search=\" +\n obj.search;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const interactiveProcessResult = createAsyncThunk(\n \"publicInteractive/interactiveProcessResult\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n const token = localStorage.getItem(\"token\");\n let headers = new Headers({\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: 0,\n });\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n reqOptions.headers = headers;\n reqOptions.body = JSON.stringify(obj.body);\n reqOptions.method = obj.method;\n\n let url = \"Public/ProcessResult?isHearing=\" + false;\n return await fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualDatabyID = createAsyncThunk(\n \"publicInteractive/getVisualDatabyID\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"Public/GetVisualDatabyId?id=\" + obj.id;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualMetadata = createAsyncThunk(\n \"publicInteractive/getVisualMetadata\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n\n let url =\n \"Public/GetMetadata?visualname=\" +\n obj.name +\n \"&visualversion=\" +\n obj.version +\n \"&year=\" +\n obj.year;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualNodesJSON = createAsyncThunk(\n \"publicInteractive/getVisualNodesJSON\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n\n let url =\n \"Public/GetViewerData/?_logicName=\" +\n obj.logicName +\n \"&_logicVersion=\" +\n obj.logicVersion +\n \"&_year=\" +\n obj.year +\n \"&pricename=\" +\n obj.priceName +\n \"&priceversion=\" +\n obj.priceVersion;\n return await fetch(url, reqOptions).then((res) => {\n if (res.status === 401) {\n dispatch(endUserSession());\n } else {\n return res.json();\n }\n });\n }\n);\n\nexport const GetInteractiveFrontPageContent = createAsyncThunk(\n \"publicInteractive/GetInteractiveFrontPageContent\",\n async (obj, { dispatch, getState }) => {\n const { selectedInteractiveYear, isEnvironment } =\n getState().publicInteractive;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let langval = localStorage.getItem(\"language\");\n let url =\n \"Public/GetInteractiveFrontPageContent?language=\" +\n langval +\n \"&year=\" +\n selectedInteractiveYear +\n \"&destEnvironment=\" +\n isEnvironment;\n return await fetch(url, reqOptions).then((res) => {\n return res.json();\n });\n }\n);\n\nexport const getCountries = createAsyncThunk(\n \"publicInteractive/getCountries\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"home/GetCountry\", reqOptions).then((r) => {\n return r.json();\n });\n }\n);\n\nexport const GetInteractiveById = createAsyncThunk(\n \"publicInteractive/GetInteractiveById\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 500) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nconst publicInteractiveSlice = createSlice({\n name: \"publicInteractive\",\n initialState: {\n interactiveCollection: [],\n yearsCollection: [],\n selectedInteractiveObj: [],\n selectedInteractiveID: \"\",\n selectedInteractiveName: \"\",\n selectedInteractiveYear: \"\",\n isYearGreaterThan2021: false,\n blobToDownload: null,\n selectedFileType: \"\",\n fileNotExists: false,\n introInfoPanel: true,\n patientInfoPanel: true,\n diseasesPanel: true,\n episodesPanel: false,\n spellsPanel: false,\n resultsPanel: false,\n patientInputs: [],\n gender: \"\",\n birthValue: \"No\",\n disableBirth: true,\n enableBirthInfo: false,\n isMale: true,\n age: \"32\",\n ageUnit: \"\",\n gestationAge: \"\",\n discharge: \"\",\n contactType: \"\",\n birthType: \"\",\n height: \"163\",\n weight: \"64\",\n hospitalisationMethod: \"\",\n disableContactReason: true,\n reasonForContact: \"\",\n contactDays: \"\",\n contactDaysStartDate: null,\n contactDaysEndDate: null,\n varighed: \"\",\n disableContactDays: true,\n dateError: false,\n diagnosisParentCollection: null,\n proceduresParentCollection: null,\n diagnosisChildCollection: null,\n diagnosisHasChildren: false,\n proceduresChildCollection: null,\n procedureHasChildren: false,\n isChooseDiagnosis: true,\n isChooseDiagAdditional: true,\n diagnosis: [],\n diagnosisData: [],\n diagnosisSet: false,\n isChooseProcedure: true,\n isChooseProcAdditional: true,\n procedure: [],\n procedureData: [],\n procedureSet: false,\n diagnosisSearchTree: null,\n diagnosisSearch: false,\n procedureSearchTree: null,\n procedureSearch: false,\n interactiveList: [],\n overWriteVarighedValue: \"\",\n autoIncrementProgressID: 0,\n spellsList: [],\n contactDaysNoProgress: 0,\n spellVarighed: \"\",\n updateSuccess: false,\n requestList: [],\n requestType: \"\",\n resultList: [],\n resultError: false,\n errorMessage: \"\",\n reportDialog: false,\n isVisualLoading: false,\n visualDialog: false,\n visualID: \"\",\n visualSearchValue: \"\",\n dataForGoJs: null,\n isResultLoading: false,\n noVisualIDError: false,\n diagnosisParentMaster: null,\n procedureParentMaster: null,\n loadDiagAndProc: false,\n isSessionValid: true,\n interactiveFrontPageContent: \"\",\n countries: [],\n isEnvironment: \"\",\n isValidData: false,\n isInvalidData: false,\n },\n reducers: {\n endUserSession(state, action) {\n state.isSessionValid = false;\n },\n setSelectedInteractive(state, action) {\n state.selectedInteractiveObj = action.payload;\n },\n setInteractiveDetails(state, action) {\n state.selectedInteractiveID = action.payload.id;\n state.selectedInteractiveName = action.payload.name;\n state.selectedInteractiveYear = action.payload.year;\n let year = parseInt(action.payload.year);\n if (year > 2021) {\n state.isYearGreaterThan2021 = true;\n state.disableContactDays = true;\n state.contactDays = \"\";\n } else {\n state.isYearGreaterThan2021 = false;\n state.disableContactDays = false;\n state.contactDays = \"1\";\n }\n },\n setSelectedFileToDownload(state, action) {\n state.selectedFileType = action.payload;\n },\n clearValues(state, action) {\n state.selectedFileType = null;\n state.blobToDownload = null;\n },\n errorMessageClose(state, action) {\n state.fileNotExists = false;\n },\n setPanel(state, { payload }) {\n if (payload) {\n state[`${payload}`] = !state[`${payload}`];\n }\n },\n setChildrenStatus(state, { payload }) {\n if (payload.name === \"diagnosis\") {\n state.diagnosisHasChildren = payload.value;\n } else if (payload.name === \"procedures\") {\n state.procedureHasChildren = payload.value;\n }\n },\n setSelectionButton(state, { payload }) {\n if (payload.name === \"diagnosis\") {\n state.isChooseDiagnosis = payload.value;\n } else if (payload.name === \"diagAdditional\") {\n state.isChooseDiagAdditional = payload.value;\n } else if (payload.name === \"procedure\") {\n state.isChooseProcedure = payload.value;\n } else if (payload.name === \"procAdditional\") {\n state.isChooseProcAdditional = payload.value;\n }\n },\n setDiagnosisData(state, { payload }) {\n state.diagnosisData = payload;\n },\n setDiagnosis(state, action) {\n const { uniqueID, type, code, Id, name, selected } = action.payload;\n state.diagnosis.push({\n uniqueID: uniqueID,\n type: type,\n code: code,\n Id: Id,\n name: name,\n selected: selected,\n additionalCode: [],\n });\n state.diagnosisSet = true;\n },\n setDiagnosisAdditionalCode(state, action) {\n const { index, uniqueID, type, code, Id, name } = action.payload;\n state.diagnosis[index].additionalCode.push({\n uniqueID: uniqueID,\n type: type,\n code: code,\n Id: Id,\n name: name,\n });\n },\n updateSelectedDiagnosis(state, { payload }) {\n state.diagnosis.forEach((element) => {\n element.selected = false;\n });\n state.diagnosis[payload.index].selected = payload.value;\n },\n diagnosisMoveUp(state, action) {\n const index = action.payload;\n if (index > 0) {\n const tmp = state.diagnosis[index - 1];\n state.diagnosis[index - 1] = state.diagnosis[index];\n state.diagnosis[index] = tmp;\n if (state.diagnosis.length >= 1) {\n state.diagnosis.forEach((element, index) => {\n if (index === 0) {\n state.diagnosis[index].type = \"A\";\n } else {\n state.diagnosis[index].type = \"B\";\n }\n });\n }\n }\n },\n diagnosisMoveDown(state, action) {\n const index = action.payload;\n if (index < state.diagnosis.length) {\n const tmp = state.diagnosis[index + 1];\n state.diagnosis[index + 1] = state.diagnosis[index];\n state.diagnosis[index] = tmp;\n if (state.diagnosis.length >= 1) {\n state.diagnosis.forEach((element, index) => {\n if (index === 0) {\n state.diagnosis[index].type = \"A\";\n } else {\n state.diagnosis[index].type = \"B\";\n }\n });\n }\n }\n },\n deleteDiagnosis(state, { payload }) {\n state.diagnosis.splice(payload.index, 1);\n if (state.diagnosis.length >= 1) {\n state.diagnosis[0].type = \"A\";\n }\n state.diagnosisSet = true;\n },\n deleteAdditionalDiagnosis(state, { payload }) {\n state.diagnosis[payload.diagIndex].additionalCode.splice(\n payload.addDiagIndex,\n 1\n );\n },\n\n setProcedureData(state, { payload }) {\n state.procedureData = payload;\n },\n setProcedure(state, action) {\n const { uniqueID, type, code, Id, name, selected } = action.payload;\n state.procedure.push({\n uniqueID: uniqueID,\n type: type,\n code: code,\n Id: Id,\n name: name,\n selected: selected,\n additionalCode: [],\n });\n state.procedureSet = true;\n },\n setProcedureAdditionalCode(state, action) {\n const { index, uniqueID, type, code, Id, name } = action.payload;\n state.procedure[index].additionalCode.push({\n uniqueID: uniqueID,\n type: type,\n code: code,\n Id: Id,\n name: name,\n });\n },\n updateSelectedProcedure(state, { payload }) {\n state.procedure.forEach((element) => {\n element.selected = false;\n });\n state.procedure[payload.index].selected = payload.value;\n },\n procedureMoveUp(state, action) {\n const index = action.payload;\n if (index > 0) {\n const tmp = state.procedure[index - 1];\n state.procedure[index - 1] = state.procedure[index];\n state.procedure[index] = tmp;\n }\n },\n procedureMoveDown(state, action) {\n const index = action.payload;\n if (index < state.procedure.length) {\n const tmp = state.procedure[index + 1];\n state.procedure[index + 1] = state.procedure[index];\n state.procedure[index] = tmp;\n }\n },\n deleteProcedure(state, { payload }) {\n state.procedure.splice(payload.index, 1);\n state.procedureSet = true;\n },\n deleteAdditionalProcedure(state, { payload }) {\n state.procedure[payload.procIndex].additionalCode.splice(\n payload.addProcIndex,\n 1\n );\n },\n setSearchStatus(state, { payload }) {\n if (payload.name === \"diagnosis\") {\n state.diagnosisSearch = payload.value;\n } else if (payload.name === \"procedure\") {\n state.procedureSearch = payload.value;\n }\n },\n setGender(state, { payload }) {\n state.gender = payload;\n if (payload === \"2\") {\n state.disableBirth = false;\n state.isMale = false;\n const femaleGestationDefaultValue =\n state.patientInputs[0].femaleGestation.find(\n (item) => item.name.en === \"\" || item.name.dk === \"\"\n );\n if (femaleGestationDefaultValue) {\n state.gestationAge = femaleGestationDefaultValue.value;\n }\n } else {\n state.disableBirth = true;\n state.birthValue = \"No\";\n state.enableBirthInfo = false;\n state.isMale = true;\n const maleGestationDefaultValue =\n state.patientInputs[0].maleGestation.find(\n (item) => item.name.en === \"\" || item.name.dk === \"\"\n );\n if (maleGestationDefaultValue) {\n state.gestationAge = maleGestationDefaultValue.value;\n }\n }\n },\n setBirthValue(state, { payload }) {\n state.birthValue = payload;\n if (payload === \"Yes\") {\n state.enableBirthInfo = true;\n } else {\n state.enableBirthInfo = false;\n }\n },\n setValues(state, { payload }) {\n if (payload) {\n state[`${payload.name}`] = payload.value;\n }\n if (payload.name === \"hospitalisationMethod\") {\n state.disableContactReason = payload.value === \"1\" ? false : true;\n }\n if (payload.name === \"varighed\") {\n state.disableContactDays = payload.value === \"1\" ? true : false;\n state.contactDays = payload.value === \"1\" ? \"\" : \"1\";\n state.contactDaysStartDate =\n payload.value === \"1\" ? null : state.contactDaysStartDate;\n state.contactDaysEndDate =\n payload.value === \"1\" ? null : state.contactDaysEndDate;\n }\n },\n setDateToDefault(state, { payload }) {\n state.ontactDaysStartDate = null;\n state.contactDaysEndDate = null;\n state.contactDays = \"1\";\n state.dateError = true;\n },\n dateErrorClose(state, { payload }) {\n state.dateError = false;\n },\n clearPatientInformation(state, { payload }) {\n state.gender = \"\";\n state.birthValue = \"No\";\n state.disableBirth = true;\n state.enableBirthInfo = false;\n state.isMale = true;\n state.age = \"32\";\n state.ageUnit = \"\";\n state.gestationAge = \"\";\n state.discharge = \"\";\n state.contactType = \"\";\n state.birthType = \"\";\n state.height = \"163\";\n state.weight = \"64\";\n state.hospitalisationMethod = \"\";\n state.disableContactReason = true;\n state.reasonForContact = \"\";\n state.contactDaysStartDate = null;\n state.contactDaysEndDate = null;\n state.varighed = \"\";\n if (state.isYearGreaterThan2021) {\n state.contactDays = \"\";\n state.disableContactDays = true;\n } else {\n state.contactDays = \"1\";\n state.disableContactDays = false;\n }\n state.dateError = false;\n },\n addToSpell(state, { payload }) {\n let refId = state.interactiveList.length;\n refId++;\n state.autoIncrementProgressID = state.autoIncrementProgressID + 1;\n let clone = JSON.parse(JSON.stringify(payload.data));\n clone[\"Id\"] = refId;\n state.interactiveList.push(clone);\n localStorage.setItem(\n \"interactiveList\",\n JSON.stringify(state.interactiveList)\n );\n if (payload.handler === \"AddToSpell\") {\n state.spellsList.push({\n id: state.autoIncrementProgressID,\n val: clone,\n refId: refId,\n });\n localStorage.setItem(\"spellsList\", JSON.stringify(state.spellsList));\n\n if (state.isYearGreaterThan2021) {\n if (state.spellsList.length > 0) {\n state.overWriteVarighedValue = Math.max(\n ...state.spellsList.map((o) => parseInt(o.val[0].varighed)),\n 0\n ).toString();\n } else {\n state.overWriteVarighedValue = null;\n }\n }\n let contDays = 0;\n if (clone[0].contactDays > 0) {\n state.spellsList.forEach((element) => {\n contDays += element.val[0].contactDays;\n });\n state.contactDaysNoProgress = contDays;\n } else {\n state.contactDaysNoProgress = state.spellsList.length;\n }\n\n state.spellsPanel = true;\n state.episodesPanel = true;\n } /* else if (payload.handler === \"RunQuery\") {\n state.episodesPanel = true;\n state.spellsPanel = true;\n state.resultsPanel = true;\n } */\n state.diagnosis = [];\n state.procedure = [];\n },\n spellMoveLeft(state, action) {\n const index = action.payload;\n if (index > 0) {\n const tmp = state.spellsList[index - 1];\n state.spellsList[index - 1] = state.spellsList[index];\n state.spellsList[index] = tmp;\n }\n },\n spellMoveRight(state, action) {\n const index = action.payload;\n if (index < state.spellsList.length) {\n const tmp = state.spellsList[index + 1];\n state.spellsList[index + 1] = state.spellsList[index];\n state.spellsList[index] = tmp;\n }\n },\n deleteSpell(state, { payload }) {\n var index = state.spellsList.findIndex(\n (item) => item.id == payload.refId\n );\n state.spellsList.splice(index, 1);\n let contDays = 0;\n if (state.spellsList.length > 0 && state.isYeargreaterThan2021) {\n state.overWriteVarighedValue = Math.max(\n ...state.spellsList.map((o) => parseInt(o.val[0].varighed)),\n 0\n ).toString();\n } else {\n state.overWriteVarighedValue = null;\n }\n state.spellsList.forEach((element) => {\n contDays += element.val[0].contactDays;\n });\n state.contactDaysNoProgress = contDays;\n },\n clearSpellInformation(state, { payload }) {\n state.spellsList = [];\n state.contactDaysNoProgress = 0;\n },\n expandCollapseUpdate(state, { payload }) {\n state.interactiveList[payload.index][0].expandCollapseValue =\n payload.value;\n },\n addEpisodeToSpell(state, { payload }) {\n state.spellsList.push({\n id: state.autoIncrementProgressID + 1,\n val: payload.item,\n refId: payload.id,\n });\n localStorage.setItem(\"spellsList\", JSON.stringify(state.spellsList));\n if (state.isYearGreaterThan2021) {\n if (state.spellsList.length > 0) {\n state.overWriteVarighedValue = Math.max(\n ...state.spellsList.map((o) => parseInt(o.val[0].varighed)),\n 0\n ).toString();\n } else {\n state.overWriteVarighedValue = null;\n }\n }\n let contDays = 0;\n if (payload.item[0].contactDays > 0) {\n state.spellsList.forEach((element) => {\n contDays += element.val[0].contactDays;\n });\n state.contactDaysNoProgress = contDays;\n } else {\n state.contactDaysNoProgress = state.spellsList.length;\n }\n },\n editEpisode(state, { payload }) {\n state.age = payload.age;\n state.ageUnit = payload.ageTypeValue;\n state.contactType = payload.contactTypeValue;\n state.gender = payload.genderValue;\n state.birthValue = payload.isBirth == 1 ? \"Yes\" : \"No\";\n state.birthType = payload.birthTypeValue;\n state.height = payload.height;\n state.weight = payload.weight;\n state.hospitalisationMethod = payload.hospWayValue;\n state.reasonForContact = payload.reasonForContactValue;\n state.discharge = payload.dischargeValue;\n state.gestationAge =\n payload.genderValue === \"1\"\n ? payload.maleGestationAgeValue\n : payload.femaleGestationAgeValue;\n state.varighed = payload.varighed;\n state.contactDays = payload.contactDays;\n state.diagnosis = payload.diagnosis;\n state.procedure = payload.procedure;\n },\n deleteEpisode(state, { payload }) {\n /* var index = state.interactiveList.findIndex(\n (item) => item[0].Id == payload\n ); */\n state.interactiveList.splice(payload, 1);\n },\n clearEpisodesInformation(state, { payload }) {\n state.interactiveList = [];\n },\n setInteractiveList(state, { payload }) {\n let refId = state.interactiveList.length;\n refId++;\n let clone = JSON.parse(JSON.stringify(payload));\n clone[\"Id\"] = refId;\n state.interactiveList.push(clone);\n localStorage.setItem(\n \"interactiveList\",\n JSON.stringify(state.interactiveList)\n );\n state.updateSuccess = true;\n },\n setRequestList(state, { payload }) {\n state.requestList.push(payload);\n },\n showPanels(state, { payload }) {\n state.episodesPanel = true;\n state.spellsPanel = true;\n state.resultsPanel = true;\n },\n setRequestType(state, { payload }) {\n state.requestType = payload;\n },\n setReportDialog(state, { payload }) {\n state.reportDialog = payload;\n },\n setVisualDialog(state, { payload }) {\n state.visualDialog = payload.status;\n state.visualID = payload.id;\n state.visualSearchValue = payload.search;\n },\n clearDiseaseInformation(state, { payload }) {\n state.diagnosisParentCollection = state.diagnosisParentMaster;\n state.proceduresParentCollection = state.procedureParentMaster;\n state.diagnosisChildCollection = null;\n state.proceduresChildCollection = null;\n state.diagnosis = [];\n state.procedure = [];\n state.loadDiagAndProc = false;\n state.isChooseDiagnosis = true;\n state.isChooseDiagAdditional = true;\n state.isChooseProcedure = true;\n state.isChooseProcAdditional = true;\n state.diagnosisSearch = false;\n state.procedureSearch = false;\n state.diagnosisHasChildren = false;\n state.procedureHasChildren = false;\n },\n clearResultInformation(state, { payload }) {\n state.resultList = [];\n },\n clearAllInformation(state, { payload }) {\n state.gender = \"\";\n state.birthValue = \"No\";\n state.disableBirth = true;\n state.enableBirthInfo = false;\n state.isMale = true;\n state.age = \"32\";\n state.ageUnit = \"\";\n state.gestationAge = \"\";\n state.discharge = \"\";\n state.contactType = \"\";\n state.birthType = \"\";\n state.height = \"163\";\n state.weight = \"64\";\n state.hospitalisationMethod = \"\";\n state.disableContactReason = true;\n state.reasonForContact = \"\";\n state.contactDaysStartDate = null;\n state.contactDaysEndDate = null;\n state.varighed = \"\";\n if (state.isYearGreaterThan2021) {\n state.contactDays = \"\";\n state.disableContactDays = true;\n } else {\n state.contactDays = \"1\";\n state.disableContactDays = false;\n }\n state.dateError = false;\n state.diagnosis = [];\n state.procedure = [];\n state.spellsList = [];\n state.contactDaysNoProgress = 0;\n state.interactiveList = [];\n state.resultList = [];\n state.episodesPanel = false;\n state.spellsPanel = false;\n state.resultsPanel = false;\n state.diagnosisParentCollection = state.diagnosisParentMaster;\n state.proceduresParentCollection = state.procedureParentMaster;\n state.diagnosisChildCollection = null;\n state.proceduresChildCollection = null;\n state.diagnosisHasChildren = false;\n state.procedureHasChildren = false;\n state.loadDiagAndProc = false;\n state.isChooseDiagnosis = true;\n state.isChooseDiagAdditional = true;\n state.isChooseProcedure = true;\n state.isChooseProcAdditional = true;\n state.diagnosisSearch = false;\n state.procedureSearch = false;\n },\n setInteractiveLoading(state, { payload }) {\n state.isResultLoading = payload;\n },\n handleErrorClose(state, action) {\n state.resultError = false;\n state.noVisualIDError = false;\n },\n noVisualError(state, action) {\n state.visualDialog = false;\n state.resultError = true;\n state.noVisualIDError = true;\n },\n setEnvironment(state, { payload }) {\n state.isEnvironment = payload;\n },\n setExpand(state, action) {\n if (state.resultList.length >= 1) {\n state.resultList.forEach((element, index) => {\n if (action.payload === index) {\n state.resultList[index].expand = !state.resultList[index].expand;\n }\n });\n }\n },\n clearOnContact(state, action) {\n state.diagnosis = [];\n },\n setDataSatus(state, action) {\n state.isInvalidData = true;\n },\n },\n extraReducers: {\n [getInteractiveNames.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getInteractiveNames.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n state.isValidData = true;\n state.interactiveCollection = payload;\n state.yearsCollection = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n var currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.yearsCollection.includes(JSON.stringify(upcomingYear))) {\n state.selectedInteractiveYear = JSON.stringify(upcomingYear);\n } else if (\n state.yearsCollection.includes(JSON.stringify(currentYear))\n ) {\n state.selectedInteractiveYear = JSON.stringify(currentYear);\n } else if (\n state.yearsCollection.includes(JSON.stringify(previousYear))\n ) {\n state.selectedInteractiveYear = JSON.stringify(previousYear);\n } else {\n state.selectedInteractiveYear =\n state.yearsCollection[state.yearsCollection.length - 1];\n }\n var currentYearObj = payload.filter(\n (a) => a.year == state.selectedInteractiveYear\n )[0];\n state.selectedInteractiveObj = currentYearObj;\n state.selectedInteractiveID = currentYearObj.id;\n state.selectedInteractiveName = currentYearObj.interactiveName;\n state.selectedInteractiveYear = currentYearObj.year;\n let year = parseInt(currentYearObj.year);\n if (year > 2021) {\n state.isYearGreaterThan2021 = true;\n } else {\n state.isYearGreaterThan2021 = false;\n }\n } else {\n state.isInvalidData = true;\n }\n },\n [getInteractiveNames.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getInteractiveNames\", action.error.message);\n },\n [getZipFile.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getZipFile.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getZipFile:\", payload);\n if (payload.type == \"application/json\") {\n state.fileNotExists = true;\n } else {\n state.blobToDownload = payload;\n }\n },\n [getZipFile.rejected]: (state, action) => {\n state.status = \"failed\";\n state.blobToDownload = null;\n console.log(\"Error from getZipFile\", action.error.message);\n },\n [getAllMasterData.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllMasterData.fulfilled]: (state, { payload }) => {\n console.log(\"Inside the extra reducer getAllMasterData\");\n console.log(\"Payload from getAllMasterData:\", JSON.parse(payload));\n if (payload != null) {\n var data = JSON.parse(payload);\n\n var gender = [];\n Object.entries(data[\"Gender\"]).forEach(([key, value]) => {\n gender.push({\n value: key,\n name: value,\n });\n });\n state.gender = gender[0].value;\n\n var birthType = [];\n Object.entries(data[\"BirthType\"]).forEach(([key, value]) => {\n birthType.push({\n value: key,\n name: value,\n });\n });\n state.birthType = birthType[0].value;\n\n var contactType = [];\n Object.entries(data[\"ContactType\"]).forEach(([key, value]) => {\n contactType.push({\n value: key,\n name: value,\n order: value.order,\n });\n });\n contactType.sort(function (a, b) {\n return a.order - b.order;\n });\n state.contactType = contactType[0].value;\n\n var femaleGestation = [];\n Object.entries(data[\"FemaleGestation\"]).forEach(([key, value]) => {\n femaleGestation.push({\n value: key,\n name: value,\n });\n });\n const femaleGestationDefaultValue = femaleGestation.find(\n (item) => item.name.en === \"\" || item.name.dk === \"\"\n );\n if (femaleGestationDefaultValue) {\n state.femaleGestation = femaleGestationDefaultValue.value;\n }\n\n var hospitalisationMethod = [];\n Object.entries(data[\"HospitalisationMethod\"]).forEach(\n ([key, value]) => {\n hospitalisationMethod.push({\n value: key,\n name: value,\n order: value.order,\n });\n }\n );\n hospitalisationMethod.sort(function (a, b) {\n return a.order - b.order;\n });\n state.hospitalisationMethod = hospitalisationMethod[0].value;\n\n var maleGestation = [];\n Object.entries(data[\"MaleGestation\"]).forEach(([key, value]) => {\n maleGestation.push({\n value: key,\n name: value,\n });\n });\n const maleGestationDefaultValue = maleGestation.find(\n (item) => item.name.en === \"\" || item.name.dk === \"\"\n );\n if (maleGestationDefaultValue) {\n state.gestationAge = maleGestationDefaultValue.value;\n }\n\n var reasonForContact = [];\n Object.entries(data[\"ReasonForContact\"]).forEach(([key, value]) => {\n reasonForContact.push({\n value: key,\n name: value,\n });\n });\n state.reasonForContact = reasonForContact[0].value;\n\n var releaseMethod = [];\n Object.entries(data[\"ReleaseMethod\"]).forEach(([key, value]) => {\n releaseMethod.push({\n value: key,\n name: value,\n });\n });\n state.discharge = releaseMethod[0].value;\n\n var unit = [];\n Object.entries(data[\"Unit\"]).forEach(([key, value]) => {\n unit.push({\n value: key,\n name: value,\n });\n });\n state.ageUnit = unit[0].value;\n\n var varighed = [];\n Object.entries(data[\"Varighed\"]).forEach(([key, value]) => {\n varighed.push({\n value: key,\n name: value,\n });\n });\n state.varighed = varighed[0].value;\n state.spellVarighed = varighed[0].value;\n state.patientInputs.push({\n gender: gender,\n birthType: birthType,\n contactType: contactType,\n femaleGestation: femaleGestation,\n hospitalisationMethod: hospitalisationMethod,\n maleGestation: maleGestation,\n reasonForContact: reasonForContact,\n releaseMethod: releaseMethod,\n unit: unit,\n varighed: varighed,\n });\n }\n },\n [getAllMasterData.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllMasterData\", action.error.message);\n },\n [getAllDiagnosis.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllDiagnosis.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getAllDiagnosis:\", payload);\n if (payload != null) {\n if (!state.diagnosisHasChildren) {\n state.diagnosisParentCollection = payload;\n state.diagnosisParentMaster = payload;\n state.loadDiagAndProc = true;\n } else {\n state.diagnosisChildCollection = payload;\n }\n }\n },\n [getAllDiagnosis.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllDiagnosis\", action.error.message);\n },\n [getAllProcedures.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllProcedures.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getAllProcedures:\", payload);\n if (!state.procedureHasChildren) {\n state.proceduresParentCollection = payload;\n state.procedureParentMaster = payload;\n state.loadDiagAndProc = true;\n } else {\n state.proceduresChildCollection = payload;\n }\n },\n [getAllProcedures.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllProcedures\", action.error.message);\n },\n [getDiagnosisSearch.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDiagnosisSearch.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDiagnosisSearch:\", payload);\n if (payload) {\n state.diagnosisSearchTree = payload;\n }\n },\n [getDiagnosisSearch.rejected]: (state, action) => {\n state.status = \"failed\";\n state.diagnosisSearch = false;\n console.log(\"Error from getDiagnosisSearch\", action.error.message);\n },\n [getProcedureSearch.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getProcedureSearch.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDiagnosisSearch:\", payload);\n if (payload) {\n state.procedureSearchTree = payload;\n }\n },\n [getProcedureSearch.rejected]: (state, action) => {\n state.status = \"failed\";\n state.procedureSearch = false;\n console.log(\"Error from getDiagnosisSearch\", action.error.message);\n },\n [interactiveProcessResult.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [interactiveProcessResult.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from interactiveProcessResult:\", payload);\n state.isResultLoading = false;\n if (payload == \"Not a valid inputs\") {\n state.resultError = true;\n state.errorMessage = \"interactive.invalidInput\";\n } else if (payload == \"No internal codes found\") {\n state.resultError = true;\n state.errorMessage = \"interactive.noInternalCode\";\n } else if (payload.indexOf(\"Logic does not exist\") >= 0) {\n state.resultError = true;\n state.errorMessage = \"interactive.noLogic\";\n } else if (payload.indexOf(\"Error. No VisualDRG found.\") >= 0) {\n state.resultError = true;\n state.errorMessage = \"interactive.noVisual\";\n } else {\n let reqId = 1;\n let resLength = state.resultList.length;\n if (resLength > 0) {\n let res = state.resultList[resLength - 1];\n reqId = Number(res.reqestid) + 1;\n }\n if (state.requestType != \"episode\") {\n for (var i = 0; i < payload.length; i++) payload[i].RId = 0;\n }\n let names = {\n interactiveName: state.selectedInteractiveName,\n interactiveVer: state.selectedInteractiveObj.interactiveVersion,\n year: state.selectedInteractiveYear,\n };\n state.resultList.push({\n reqestid: reqId,\n val: payload,\n names: names,\n expand: true,\n });\n localStorage.setItem(\"ResultList\", JSON.stringify(state.resultList));\n state.episodesPanel = true;\n state.spellsPanel = true;\n state.resultsPanel = true;\n state.isResultLoading = false;\n }\n //console.log(\"Result List:\", state.resultList);\n },\n [interactiveProcessResult.rejected]: (state, action) => {\n state.status = \"failed\";\n state.isResultLoading = false;\n state.resultError = true;\n state.errorMessage = \"interactive.errorOccured\";\n console.log(\"Error from interactiveProcessResult\", action.error.message);\n },\n [getVisualDatabyID.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getVisualDatabyID.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getVisualDatabyID:\", payload);\n },\n [getVisualDatabyID.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualDatabyID\", action.error.message);\n },\n [getVisualMetadata.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getVisualMetadata.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getVisualMetadata:\", payload);\n },\n [getVisualMetadata.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualMetadata\", action.error.message);\n },\n [getVisualNodesJSON.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getVisualNodesJSON.fulfilled]: (state, { payload }) => {\n console.log(\"Payload from getVisualNodesJSON:\", payload);\n\n state.dataForGoJs = payload;\n state.isVisualLoading = true;\n },\n [getVisualNodesJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualNodesJSON\", action.error.message);\n },\n [GetInteractiveFrontPageContent.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [GetInteractiveFrontPageContent.fulfilled]: (state, { payload }) => {\n if (payload.length > 0 && payload[0].languageValue != \"\") {\n state.interactiveFrontPageContent = payload[0].languageValue;\n } else {\n state.interactiveFrontPageContent = \"\";\n }\n },\n [GetInteractiveFrontPageContent.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualNodesJSON\", action.error.message);\n },\n [getCountries.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getCountries.fulfilled]: (state, { payload }) => {\n state.countries = payload;\n state.status = \"success\";\n },\n [getCountries.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getCountries\", action.error.message);\n },\n [GetInteractiveById.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [GetInteractiveById.fulfilled]: (state, { payload }) => {\n if (payload != null && payload.length > 0) {\n state.interactiveCollection = payload.filter(\n (item) => item.status == 3\n );\n if (state.interactiveCollection.length > 0) {\n state.isValidData = true;\n var interactiveObj = state.interactiveCollection[0];\n state.selectedInteractiveObj = interactiveObj;\n state.selectedInteractiveID = interactiveObj.id;\n state.selectedInteractiveName = interactiveObj.interactiveName;\n state.selectedInteractiveYear = interactiveObj.year;\n let year = parseInt(interactiveObj.year);\n if (year > 2021) {\n state.isYearGreaterThan2021 = true;\n } else {\n state.isYearGreaterThan2021 = false;\n }\n } else {\n state.isInvalidData = true;\n }\n } else {\n state.isInvalidData = true;\n }\n },\n [GetInteractiveById.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getCountries\", action.error.message);\n },\n },\n});\nexport const {\n setSelectedInteractive,\n setInteractiveDetails,\n setSelectedFileToDownload,\n clearValues,\n errorMessageClose,\n setChildrenStatus,\n setPanel,\n setSelectionButton,\n setDiagnosisData,\n setDiagnosis,\n setDiagnosisAdditionalCode,\n updateSelectedDiagnosis,\n diagnosisMoveUp,\n diagnosisMoveDown,\n deleteDiagnosis,\n deleteAdditionalDiagnosis,\n setProcedureData,\n setProcedure,\n setProcedureAdditionalCode,\n updateSelectedProcedure,\n procedureMoveUp,\n procedureMoveDown,\n deleteProcedure,\n deleteAdditionalProcedure,\n setSearchStatus,\n setGender,\n setBirthValue,\n setValues,\n dateErrorClose,\n setDateToDefault,\n clearPatientInformation,\n addToSpell,\n spellMoveLeft,\n spellMoveRight,\n deleteSpell,\n clearSpellInformation,\n expandCollapseUpdate,\n addEpisodeToSpell,\n editEpisode,\n deleteEpisode,\n clearEpisodesInformation,\n setInteractiveList,\n setRequestList,\n showPanels,\n setRequestType,\n setReportDialog,\n setVisualDialog,\n clearDiseaseInformation,\n clearResultInformation,\n clearAllInformation,\n setInteractiveLoading,\n handleErrorClose,\n noVisualError,\n endUserSession,\n setEnvironment,\n setExpand,\n clearOnContact,\n} = publicInteractiveSlice.actions;\nexport default publicInteractiveSlice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { store } from \"../../../app/store\";\n\nexport const getAllVisual = createAsyncThunk(\n \"publicViewer/getAllVisual\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"Public/GetAllVisual\", reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getVisualMenus = createAsyncThunk(\n \"publicViewer/getVisualMenus\",\n async (obj, { dispatch, getState }) => {\n const { selectedVisualID } = getState().publicViewer;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"Public/GetVisualMenus?visualId=\" + selectedVisualID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getZipFile = createAsyncThunk(\n \"publicViewer/getZipFile\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions).then((response) => {\n if (response.status === 401) {\n dispatch(endUserSession());\n } else {\n return response.blob();\n }\n });\n }\n);\n\nexport const GetVisualDatabyId = createAsyncThunk(\n \"publicViewer/GetVisualDatabyId\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions).then((r) => {\n if (r.status === 500) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getMetadata = createAsyncThunk(\n \"publicViewer/getMetadata\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"Public/GetMetadata?visualname=\" +\n obj.name +\n \"&visualversion=\" +\n obj.version +\n \"&year=\" +\n obj.year;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getNodesJSON = createAsyncThunk(\n \"publicViewer/getNodesJSON\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n if (\n obj.specification === \"\" ||\n obj.specification === \"Full Logic\" ||\n obj.specification === \"Komplet logik\" ||\n obj.specification === undefined\n ) {\n let url =\n \"Public/GetViewerData/?_logicName=\" +\n obj.logicName +\n \"&_logicVersion=\" +\n obj.logicVersion +\n \"&_year=\" +\n obj.year +\n \"&pricename=\" +\n obj.priceName +\n \"&priceversion=\" +\n obj.priceVersion;\n return await fetch(url, reqOptions).then((res) => {\n if (res.status === 401) {\n dispatch(endUserSession());\n } else {\n return res.json();\n }\n });\n } else {\n return await fetch(\n \"Public/GetViewerData/?_logicName=\" +\n obj.logicName +\n \"&_logicVersion=\" +\n obj.logicVersion +\n \"&_year=\" +\n obj.year +\n \"&_folder=\" +\n obj.specification +\n \"&_mdc=\" +\n obj.mdc +\n \"&_viewtype=\" +\n obj.viewType +\n \"&pricename=\" +\n obj.priceName +\n \"&priceversion=\" +\n obj.priceVersion\n ).then((res) => {\n if (res.status === 401) {\n dispatch(endUserSession());\n } else {\n return res.json();\n }\n });\n }\n }\n);\n\nexport const getDRGPriceJSON = createAsyncThunk(\n \"publicViewer/getDRGPriceJSON\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.publicViewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = \"GET\";\n let url =\n \"Public/GetDRGPriceData/?_drg=\" +\n state.publicViewer.subCode +\n \"&_price=\" +\n metadataColl.DRGPriceName +\n \"&_priceversion=\" +\n metadataColl.DRGPriceVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getMetadataForLogicName = createAsyncThunk(\n \"publicViewer/getMetadataForLogicName\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.publicViewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = \"GET\";\n let url =\n \"Public/GetMetadataforLogicName?logicname=\" +\n metadataColl.DRGLogicName +\n \"&logicversion=\" +\n metadataColl.DRGLogicVersion +\n \"&year=\" +\n state.publicViewer.selectedVisualYear;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGPopUpJSON = createAsyncThunk(\n \"publicViewer/getDRGPopUpJSON\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let reqOptions = {};\n reqOptions.method = \"GET\";\n let url =\n \"Public/GetDRGPopupData/?_drg=\" +\n state.publicViewer.subCode +\n \"&_drgLogicId=\" +\n state.publicViewer.drgLogicID +\n \"&egenskabname=\" +\n state.publicViewer.egenskaberName +\n \"&egenskabversion=\" +\n state.publicViewer.egenskaberVersion +\n \"&mdcname=\" +\n state.publicViewer.mdcname +\n \"&mdcversion=\" +\n state.publicViewer.mdcversion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getMDCGroupCodeJSON = createAsyncThunk(\n \"publicViewer/getMDCGroupCodeJSON\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let reqOptions = {};\n reqOptions.method = \"GET\";\n let url =\n \"Public/GetMDCCodesWithDescription?groupCode=\" +\n state.publicViewer.groupCode +\n \" &mdc=\" +\n state.publicViewer.subCode +\n \"&drgLogicId=\" +\n state.publicViewer.drgLogicID +\n \"&sksname=\" +\n state.publicViewer.sksName +\n \"&sksversion=\" +\n state.publicViewer.sksVersion;\n\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getGroupCodeJSON = createAsyncThunk(\n \"publicViewer/getGroupCodeJSON\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let reqOptions = {};\n reqOptions.method = \"GET\";\n const subList = state.publicViewer.subCode;\n \n let url =\n \"Public/GetCodesWithDescription?groupCode=\" +\n encodeURIComponent(state.publicViewer.groupCode) +\n \" &groupCodeSubList=\" +\n encodeURIComponent(subList) +\n \"&drgLogicId=\" +\n state.publicViewer.drgLogicID +\n \"&sksname=\" +\n state.publicViewer.sksName +\n \"&sksversion=\" +\n state.publicViewer.sksVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getshowTariff = createAsyncThunk(\n \"publicViewer/getshowTariff\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url = \"Public/GetShowTariffByVisualId/?visualId=\" + obj.visualID;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGTypeSpecifications = createAsyncThunk(\n \"publicViewer/getDRGTypeSpecifications\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.publicViewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"Public/GetDRGTypeSpecifications?logicid=\" +\n state.publicViewer.drgLogicID +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGTypeSpecificationsSearch = createAsyncThunk(\n \"publicViewer/getDRGTypeSpecificationsSearch\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.publicViewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"Public/GetDRGTypeSpecificationsSearch?logicid=\" +\n state.publicViewer.drgLogicID +\n \"&tabType=\" +\n \"specification\" +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion +\n \"&search=\" +\n obj.search;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getDRGDiagramData = createAsyncThunk(\n \"publicViewer/getDRGDiagramData\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.publicViewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"Public/GetDRGDiagramData?filtervalue=\" +\n obj.filter +\n \"&rulenumber=\" +\n obj.regel +\n \"&column=\" +\n obj.column +\n \"&_logicName=\" +\n metadataColl.DRGLogicName +\n \"&_logicVersion=\" +\n metadataColl.DRGLogicVersion +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion +\n \"&strYear=\" +\n state.publicViewer.selectedVisualYear;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getAllParentSKS = createAsyncThunk(\n \"publicViewer/getAllParentSKS\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.publicViewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let parentId = obj.parentId ? obj.parentId : \"\";\n let url =\n \"Public/GetAllParentSKS?parentid=\" +\n parentId +\n \"&sksname=\" +\n state.publicViewer.sksName +\n \"&sksversion=\" +\n state.publicViewer.sksVersion;\n\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getSKSSearch = createAsyncThunk(\n \"publicViewer/getSKSSearch\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"Public/GetSKSSearch?sksName=\" +\n state.publicViewer.sksName +\n \"&sksVer=\" +\n state.publicViewer.sksVersion +\n \"&search=\" +\n obj.search;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getSKSTable = createAsyncThunk(\n \"publicViewer/getSKSTable\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.publicViewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n\n let url =\n \"Public/Getsksmap?skscode=\" +\n obj.code +\n \"&logicid=\" +\n state.publicViewer.drgLogicID +\n \"&logicname=\" +\n metadataColl.DRGLogicName +\n \"&logicversion=\" +\n metadataColl.DRGLogicVersion +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion +\n \"&year=\" +\n state.publicViewer.selectedVisualYear +\n \"&interactivename=\" +\n metadataColl.InteractiveName +\n \"&interactiveversion=\" +\n metadataColl.InteractiveVersion;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getSKSCodeDiagramData = createAsyncThunk(\n \"publicViewer/getSKSCodeDiagramData\",\n async (obj, { dispatch, getState }) => {\n const state = getState();\n let metadataColl = state.publicViewer.metadataCollection;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let url =\n \"/Public/GetSKSCodeDiagramData?filtervalue=\" +\n obj.drgGroup +\n \"&rulenumber=\" +\n obj.regel +\n \"&_logicName=\" +\n metadataColl.DRGLogicName +\n \"&_logicVersion=\" +\n metadataColl.DRGLogicVersion +\n \"&pricename=\" +\n metadataColl.DRGPriceName +\n \"&priceversion=\" +\n metadataColl.DRGPriceVersion +\n \"&strYear=\" +\n state.publicViewer.selectedVisualYear;\n return fetch(url, reqOptions).then((r) => {\n if (r.status === 401) {\n dispatch(endUserSession());\n } else {\n return r.json();\n }\n });\n }\n);\n\nexport const getCountries = createAsyncThunk(\n \"publicViewer/getCountries\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(\"home/GetCountry\", reqOptions).then((r) => {\n return r.json();\n });\n }\n);\n\nexport const GetAllProductionVisual = createAsyncThunk(\n \"publicViewer/GetAllProductionVisual\",\n async (obj, { dispatch, getState }) => {\n let reqOptions = {};\n reqOptions.method = obj.method;\n return fetch(obj.url, reqOptions).then((r) => {\n return r.json();\n });\n }\n);\n\nexport const GetVisualFrontPageContent = createAsyncThunk(\n \"publicViewer/GetVisualFrontPageContent\",\n async (obj, { dispatch, getState }) => {\n const { selectedVisualYear, isEnvironment } = getState().publicViewer;\n let reqOptions = {};\n reqOptions.method = obj.method;\n let langval = localStorage.getItem(\"language\");\n let url = \"Public/GetVisualFrontPageContent?language=\" + langval + \"&year=\" + selectedVisualYear + \"&destEnvironment=\" + isEnvironment;\n return await fetch(url, reqOptions).then((res) => {\n return res.json();\n });\n }\n);\n\nconst initialState = {\n visualCollection: [],\n yearsCollection: [],\n status: null,\n enableTabs: false,\n tabValue: \"viewerMap\",\n selectedVisualObj: {},\n selectedVisualID: \"\",\n selectedVisualName: \"\",\n selectedVisualYear: \"\",\n visualMenuCollection: [],\n selectedSpecification: null,\n blobToDownload: null,\n selectedFileType: \"\",\n fileNotExists: false,\n view: \"SimpleView\",\n metadataCollection: null,\n isLoading: false,\n dataForGoJs: null,\n isNodeData: false,\n groupCode: \"\",\n groupCodeValue: \"\",\n subCode: \"\",\n groupcodeArray: [],\n priceArray: [],\n drgLogicID: \"\",\n egenskaberName: \"\",\n egenskaberVersion: \"\",\n sksName: \"\",\n sksVersion: \"\",\n sCode: \"\",\n dataForModalDialog: [],\n modalActive: true,\n isShowTariff: false,\n menuItems: [],\n drgTypeTree: [],\n drgSpecificationsTree: [],\n drgSearchTree: [],\n drgSelectedName: \"\",\n drgLoading: true,\n drgDataLoading: false,\n drgGroupCodeCollection: [],\n drgPriceInfoCollection: [],\n searchValue: \"\",\n regelValue: \"\",\n showDRGDiagram: false,\n showRegelDiagram: false,\n isDrgData: false,\n drgDataForGoJs: null,\n sksLoading: true,\n sksParentCollection: null,\n hasChildren: false,\n childrenCount: -1,\n sksChildrenCollection: null,\n isDRGSearch: false,\n sksSelectedId: \"\",\n sksSelectedName: \"\",\n sksMapData: null,\n sksSearchTree: [],\n isSKSSearch: false,\n showSKSTable: false,\n isSessionValid: true,\n isShowDRG: false,\n countries: [],\n isEnvironment: \"\",\n viewerFrontPageContent: \"\",\n introInfoPanel: true,\n isHourGlass: false,\n isExpandedValue: \"\",\n page: 0,\n rowsPerPage: 5,\n mdcname: \"\",\n mdcversion: \"\"\n};\n\nconst publicViewerSlice = createSlice({\n name: \"publicViewer\",\n initialState,\n reducers: {\n endUserSession(state, action) {\n state.isSessionValid = false;\n },\n setSelectedVisual(state, action) {\n state.selectedVisualObj = action.payload;\n //state.enableTabs = false;\n },\n setTabValue(state, action) {\n state.tabValue = action.payload;\n state.searchValue = \"\";\n state.regelValue = \"\";\n state.selectedSpecification = null;\n state.view = \"SimpleView\";\n state.metadataCollection = null;\n state.isLoading = true;\n state.showSKSTable = false;\n state.isShowDRG = false;\n state.isDRGSearch = false;\n },\n setVisualDetails(state, action) {\n state.selectedVisualID = action.payload.id;\n state.selectedVisualName = action.payload.name;\n state.selectedVisualYear = action.payload.year;\n state.enableTabs = true;\n },\n setSelectedSpecification(state, action) {\n if (state.tabValue == \"drg\" || state.tabValue == \"skscodes\") {\n state.selectedSpecification = action.payload;\n } else {\n state.selectedSpecification = action.payload;\n if (!(\"language\" in state.selectedSpecification)) {\n state.isLoading = true;\n }\n }\n },\n setSelectedFileToDownload(state, action) {\n state.selectedFileType = action.payload;\n },\n clearValues(state, action) {\n state.selectedFileType = null;\n state.blobToDownload = null;\n },\n errorMessageClose(state, action) {\n state.fileNotExists = false;\n },\n setView(state, action) {\n state.view = action.payload;\n },\n testCall(state, action) {\n state.status = \"\";\n },\n saveCodeValues(state, { payload }) {\n state.groupCode = payload.groupCode.trim();\n state.groupCodeValue = payload.groupCodeValue;\n state.subCode = payload.subCode.trim();\n },\n setModalActive(state, { payload }) {\n state.modalActive = payload;\n },\n setDRGSelected(state, { payload }) {\n state.subCode = payload.code;\n state.drgSelectedName = payload.name;\n state.selectedSpecification = null;\n state.showDRGDiagram = false;\n state.isShowDRG = true;\n },\n setDRGLoading(state, { payload }) {\n if (payload.name == \"drgLoading\") {\n state.drgLoading = payload.value;\n } else if (payload.name == \"drgDataLoading\") {\n state.drgDataLoading = payload.value;\n } else if (payload.name == \"showDRGDiagram\") {\n state.showDRGDiagram = payload.value;\n } else if (payload.name == \"sksLoading\") {\n state.sksLoading = payload.value;\n } else if (payload.name == \"showRegelDiagram\") {\n state.showRegelDiagram = payload.value;\n state.isExpandedValue = payload.expandedValue;\n } else if (payload.name == \"drgSearch\") {\n state.isDRGSearch = payload.value;\n } else if (payload.name == \"sksSearch\") {\n state.isSKSSearch = payload.value;\n } else if (payload.name == \"showSKSTable\") {\n state.showSKSTable = payload.value;\n }\n },\n setDRGDiagramValues(state, { payload }) {\n state.view = payload.view;\n state.searchValue = payload.search;\n state.regelValue = payload.regel;\n state.showDRGDiagram = true;\n },\n setChildrenNode(state, { payload }) {\n state.hasChildren = payload;\n },\n setSKSSelected(state, { payload }) {\n state.sksSelectedId = payload.id\n state.sksSelectedName = payload.name;\n },\n setEnvironment(state, { payload }) {\n state.isEnvironment = payload;\n },\n setPanel(state, { payload }) {\n if (payload) {\n state[`${payload}`] = !state[`${payload}`];\n }\n },\n setResetValues(state, action) {\n state.searchValue = \"\";\n state.regelValue = \"\";\n },\n resetSKS(state, action) {\n state.isSKSSearch = false;\n state.showSKSTable = false;\n state.showRegelDiagram = false;\n },\n setPagination(state, action) {\n state.page = parseInt(action.payload ?.page);\n state.rowsPerPage = parseInt(action.payload ?.rowsPerPage);\n },\n resetViewer: () => initialState,\n \n setDataSatus(state, action){\n state.isInvalidData = true;\n }\n },\n extraReducers: {\n [getAllVisual.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllVisual.fulfilled]: (state, { payload }) => {\n console.log(\"publicViewer\", payload);\n state.visualCollection = payload;\n state.yearsCollection = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n\n state.status = \"success\";\n },\n [getAllVisual.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllVisual\", action.error.message);\n },\n [getVisualMenus.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getVisualMenus.fulfilled]: (state, { payload }) => {\n if (payload!= null && Array.isArray(payload) && payload.length > 0) {\n const language = localStorage.getItem(\"language\");\n state.menuItems = payload;\n var tempArray = [\n {\n displayName: language == \"en\" ? \"Full Logic\" : \"Komplet logik\",\n groupName: language == \"en\" ? \"Full Logic\" : \"Komplet logik\",\n name: \"Full Logic\",\n value: language == \"en\" ? \"Full Logic\" : \"Komplet logik\",\n },\n ];\n for (let i = 0; i < payload.length; i++) {\n for (let j = 0; j < payload[i].value.length; j++) {\n tempArray.push({\n displayName: payload[i].value[j].name + \" \" + payload[i].value[j].value,\n groupName: language == \"en\" ? payload[i].name : i == 0 ? \"MDC Specifikationer\" : i == 1 ? \"Øvrige Specifikationer\" : \"Type\",\n name: payload[i].value[j].name,\n value: payload[i].value[j].value,\n });\n }\n }\n state.visualMenuCollection = tempArray;\n }else{\n state.visualMenuCollection = [];\n }\n },\n [getVisualMenus.rejected]: (state, action) => {\n state.visualMenuCollection = [];\n state.status = \"failed\";\n console.log(\"Error from getVisualMenus\", action.error.message);\n },\n [getZipFile.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getZipFile.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getZipFile:\", payload);\n if (payload.type == \"application/json\") {\n state.fileNotExists = true;\n } else {\n state.blobToDownload = payload;\n }\n },\n [getZipFile.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getZipFile\", action.error.message);\n },\n [getMetadata.pending]: (state, action) => {\n state.status = \"loading\";\n state.isLoading = true;\n },\n [getMetadata.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getMetadata:\", payload);\n state.metadataCollection = payload;\n state.isLoading = false;\n },\n [getMetadata.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getMetadata\", action.error.message);\n },\n [getNodesJSON.pending]: (state, action) => {\n state.status = \"loading\";\n state.isNodeData = false;\n },\n [getNodesJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getNodesJSON:\", payload);\n state.dataForGoJs = payload;\n state.isNodeData = true;\n },\n [getNodesJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n state.isNodeData = false;\n console.log(\"Error from getNodesJSON\", action.error.message);\n },\n [getDRGPriceJSON.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDRGPriceJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGPriceJSON:\", payload);\n var grpCodes = JSON.parse(payload);\n var count = 0;\n var priceArray = [];\n grpCodes.forEach((grp) => {\n let g = { code: grp.Code, desc: grp.Text };\n priceArray.push(g);\n });\n //console.log(\"priceArray:\", priceArray);\n state.priceArray = priceArray;\n if (state.tabValue == \"drg\") {\n state.drgPriceInfoCollection = priceArray;\n }\n //store.dispatch(getMetadataForLogicName());\n },\n [getDRGPriceJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getDRGPriceJSON\", action.error.message);\n },\n [getMetadataForLogicName.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getMetadataForLogicName.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getMetadataForLogicName:\", payload);\n state.drgLogicID = payload.id;\n state.egenskaberName = payload.egenskaberMaster.name;\n state.egenskaberVersion = payload.egenskaberMaster.version;\n state.sksName = payload.sksMaster.name;\n state.sksVersion = payload.sksMaster.version;\n state.mdcname = payload.mdcspecificationMaster.name;\n state.mdcversion = payload.mdcspecificationMaster.version;\n if (state.subCode.startsWith(\"12\")) {\n state.sCode = state.subCode.replace(\"12\", \"98\");\n } else if (state.subCode.startsWith(\"13\")) {\n state.sCode = state.subCode.replace(\"13\", \"98\");\n }\n },\n [getMetadataForLogicName.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getMetadataForLogicName\", action.error.message);\n },\n [getDRGPopUpJSON.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDRGPopUpJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGPopUpJSON:\", payload);\n\n var grpCodes = JSON.parse(payload);\n var groupcodeArray = [];\n grpCodes.forEach((grp) => {\n var links = grp.Text.split(\" / \");\n let g = { code: grp.Code, desc: grp.Text };\n groupcodeArray.push(g);\n });\n state.groupcodeArray = groupcodeArray;\n if (state.tabValue == \"drg\") {\n state.drgGroupCodeCollection = groupcodeArray;\n }\n var strData = \"\";\n if (state.groupCodeValue.trim().startsWith(\"-\")) {\n strData = state.groupCodeValue.trim().substr(1);\n } else {\n strData = state.groupCodeValue.trim();\n }\n const dataForModalDialog = {\n groupCodeHeader: state.subCode,\n groupCodeValue: strData.replace(state.subCode, \"\"),\n groupCodeInfo: state.groupcodeArray,\n priceInfo: state.priceArray,\n visualid: state.selectedVisualID,\n year: state.selectedVisualYear,\n };\n state.dataForModalDialog = dataForModalDialog;\n\n //console.log(\"dataForModalDialog:\", state.dataForModalDialog);\n },\n [getDRGPopUpJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getDRGPopUpJSON\", action.error.message);\n },\n [getMDCGroupCodeJSON.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getMDCGroupCodeJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getMDCGroupCodeJSON:\", payload);\n var grpCodes = JSON.parse(payload);\n var groupcodeArray = [];\n grpCodes.forEach((grp) => {\n let g = { code: grp.Code, desc: grp.Text };\n groupcodeArray.push(g);\n });\n state.groupcodeArray = groupcodeArray;\n var strData = \"\";\n if (state.groupCodeValue.trim().startsWith(\"-\")) {\n strData = state.groupCodeValue.trim().substr(1);\n } else {\n strData = state.groupCodeValue.trim();\n }\n const dataForModalDialog = {\n groupCodeHeader: state.subCode,\n groupCodeValue: strData.replace(state.subCode, \"\"),\n groupCodeInfo: state.groupcodeArray,\n };\n state.dataForModalDialog = dataForModalDialog;\n //console.log(\"dataForModalDialog:\", state.dataForModalDialog);\n },\n [getMDCGroupCodeJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getMDCGroupCodeJSON\", action.error.message);\n },\n [getGroupCodeJSON.pending]: (state, action) => {\n state.status = \"loading\";\n state.isHourGlass = true;\n },\n [getGroupCodeJSON.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getGroupCodeJSON:\", payload);\n state.isHourGlass = false;\n var groupcodeArray = [];\n if (state.sCode != \"\") {\n if (payload != null && payload != [] && payload != \"[]\") {\n var grpCodes = JSON.parse(payload);\n grpCodes.forEach((grp) => {\n let g = { code: grp.Code, desc: grp.Text };\n groupcodeArray.push(g);\n });\n }\n } else {\n var grpCodes = JSON.parse(payload);\n grpCodes.forEach((grp) => {\n let g = { code: grp.Code, desc: grp.Text };\n groupcodeArray.push(g);\n });\n }\n state.groupcodeArray = groupcodeArray;\n var strData = \"\";\n if (state.groupCodeValue.trim().startsWith(\"-\")) {\n strData = state.groupCodeValue.trim().substr(1);\n } else {\n strData = state.groupCodeValue.trim();\n }\n const dataForModalDialog = {\n groupCodeHeader: state.subCode,\n groupCodeValue: strData.replace(state.subCode, \"\"),\n groupCodeInfo: state.groupcodeArray,\n };\n state.dataForModalDialog = dataForModalDialog;\n //console.log(\"dataForModalDialog:\", state.dataForModalDialog);\n },\n [getGroupCodeJSON.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getGroupCodeJSON\", action.error.message);\n },\n [getshowTariff.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getshowTariff.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getshowTariff:\", payload);\n if (payload) {\n state.isShowTariff = payload;\n }\n },\n [getshowTariff.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getshowTariff\", action.error.message);\n },\n [getDRGTypeSpecifications.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDRGTypeSpecifications.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGTypeSpecifications:\", payload);\n if (payload) {\n state.drgTypeTree = payload.typeTree;\n state.drgSpecificationsTree = payload.specificationTree;\n }\n },\n [getDRGTypeSpecifications.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getDRGTypeSpecifications\", action.error.message);\n },\n [getDRGTypeSpecificationsSearch.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getDRGTypeSpecificationsSearch.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGTypeSpecificationsSearch:\", payload);\n if (payload) {\n state.drgSearchTree = payload.specificationTree;\n }\n },\n [getDRGTypeSpecificationsSearch.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\n \"Error from getDRGTypeSpecificationsSearch\",\n action.error.message\n );\n },\n [getDRGDiagramData.pending]: (state, action) => {\n state.status = \"loading\";\n state.isDrgData = false;\n },\n [getDRGDiagramData.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getDRGDiagramData:\", payload);\n state.drgDataForGoJs = payload;\n state.isDrgData = true;\n },\n [getDRGDiagramData.rejected]: (state, action) => {\n state.status = \"failed\";\n state.isDrgData = false;\n console.log(\"Error from getDRGDiagramData\", action.error.message);\n },\n [getAllParentSKS.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getAllParentSKS.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getAllParentSKS:\", payload);\n if (!state.hasChildren) {\n state.sksParentCollection = payload;\n } else {\n state.sksChildrenCollection = payload;\n }\n },\n [getAllParentSKS.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getAllParentSKS\", action.error.message);\n },\n [getSKSSearch.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getSKSSearch.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getSKSSearch:\", payload);\n if (payload) {\n state.sksSearchTree = payload;\n }\n },\n [getSKSSearch.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getSKSSearch\", action.error.message);\n },\n [getSKSTable.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getSKSTable.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getSKSTable:\", payload);\n if (payload) {\n state.sksMapData = payload;\n }\n },\n [getSKSTable.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getSKSTable\", action.error.message);\n },\n [getSKSCodeDiagramData.pending]: (state, action) => {\n state.status = \"loading\";\n state.isDrgData = false;\n },\n [getSKSCodeDiagramData.fulfilled]: (state, { payload }) => {\n //console.log(\"Payload from getSKSCodeDiagramData:\", payload);\n state.drgDataForGoJs = payload;\n state.isDrgData = true;\n },\n [getSKSCodeDiagramData.rejected]: (state, action) => {\n state.status = \"failed\";\n state.isDrgData = false;\n console.log(\"Error from getSKSCodeDiagramData\", action.error.message);\n },\n [getCountries.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [getCountries.fulfilled]: (state, { payload }) => {\n // console.log(\"Countries\", payload);\n state.countries = payload;\n state.status = \"success\";\n },\n [getCountries.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getCountries\", action.error.message);\n },\n [GetAllProductionVisual.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [GetAllProductionVisual.fulfilled]: (state, { payload }) => {\n if (payload.length > 0) {\n state.isValidData = true;\n state.visualCollection = payload;\n state.yearsCollection = payload\n .map((item) => item.year)\n .filter((value, index, self) => self.indexOf(value) === index)\n .sort((one, two) => (one > two ? -1 : 1));\n var currentYear = new Date().getFullYear();\n let upcomingYear = currentYear + 1;\n let previousYear = currentYear - 1;\n if (state.yearsCollection.includes(JSON.stringify(upcomingYear))) {\n state.selectedVisualYear = JSON.stringify(upcomingYear);\n } else if (\n state.yearsCollection.includes(JSON.stringify(currentYear))\n ) {\n state.selectedVisualYear = JSON.stringify(currentYear);\n } else if (\n state.yearsCollection.includes(JSON.stringify(previousYear))\n ) {\n state.selectedVisualYear = JSON.stringify(previousYear);\n } else {\n state.selectedVisualYear = state.yearsCollection[state.yearsCollection.length - 1];\n }\n var currentYearObj = payload.filter((a) => a.year == state.selectedVisualYear)[0];\n console.log(currentYearObj);\n state.selectedVisualObj = currentYearObj;\n state.selectedVisualID = currentYearObj.id;\n state.selectedVisualName = currentYearObj.visualName;\n // state.selectedVisualYear = currentYearObj.year;\n state.enableTabs = true;\n state.status = \"success\";\n } else {\n state.isInvalidData = true;\n }\n },\n [GetAllProductionVisual.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from GetAllProductionVisual\", action.error.message);\n },\n [GetVisualFrontPageContent.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [GetVisualFrontPageContent.fulfilled]: (state, { payload }) => {\n if (payload.length > 0 && payload[0].languageValue != \"\") {\n state.viewerFrontPageContent = payload[0].languageValue;\n }\n else {\n state.viewerFrontPageContent = \"\";\n }\n },\n [GetVisualFrontPageContent.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from getVisualNodesJSON\", action.error.message);\n },\n [GetVisualDatabyId.pending]: (state, action) => {\n state.status = \"loading\";\n },\n [GetVisualDatabyId.fulfilled]: (state, { payload }) => {\n if (payload!= null && payload.length > 0) {\n state.visualCollection = payload.filter(item => item.status == 3);\n if (state.visualCollection.length > 0) {\n state.isValidData = true;\n var viewerObj = state.visualCollection[0];\n state.selectedVisualObj = viewerObj;\n state.selectedVisualID = viewerObj.id;\n state.selectedVisualName = viewerObj.visualName;\n state.selectedVisualYear = viewerObj.year;\n state.enableTabs = true;\n state.status = \"success\";\n } else {\n state.isInvalidData = true;\n }\n } else {\n state.isInvalidData = true;\n }\n },\n [GetVisualDatabyId.rejected]: (state, action) => {\n state.status = \"failed\";\n console.log(\"Error from GetVisualDatabyId\", action.error.message);\n },\n },\n});\n\nexport const {\n setSelectedVisual,\n setTabValue,\n setVisualDetails,\n setSelectedSpecification,\n setSelectedFileToDownload,\n clearValues,\n errorMessageClose,\n setView,\n testCall,\n saveCodeValues,\n setModalActive,\n setDRGSelected,\n setDRGLoading,\n setDRGDiagramValues,\n setChildrenNode,\n setSKSSelected,\n endUserSession,\n setEnvironment,\n setPanel,\n setResetValues,\n resetSKS,\n resetViewer,\n setPagination,\n} = publicViewerSlice.actions;\nexport default publicViewerSlice.reducer;\n","import { configureStore } from \"@reduxjs/toolkit\";\nimport authenticationReducer from \"../features/authentication/authenticationSlice\";\nimport loginReducer from \"../features/login/loginSlice\";\nimport languageReducer from \"../translations/languageSlice\";\nimport registerUserReducer from \"../features/registerUser/registerUserSlice\";\nimport manageUserReducer from \"../features/manageUsers/manageUserSlice\";\nimport publisherReducer from \"../features/publisher/publisherSlice\";\nimport contentUploadReducer from \"../features/contentUpload/contentUploadSlice\";\nimport viewerReducer from \"../features/viewer/viewerSlice\";\nimport managerReducer from \"../features/manager/managerSlice\";\nimport interactiveReducer from \"../features/interactive/interactiveSlice\";\nimport editorReducer from \"../features/editor/editorSlice\";\nimport profileReducer from \"../features/profile/profileSlice\";\nimport publicPageReducer from \"../features/publicPages/publicPageSlice\";\nimport publicInteractiveReducer from \"../features/publicPages/interactive/publicInteractiveSlice\";\nimport publicViewerReducer from \"../features/publicPages/viewer/publicViewerSlice\";\n\nexport const store = configureStore({\n reducer: {\n authentication: authenticationReducer,\n login: loginReducer,\n language: languageReducer,\n registerUser: registerUserReducer,\n manageUser: manageUserReducer,\n publisher: publisherReducer,\n contentUpload: contentUploadReducer,\n manager: managerReducer,\n viewer: viewerReducer,\n interactive: interactiveReducer,\n editor: editorReducer,\n profile: profileReducer,\n publicPage: publicPageReducer,\n publicInteractive: publicInteractiveReducer,\n publicViewer: publicViewerReducer,\n },\n});\n","export default __webpack_public_path__ + \"static/media/logo-footer.cc248846.svg\";","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as services from \"../../services/apiServices\";\nimport { languageChanged } from \"../../translations/languageSlice\";\nimport Grid from \"@mui/material/Grid\";\nimport ftLogo from \"../../assets/logos/logo-footer.svg\";\nimport \"./footer.css\";\nimport ButtonGroup from \"@mui/material/ButtonGroup\";\nimport Button from \"@mui/material/Button\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Box from \"@mui/material/Box\";\nimport { useHistory } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { getCountries } from \"../login/loginSlice\";\n\nexport default function FooterLayout() {\n const { t, i18n } = useTranslation(\"language\");\n const login = useSelector((state) => state.login);\n const { status, countries } = login;\n const [languageId, setLanguageId] = useState(1);\n const dispatch = useDispatch();\n const history = useHistory();\n const language = localStorage.getItem(\"language\");\n\n useEffect(() => {\n dispatch(getCountries({ method: \"GET\" }));\n if (language != undefined && language != null) {\n i18n.changeLanguage(language);\n if (language == \"en\") {\n setLanguageId(1);\n } else if (language == \"dk\") {\n setLanguageId(2);\n }\n } else localStorage.setItem(\"language\", \"en\");\n }, []);\n\n const handleLanguageChange = (event) => {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == event.target.value);\n setLanguageId(language.id);\n i18n.changeLanguage(language.name);\n dispatch(\n languageChanged({\n language: language.name,\n })\n );\n }\n };\n\n return (\n
\n \n \n
\n \n
\n
\n\n \n \n \n {/* history.push(\"/terms\")}\n >\n {t(\"footer.terms_use\")}\n \n history.push(\"/privacy\")}\n >\n {t(\"footer.privacy\")}\n */}\n \n window.open(\n \"https://www.customerservice.iqvia.com/support\",\n \"_blank\"\n )\n }\n >\n {t(\"footer.contact\")}\n \n \n handleLanguageChange(e)}\n >\n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
\n )}\n \n \n
\n\n \n
\n © IQVIA\n
\n
\n
\n
\n );\n}\n","import React, { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { onLogout } from \"../authentication/authenticationSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport * as services from \"../../services/apiServices\";\n\nexport default function Logout() {\n const history = useHistory();\n const dispatch = useDispatch();\n const authentication = useSelector((state) => state.authentication);\n useEffect(() => {\n dispatch(onLogout({ method: \"GET\" }));\n }, []);\n\n if (authentication.logoutStatus == \"success\") {\n history.push(\"/Login\");\n }\n return
;\n}\n","export default __webpack_public_path__ + \"static/media/logo-iqvia.74d5733b.svg\";","import React, { useState, useEffect } from \"react\";\nimport TextField from \"@mui/material/TextField\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport Card from \"@mui/material/Card\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport \"./RegisterUser.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { useForm } from \"react-hook-form\";\nimport { useHistory } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { getRoles, registration, clearStatus, EmailValidation } from \"./registerUserSlice\";\nimport {redirectToLogin} from \".././authentication/authenticationSlice\";\n\nexport default function RegisterUser(props) {\n const { t } = useTranslation(\"language\");\n const history = useHistory();\n const dispatch = useDispatch();\n const {\n register,\n handleSubmit,\n getValues,\n formState: { errors },\n } = useForm({\n mode: \"onBlur\" // \"onChange\"\n });\n const registerUser = useSelector((state) => state.registerUser);\n const { status, roles, isRegSuccess, regStatus, isRegFailed } = registerUser;\n\n useEffect(() => {\n dispatch(getRoles({ method: \"GET\" }));\n }, []);\n\n const handleClose = () => {\n dispatch(clearStatus());\n };\n\n const handleEmailValidation = (email) => async (value) => {\n let url = \"home/EmailValidation?email=\" + value;\n let status = await dispatch(EmailValidation({ method: \"GET\", url: url })).then((data) => {\n if (data.payload) {\n return true;\n }\n });\n if (status) {\n return t(\"registerUser.failure\");\n }\n else {\n return true;\n }\n }\n\n if (regStatus == \"success\" && isRegSuccess) {\n if (!props.IsAdmin) {\n setTimeout(() => {\n props.OnCancel();\n }, 3000);\n } else {\n setTimeout(() => {\n history.push(\"/manage\");\n }, 5000);\n }\n }\n const onSubmit = (values) => {\n let user = {};\n user.Email = values.email;\n user.Organization = values.organization;\n user.FirstName = values.firstName;\n user.LastName = values.lastName;\n user.PhoneNumber = values.phone;\n user.Purpose = values.purpose;\n user.Active = props.IsAdmin ? \"1\" : \"0\";\n user.Role = props.IsAdmin ? [values.role] : null;\n setTimeout(() => {\n userRegistration(user);\n }, 400);\n };\n\n if(!registerUser.isSessionValid){\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n return (\n \n \n
\n
\n \n {t(\"registerUser.title\")}\n \n
\n
\n ()[\\]\\\\.,;:\\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,}))$/,\n message: t(\"registerUser.Email_Validation\"),\n },\n validate: handleEmailValidation(\"email\"),\n })}\n error={Boolean(errors.email)}\n helperText={errors ?.email ?.message}\n inputProps={{ maxLength: 60 }}\n required\n />\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n {props.IsAdmin && (\n
\n \n {roles.map((role) => {\n return (\n \n {role.roleName}\n \n );\n })}\n \n
\n )}\n\n
\n \n
\n
\n \n
\n
\n
\n history.push(\"/manage\") : props.OnCancel\n }\n >\n {t(\"registerUser.cancel\")}\n \n
\n
\n \n {props.IsAdmin\n ? t(\"registerUser.grantAccess\")\n : t(\"registerUser.reqAccess\")}\n \n
\n
\n
\n
\n \n \n {props.IsAdmin\n ? t(\"registerUser.grantSuccess\")\n : t(\"registerUser.reqSuccess\")}\n \n \n \n \n {t(\"registerUser.failure\")}\n \n \n \n );\n async function userRegistration(user) {\n let language = localStorage.getItem(\"language\");\n let body = user;\n let url = \"\";\n if (props.IsAdmin) {\n url = \"home/api/Register/AdminRegister?lang=\" + language + \"\";\n } else {\n url = \"home/home/Register/UserRegister?lang=\" + language + \"\";\n }\n dispatch(registration({ method: \"POST\", url: url, body: user }));\n }\n}\n","import React, { useState, useEffect } from \"react\";\nimport iqLogo from \"../../assets/logos/logo-iqvia.svg\";\nimport ftLogo from \"../../assets/logos/logo-footer.svg\";\nimport \"./login.css\";\nimport { useTranslation } from \"react-i18next\";\nimport Container from \"@mui/material/Container\";\nimport Box from \"@mui/material/Box\";\nimport Card from \"@mui/material/Card\";\nimport ButtonGroup from \"@mui/material/ButtonGroup\";\nimport Button from \"@mui/material/Button\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Select from \"@mui/material/Select\";\nimport RegisterUser from \"../registerUser/RegisterUser\";\nimport { useHistory } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { getCountries, onLogin } from \"./loginSlice\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport {clearStatus} from \"../authentication/authenticationSlice\";\n\nexport function Login() {\n const { t, i18n } = useTranslation(\"language\");\n const history = useHistory();\n const dispatch = useDispatch();\n const login = useSelector((state) => state.login);\n const { status, countries, loginStatus, redirectUrl, isLoggedIn } = login;\n const [showRegUser, setShowRegUser] = useState(false);\n const [languageVal, setLanguageVal] = useState(\"1\");\n\n const {isFailed, isInactive, isUnauthorized } = useSelector((state)=>state.authentication);\n\n function handleCancel() {\n setShowRegUser(false);\n }\n\n useEffect(() => {\n //getLanguages();\n dispatch(getCountries({ method: \"GET\" }));\n let language = localStorage.getItem(\"language\");\n if (language != undefined && language != null) {\n i18n.changeLanguage(language);\n if (language == \"en\") {\n setLanguageVal(\"1\");\n } else if (language == \"dk\") {\n setLanguageVal(\"2\");\n }\n } else {\n localStorage.setItem(\"language\", \"en\");\n // setLanguageVal(\"1\");\n }\n }, []);\n\n if (loginStatus == \"\" || loginStatus == \"pending\") {\n console.log(\"Loading...\");\n }\n if (loginStatus == \"success\" && isLoggedIn) {\n console.log(\"Logged In\", redirectUrl);\n window.location.href = redirectUrl;\n }\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n localStorage.setItem(\"language\", language.name);\n }\n }\n\n const handleCloseSnackbar = () => {\n dispatch(clearStatus());\n };\n\n return (\n \n \n
\n
\n \n {t(\"login.application_name\")}\n \n \n {t(\"login.casemix_info\")}\n \n
\n
\n
\n \n \n \n {showRegUser && (\n \n )}\n\n {!showRegUser && (\n \n \n \n\n \n {t(\"login.welcome_label\")}\n \n
\n {dispatch(onLogin({ method: \"GET\" })); localStorage.setItem(\"isUnauthorized\", \"true\");}}\n variant=\"contained\"\n fullWidth\n >\n {t(\"login.login_button\")}\n \n
\n
\n \n {t(\"login.new_user\")}\n \n \n {\n setShowRegUser(true);\n }}\n id=\"lnkReqAccess\"\n >\n {t(\"login.req_access\")}\n \n \n
\n
\n
\n )}\n\n
\n \n \n \n
\n \n
\n
\n \n \n \n \n window.open(\n \"https://www.customerservice.iqvia.com/support\",\n \"_blank\"\n )\n }\n >\n {t(\"footer.contact\")}\n \n \n handleLanguageChange(event.target.value)}\n >\n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
\n )}\n \n \n
\n\n \n
\n © IQVIA\n
\n
\n
\n \n \n \n \n {isInactive && t(\"login.msg_inactive\")}\n {isUnauthorized && t(\"login.msg_unauthorized\")}\n \n \n \n );\n}\n","import React from \"react\";\nimport \"./Dashboard.css\";\nimport Grid from \"@mui/material/Grid\";\nimport Card from \"@mui/material/Card\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Avatar from \"@mui/material/Avatar\";\nimport FolderOpenIcon from \"@mui/icons-material/FolderOpen\";\nimport CreateIcon from \"@mui/icons-material/Create\";\nimport AssessmentIcon from \"@mui/icons-material/Assessment\";\nimport VisibilityIcon from \"@mui/icons-material/Visibility\";\nimport { blue, pink, green, purple } from \"@mui/material/colors\";\nimport { useHistory } from \"react-router-dom\";\nimport { useSelector } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\n\nexport default function Dashboard() {\n const { t, i18n } = useTranslation(\"language\");\n const history = useHistory();\n const { user, isViewerRole } = useSelector((state) => state.authentication);\n return (\n
\n \n \n \n \n {`${t(\"dashboard.welcome\")} ${user[0].firstName}`}\n \n \n {t(\"dashboard.select_module\")}\n \n \n \n \n {!isViewerRole && (\n \n \n
\n \n \n \n
\n \n {t(\"dashboard.manager\")}\n \n \n {t(\"dashboard.manager_text\")}\n \n history.push(\"/manager\")}\n >\n {t(\"dashboard.go_to_module\")}\n \n
\n
\n )}\n \n \n
\n \n \n \n
\n \n {t(\"dashboard.editor\")}\n \n \n {t(\"dashboard.editor_text\")}\n \n history.push(\"/editor\")}\n >\n {t(\"dashboard.go_to_module\")}\n \n
\n
\n \n \n
\n \n {\" \"}\n \n
\n \n {t(\"dashboard.interactive\")}\n \n \n {t(\"dashboard.interactive_text\")}\n \n history.push(\"/interactive\")}\n >\n {t(\"dashboard.go_to_module\")}\n \n
\n
\n \n \n
\n \n \n \n
\n \n {t(\"dashboard.viewer\")}\n \n \n {t(\"dashboard.viewer_text\")}\n \n history.push(\"/viewer\")}\n >\n {t(\"dashboard.go_to_module\")}\n \n
\n
\n
\n
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport * as services from \"../../services/apiServices\";\nimport \"./Publisher.css\";\nimport Card from \"@mui/material/Card\";\nimport Typography from \"@mui/material/Typography\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Divider from \"@mui/material/Divider\";\nimport Link from \"@mui/material/Link\";\nimport Radio from \"@mui/material/Radio\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ContentCopyIcon from \"@mui/icons-material/ContentCopy\";\nimport {\n getDrgLogics,\n getAllGrouperData,\n getAllInteractiveData,\n getAllVisualData,\n setLogicValue,\n setActionFlag,\n handleYearValueChange,\n handleFileNameUpdates,\n handleActionChange,\n publishDRG,\n publishOtherCollection,\n handleClose,\n setActionAlert,\n resetPublishSuccess,\n setShowTariff,\n getDRGContent,\n getGrouperContent,\n getInteractiveContent,\n getVisualContent,\n closeUploadContent,\n setAlreadyPublished,\n validatePublishAction,\n resetPublisher,\n} from \"./publisherSlice\";\nimport { redirectToLogin } from \".././authentication/authenticationSlice\";\nimport FormGroup from \"@mui/material/FormGroup\";\nimport Switch from \"@mui/material/Switch\";\n\n// import {getDRGContent} from \"../contentUpload/contentUploadSlice\";\n\nfunction Publisher() {\n const { user } = useSelector((state) => state.authentication);\n const dispatch = useDispatch();\n const history = useHistory();\n const publisher = useSelector((state) => state.publisher);\n const {\n actionFlag,\n logicValue,\n yearValue,\n masterDrgData,\n masterGrouperData,\n masterInteractiveData,\n masterVisualData,\n fileNames,\n publishValue,\n fileNameValue,\n disablePublish,\n disableUnPublish,\n uniqueYears,\n publishSuccess,\n publishFailed,\n actionAlert,\n showTariff,\n isLoading,\n destEnvironment,\n noUploadContent,\n noDRGContent,\n noGrouperContent,\n noInteractiveContent,\n noViewerContent,\n alreadyPublished,\n selectedFile,\n } = publisher;\n const { t } = useTranslation(\"language\");\n const [openDialog, setOpenDialog] = useState(false);\n const [publishOrUnpublish, setPublishOrUnpublish] = useState(\"\");\n const [dialogContent, setDialogContent] = useState(\"\");\n const [finalData, setFinalData] = useState([]);\n const [finalUrl, setFinalUrl] = useState(\"\");\n const [showTariffWarning, setShowTariffWarning] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n const [showAlreadyPublished, setShowAlreadyPublished] = useState(false);\n //const [showTharif, setShowTharif] = useState(false);\n const siteUrl = localStorage.getItem(\"siteUrl\");\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n\n useEffect(() => {\n setShowAlreadyPublished(alreadyPublished?.isPublished == true);\n\n if (alreadyPublished?.isPublished == false) {\n PublishOrUnpublish(\"Publish\");\n }\n }, [alreadyPublished]);\n\n const LoadTypeDetails = (e) => {\n e.preventDefault();\n dispatch(setLogicValue(e.target.value));\n dispatch(setActionFlag(false));\n if (e.target.value == \"1\") {\n let url =\n \"api/GetDRGLogicListUserMap?userId=\" +\n user[0].email +\n \"&isAdmin=\" +\n user[0].isAdmin;\n dispatch(getDrgLogics({ url: url, method: \"GET\" }));\n } else if (e.target.value == \"2\") {\n dispatch(getAllGrouperData({ method: \"GET\" }));\n } else if (e.target.value == \"3\") {\n dispatch(getAllInteractiveData({ method: \"GET\" }));\n } else if (e.target.value == \"4\") {\n dispatch(getAllVisualData({ method: \"GET\" }));\n }\n };\n const handleYearChange = (e) => {\n dispatch(setActionFlag(false));\n if (logicValue == \"1\") {\n dispatch(\n handleYearValueChange({\n logicValue: logicValue,\n masterData: masterDrgData,\n value: e.target.value,\n })\n );\n } else if (logicValue == \"2\") {\n dispatch(\n handleYearValueChange({\n logicValue: logicValue,\n masterData: masterGrouperData,\n value: e.target.value,\n })\n );\n } else if (logicValue == \"3\") {\n dispatch(\n handleYearValueChange({\n logicValue: logicValue,\n masterData: masterInteractiveData,\n value: e.target.value,\n })\n );\n } else if (logicValue == \"4\") {\n dispatch(\n handleYearValueChange({\n logicValue: logicValue,\n masterData: masterVisualData,\n value: e.target.value,\n })\n );\n }\n };\n const handleFileNameChange = (e) => {\n dispatch(setActionFlag(false));\n dispatch(\n handleFileNameUpdates({\n logicValue: logicValue,\n fileNames: fileNames,\n value: e.target.value,\n })\n );\n };\n\n const handleOk = () => {\n setOpenDialog(false);\n var eventValue = publishOrUnpublish;\n setPublishOrUnpublish(\"\");\n if (logicValue == \"1\") {\n console.log(\"data for post:\", finalData[0]);\n if (eventValue == \"Publish\") {\n let contentURL =\n \"/api/GetDRGFrontPageContent?language=\" +\n language +\n \"&year=\" +\n yearValue +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getDRGContent({ url: contentURL, method: \"GET\" }));\n }\n\n let url =\n \"api/GetDRGLogicListUserMap?userId=\" +\n user[0].email +\n \"&isAdmin=\" +\n user[0].isAdmin;\n dispatch(publishDRG({ method: \"POST\", body: finalData[0], apiUrl: url }));\n } else {\n console.log(\"url for post:\", finalUrl);\n if (eventValue == \"Publish\") {\n if (logicValue == 2) {\n let contentURL =\n \"api/GetGrouperFrontPageContent?language=\" +\n language +\n \"&year=\" +\n yearValue +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getGrouperContent({ url: contentURL, method: \"GET\" }));\n } else if (logicValue == 3) {\n let contentURL =\n \"api/GetInteractiveFrontPageContent?language=\" +\n language +\n \"&year=\" +\n yearValue +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getInteractiveContent({ url: contentURL, method: \"GET\" }));\n } else {\n let contentURL =\n \"api/GetVisualFrontPageContent?language=\" +\n language +\n \"&year=\" +\n yearValue +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getVisualContent({ url: contentURL, method: \"GET\" }));\n }\n }\n dispatch(\n publishOtherCollection({\n url: finalUrl,\n method: \"POST\",\n logicType: logicValue,\n })\n );\n }\n };\n const handleDialogClose = () => {\n setOpenDialog(false);\n setPublishOrUnpublish(\"\");\n };\n const validatePublish = (e) => {\n e.preventDefault();\n var eventValue = e.currentTarget.value;\n if (\n eventValue == \"Publish\" &&\n (publishValue == \"1\" || publishValue == \"2\")\n ) {\n let validateUrl =\n \"api/ValidatePublishAction?publishValue=\" +\n publishValue +\n \"&year=\" +\n yearValue +\n \"&logicValue=\" +\n logicValue;\n dispatch(validatePublishAction({ apiUrl: validateUrl, method: \"GET\" }));\n } else {\n PublishOrUnpublish(eventValue);\n }\n };\n const handlePublish = (e) => {\n e.preventDefault();\n var eventValue = e.currentTarget.value;\n PublishOrUnpublish(eventValue);\n };\n\n function PublishOrUnpublish(eventValue) {\n dispatch(setAlreadyPublished({}));\n var data = [];\n if (eventValue == \"Publish\" && publishValue == \"\") {\n dispatch(setActionAlert(true));\n } else if (\n publishValue == \"1\" &&\n logicValue != \"1\" &&\n logicValue != \"\" &&\n eventValue == \"Publish\" &&\n !showTariff\n ) {\n setShowTariffWarning(true);\n } else {\n var option = \"0\";\n if (eventValue == \"Publish\") {\n option = publishValue;\n } else {\n option = \"0\";\n }\n if (logicValue == \"1\") {\n var drgLogicData = masterDrgData.filter((a) => a.id == fileNameValue);\n var publish = false;\n var preProd = false;\n var test = false;\n if (eventValue == \"Publish\") {\n if (publishValue == \"1\") {\n publish = true;\n } else {\n publish = false;\n }\n if (publishValue == \"2\") {\n preProd = true;\n } else {\n preProd = false;\n }\n if (publishValue == \"3\") {\n test = true;\n } else {\n test = false;\n }\n } else if (eventValue == \"UnPublish\") {\n publish = false;\n preProd = false;\n test = false;\n }\n // var publishCheck = masterDrgData.filter(\n // (a) => a.year == drgLogicData[0].year\n // );\n var published = [];\n\n published = drgLogicData.filter(\n (a) =>\n a.isPublished == true || a.isPreProd == true || a.IsTest == true\n );\n\n data.push({\n Id: drgLogicData[0].id,\n DrgLogicName: drgLogicData[0].name,\n DrgLogicVersion: drgLogicData[0].version,\n Year: drgLogicData[0].year,\n IsPublished: publish,\n IsPreProd: preProd,\n IsTest: test,\n });\n setFinalData(data);\n if (\n published.length > 0 &&\n (publishValue == \"1\" || publishValue == \"2\" || publishValue == \"3\") &&\n eventValue == \"Publish\"\n ) {\n var dialogMessage =\n t(\"publisher.headerMsg1\") +\n published[0].name +\n \" - \" +\n published[0].version +\n t(\"publisher.headerMsg2\") +\n published[0].year +\n t(\"publisher.headerMsg3\");\n console.log(\"final:\", finalData);\n\n setDialogContent(dialogMessage);\n setOpenDialog(true);\n setPublishOrUnpublish(eventValue);\n } else {\n console.log(\"data for post:\", data[0]);\n if (eventValue == \"Publish\") {\n let contentURL =\n \"/api/GetDRGFrontPageContent?language=\" +\n language +\n \"&year=\" +\n yearValue +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getDRGContent({ url: contentURL, method: \"GET\" }));\n }\n\n let url =\n \"api/GetDRGLogicListUserMap?userId=\" +\n user[0].email +\n \"&isAdmin=\" +\n user[0].isAdmin;\n\n dispatch(publishDRG({ apiUrl: url, method: \"POST\", body: data[0] }));\n }\n\n // updateCollections(\n // eventValue,\n // masterDrgData,\n // dialogMessage,\n // option,\n // \"DRGUserMap\"\n // );\n } else if (logicValue == \"2\") {\n var dataToValidate = masterGrouperData.filter(\n (a) => a.id == selectedFile.id\n );\n console.log(\"grouper data:\", dataToValidate);\n var dialogMessage =\n \"Grouper \" +\n dataToValidate[0].grouperName +\n \" - \" +\n dataToValidate[0].grouperVersion +\n t(\"publisher.headerMsg2\") +\n dataToValidate[0].year +\n t(\"publisher.headerMsg3\");\n updateCollections(\n eventValue,\n masterGrouperData,\n dialogMessage,\n option,\n \"DRGGrouper\"\n );\n } else if (logicValue == \"3\") {\n var dataToValidate = masterInteractiveData.filter(\n (a) => a.id == selectedFile.id\n );\n var dialogMessage =\n \"Interactive \" +\n dataToValidate[0].interactiveName +\n \" - \" +\n dataToValidate[0].interactiveVersion +\n t(\"publisher.headerMsg2\") +\n dataToValidate[0].year +\n t(\"publisher.headerMsg3\");\n updateCollections(\n eventValue,\n masterInteractiveData,\n dialogMessage,\n option,\n \"DRGInteractive\"\n );\n } else if (logicValue == \"4\") {\n var dataToValidate = masterVisualData.filter(\n (a) => a.id == selectedFile.id\n );\n var dialogMessage =\n \"Viewer \" +\n dataToValidate[0].visualName +\n \" - \" +\n dataToValidate[0].visualVersion +\n t(\"publisher.headerMsg2\") +\n dataToValidate[0].year +\n t(\"publisher.headerMsg3\");\n updateCollections(\n eventValue,\n masterVisualData,\n dialogMessage,\n option,\n \"DRGVisual\"\n );\n }\n }\n }\n\n function updateCollections(\n eventValue,\n data,\n dialogMessage,\n option,\n collectionName\n ) {\n var dataToValidate = data.filter(\n (a) => a.year == yearValue && a.id == fileNameValue\n );\n var published = [];\n var showTarriffValue = showTariff;\n // if (publishValue == \"1\") {\n // showTarriffValue = true;\n // }\n\n published = dataToValidate.filter((a) => a.status > 0);\n\n let url =\n \"api/PublishUnpublishOtherCollection?ID=\" +\n fileNameValue +\n \"&Status=\" +\n option +\n \"&collectionName=\" +\n collectionName +\n \"&Year=\" +\n yearValue +\n \"&showTharif=\" +\n showTarriffValue +\n \"\";\n setFinalUrl(url);\n if (\n published.length > 0 &&\n (publishValue == \"1\" || publishValue == \"2\" || publishValue == \"3\") &&\n eventValue == \"Publish\"\n ) {\n setDialogContent(dialogMessage);\n setOpenDialog(true);\n setPublishOrUnpublish(eventValue);\n } else {\n if (logicValue == 2 && eventValue == \"Publish\") {\n let contentURL =\n \"api/GetGrouperFrontPageContent?language=\" +\n language +\n \"&year=\" +\n yearValue +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getGrouperContent({ url: contentURL, method: \"GET\" }));\n } else if (logicValue == 3 && eventValue == \"Publish\") {\n let contentURL =\n \"api/GetInteractiveFrontPageContent?language=\" +\n language +\n \"&year=\" +\n yearValue +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getInteractiveContent({ url: contentURL, method: \"GET\" }));\n } else if (logicValue == 4 && eventValue == \"Publish\") {\n let contentURL =\n \"api/GetVisualFrontPageContent?language=\" +\n language +\n \"&year=\" +\n yearValue +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getVisualContent({ url: contentURL, method: \"GET\" }));\n }\n dispatch(\n publishOtherCollection({\n url: url,\n method: \"POST\",\n logicType: logicValue,\n })\n );\n }\n }\n useEffect(() => {\n let url =\n \"api/GetDRGLogicListUserMap?userId=\" +\n user[0].email +\n \"&isAdmin=\" +\n user[0].isAdmin;\n dispatch(getDrgLogics({ url: url, method: \"GET\" }));\n return () => {\n dispatch(resetPublisher());\n };\n }, []);\n\n function urlGenerator() {\n var url = \"\";\n if (logicValue == \"1\") {\n if (publishValue == \"1\") {\n url = `${window.location.origin}/DrgProd`;\n } else if (publishValue == \"2\") {\n url = `${window.location.origin}/DrgHearing`;\n } else if (publishValue == \"3\") {\n url = `${window.location.origin}/DrgTest?year=${yearValue}&id=${fileNameValue}`;\n }\n } else if (logicValue == \"2\") {\n if (publishValue == \"1\") {\n url = `${window.location.origin}/GrouperProd`;\n } else if (publishValue == \"2\") {\n url = `${window.location.origin}/GrouperHearing`;\n } else if (publishValue == \"3\") {\n url = `${window.location.origin}/GrouperTest?year=${yearValue}&id=${fileNameValue}`;\n }\n } else if (logicValue == \"3\") {\n if (publishValue == \"1\") {\n url = `${window.location.origin}/InteractiveProd`;\n } else if (publishValue == \"2\") {\n url = `${window.location.origin}/InteractiveHearing`;\n } else if (publishValue == \"3\") {\n url = `${window.location.origin}/InteractiveTest?id=${fileNameValue}`;\n }\n } else if (logicValue == \"4\") {\n if (publishValue == \"1\") {\n url = `${window.location.origin}/ViewerProd`;\n } else if (publishValue == \"2\") {\n url = `${window.location.origin}/ViewerHearing`;\n } else if (publishValue == \"3\") {\n url = `${window.location.origin}/ViewerTest?id=${fileNameValue}`;\n }\n }\n return url;\n }\n\n function actionText() {\n var actionText = \"\";\n var logicName = \"\";\n if (!actionFlag) {\n logicName = GetLogicType();\n if (publishValue == 1) {\n {\n actionText = `${t(\"publisher.actionMsg1\")} ${logicName} ${t(\n \"publisher.actionMsgProd\"\n )}`;\n }\n } else if (publishValue == 2) {\n {\n actionText = `${t(\"publisher.actionMsg1\")} ${logicName} ${t(\n \"publisher.actionMsgHearing\"\n )}`;\n }\n } else if (publishValue == 3) {\n {\n actionText = `${t(\"publisher.actionMsg1\")} ${logicName} ${t(\n \"publisher.actionMsgTest\"\n )}`;\n }\n }\n }\n return actionText;\n }\n\n if (!publisher.isSessionValid) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n const handleSwitch = (key, attribute) => (e) => {\n dispatch(setShowTariff(e.target.checked));\n };\n\n const handleCopyClick = (url) => () => {\n navigator.clipboard.writeText(url);\n setOpenAlert(true);\n };\n\n const handleCloseWarning = () => {\n // reset();\n dispatch(setAlreadyPublished(\"not set\"));\n //setShowAlreadyPublished(false);\n };\n\n function GetLogicType() {\n var logicName;\n switch (logicValue) {\n case \"1\":\n logicName = t(\"publisher.DRG_Logic\");\n break;\n case \"2\":\n logicName = \"Grouper\";\n break;\n case \"3\":\n logicName = \"Interactive\";\n break;\n case \"4\":\n logicName = \"Visual\";\n break;\n default:\n break;\n }\n return logicName;\n }\n\n const handleAlertClose = () => {\n setOpenAlert(false);\n };\n\n function contentPageLink() {\n return (\n \n {noDRGContent && t(\"publisher.noDRGContent\")}\n {noGrouperContent && t(\"publisher.noGrouperContent\")}\n {noInteractiveContent && t(\"publisher.noInteractiveCotent\")}\n {noViewerContent && t(\"publisher.noViewerContent\")}\n
\n \n {t(\"publisher.uploadContentLink\")}\n {\" \"}\n {t(\"publisher.uploadContentLinkHere\")}\n
\n );\n }\n\n return (\n
\n {user[0] && user[0]?.token ? (\n
\n \n
\n \n {t(\"header.publisher\")}\n \n
\n\n
\n
\n
\n \n \n {t(\"publisher.DRG_Logic\")}\n \n \n {\"Grouper\"}\n \n \n {t(\"interactive.Interactive\")}\n \n \n {\"Viewer\"}\n \n \n
\n
\n
\n \n {uniqueYears.map((x) => {\n return (\n \n {x}\n \n );\n })}\n \n
\n
\n
\n \n {fileNames.map((x) => {\n return (\n \n {`${x.name}_${x.version}`}\n \n );\n })}\n \n
\n
\n {\n dispatch(handleActionChange(e.target.value));\n }}\n >\n \n {t(\"publisher.Production\")}\n \n \n {t(\"publisher.Hearing\")}\n \n \n Test\n \n \n
\n\n
\n {logicValue != \"1\" && publishValue != \"\" && (\n \n }\n />\n )}\n
\n {/*
*/}\n \n {disablePublish && (\n
\n URL\n
\n \n {urlGenerator()}\n \n
\n \n
\n
\n
\n )}\n \n
\n \n {actionText()}\n \n
\n\n
\n
\n history.push(\"/\")}\n >\n {t(\"registerUser.cancel\")}\n \n
\n
\n \n {t(\"publisher.Unpublish\")}\n \n
\n
\n \n {t(\"publisher.Publish\")}\n \n
\n
\n \n \n dispatch(handleClose())}\n >\n dispatch(handleClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"publisher.actionAlert\")}\n \n \n setShowTariffWarning(false)}\n sx={{ marginTop: \"50px\" }}\n >\n setShowTariffWarning(false)}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"publisher.ShowTariff_Notification_Prod\")}\n \n \n dispatch(handleClose())}\n >\n dispatch(handleClose())}\n severity=\"success\"\n sx={{ width: \"100%\" }}\n >\n {t(\"publisher.successMessage\")}\n \n \n dispatch(handleClose())}\n >\n dispatch(handleClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(\"publisher.pub_unpub_failed\")}\n \n \n dispatch(handleClose())}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {\"Confirm\"}\n \n \n {dialogContent}\n \n \n {t(\"publisher.replace_warning\")}\n \n \n \n \n \n \n \n \n \n \n {GetLogicType() +\n \" \" +\n alreadyPublished.logicName +\n \"_\" +\n alreadyPublished.version +\n \" \" +\n t(\"publisher.published_warning\").replace(\n \"yyyy\",\n alreadyPublished.year\n )}\n \n \n {t(\"publisher.replace_warning\")}\n \n \n \n \n \n {t(\"Manager.Ok\")}\n \n \n \n
\n ) : null}\n dispatch(closeUploadContent())}\n >\n dispatch(closeUploadContent())}\n severity=\"info\"\n sx={{ width: \"50%\" }}\n >\n {noDRGContent && contentPageLink()}\n {noGrouperContent && contentPageLink()}\n {noInteractiveContent && contentPageLink()}\n {noViewerContent && contentPageLink()}\n \n \n \n \n URL copied\n \n \n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
\n );\n}\n\nexport default Publisher;\n","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport \"./ManageUsers.css\";\nimport Button from \"@mui/material/Button\";\nimport Switch from \"@mui/material/Switch\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Typography from \"@mui/material/Typography\";\nimport Divider from \"@mui/material/Divider\";\nimport Paper from \"@mui/material/Paper\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport TableRow from \"@mui/material/TableRow\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport { useHistory } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n getRoles,\n getUsers,\n setRows,\n saveChanges,\n setLoading,\n clearStatus,\n UserActivation,\n} from \"./manageUserSlice\";\nimport {redirectToLogin} from \".././authentication/authenticationSlice\";\n\nexport default function ManageUsers() {\n const { t } = useTranslation(\"language\");\n const history = useHistory();\n const dispatch = useDispatch();\n const manageUser = useSelector((state) => state.manageUser);\n const { roles, userStatus, users, loading, rows, isSuccess, isFailed } =\n manageUser;\n const [select, setselect] = useState(\"1\");\n const [page, setPage] = React.useState(0);\n const [rowsPerPage, setRowsPerPage] = React.useState(0);\n const [searchValue, setSearchValue] = useState(\"\");\n useEffect(() => {\n dispatch(getUsers({ method: \"GET\" }));\n }, [isSuccess]);\n useEffect(() => {\n dispatch(getRoles({ method: \"GET\" }));\n }, []);\n\n const handleSelect = (e) => {\n const value = e.target.value;\n if (value === 0) {\n const result = users.filter((user) => {\n return user.active == value;\n });\n dispatch(setRows(result));\n setselect(value);\n } else {\n dispatch(setRows(users));\n setselect(value);\n }\n };\n const requestSearch = (event) => {\n setSearchValue(event.target.value);\n setselect(1);\n const result = users.filter((user) => {\n return (\n user.firstName\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase()) ||\n user.email ?.toLowerCase().includes(event.target.value ?.toLowerCase()) ||\n user.phoneNumber\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase())\n );\n });\n dispatch(setRows(result));\n };\n const handleSwitch = (key, attribute) => (e) => {\n var value = e.target.checked;\n if (value == true) {\n value = 1;\n let user = rows.filter(row => row.email == key)[0];\n dispatch(UserActivation({ method: \"POST\", body: user }));\n } else value = 0;\n let result = rows.map((row) => {\n if (key == row.email) {\n return { ...row, [attribute]: value };\n } else {\n return row;\n }\n });\n dispatch(setRows(result));\n };\n const handleRole = (key, attribute) => (e) => {\n let result = rows.map((row) => {\n if (key == row.email) {\n return { ...row, [[attribute]]: [e.target.value] };\n } else {\n return row;\n }\n });\n dispatch(setRows(result));\n };\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n const onSave = () => {\n setSearchValue(\"\");\n setselect(1);\n dispatch(setLoading(true));\n let language = localStorage.getItem(\"language\");\n let url = \"home/api/SaveUsers?lang=\" + language + \"\";\n dispatch(saveChanges({ method: \"POST\", url: url, body: rows }));\n };\n\n const handleClose = () => {\n dispatch(clearStatus());\n };\n\n if(!manageUser.isSessionValid){\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n return (\n
\n \n
\n \n {t(\"ManageUser.Manage_Users\")}\n \n history.push(\"/register\")}\n >\n {t(\"ManageUser.register_user\")}\n \n
\n \n
\n
\n
\n \n {t(\"Global.users\")}\n \n \n {rows.length} {t(\"Global.Total\")}\n \n
\n
\n
\n \n {t(\"ManageUser.AllUsers\")}\n \n {t(\"ManageUser.Pending_Approval\")}\n \n \n ,\n }}\n />\n
\n
\n
\n \n \n \n \n \n {t(\"ManageUser.Name\")}\n \n \n {t(\"manageUser.email\")} \n \n \n {t(\"ManageUser.Phone\")}\n \n \n {t(\"ManageUser.Organization\")}\n \n \n {t(\"ManageUser.Purpose\")}\n \n \n {t(\"ManageUser.Activate\")}\n \n \n {t(\"ManageUser.Role\")}\n \n \n \n {loading ? (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n {(rowsPerPage > 0\n ?rows.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n :rows\n ).map((row) => {\n return (\n \n \n {row.firstName} {row.lastName}\n \n \n {row.email}\n \n \n {row.phoneNumber}\n \n \n {row.organization}\n \n \n {row.purpose}\n \n \n \n \n \n \n {roles.map((role) => (\n \n {role.roleName}\n \n ))}\n \n \n \n );\n })}\n \n )}\n
\n \n
\n
\n
\n \n {t(\"ManageUser.save\")}\n \n
\n \n \n {t(\"ManageUser.save_changes\")}\n \n \n
\n
\n );\n}\n","export const FileNames = (\n [\n \"till.csv\",\n \"dg1.csv\",\n \"drglogik.csv\",\n \"drgtpt.csv\",\n \"CountingCode.yaml\",\n \"interne koder.yaml\",\n \"casemixDRG.csv\",\n \"egenskaber.csv\",\n \"MDCSpecification.yaml\",\n \"sks.csv\",\n]\n);\n\nexport const FileNamesUpload = (\n [\n \"till.csv\",\n \"dg1.csv\",\n \"drglogik.csv\",\n \"drgtpt.csv\",\n \"CountingCode.yaml\",\n \"interne koder.yaml\",\n \"casemixDRG.csv\"\n ] \n);\n\nexport const SupportFilesUpload = (\n [\n \"egenskaber.csv\",\n \"MDCSpecification.yaml\",\n ] \n);","import React from 'react'\nimport \"./Manager.css\";\nimport { useTranslation } from \"react-i18next\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { clearStatus } from \"./managerSlice\";\n\nfunction SharedComponent() {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const manager = useSelector((state) => state.manager);\n const {\n isSuccess,\n isFailed,\n isError,\n isServerError,\n isUploadSuccess,\n isUploadFailed,\n isRemoveSuccess,\n isRemoveFailed,\n isUploadError,\n isRemoveError,\n isFileExist,\n isIvalidFile,\n isEmptyFile,\n isClinicalCode,\n isCasemixFile,\n isSupportFile,\n isDRG,\n isGGrouper,\n isGInteractive,\n isGViewer,\n isSaveUsersSuccess,\n isSaveUsersFailed,\n isSaveLogicSuccess,\n isSaveLogicFailed,\n isSaveSubListSuccess,\n isRemoveSubListSuccess,\n isRemoveSubListFailed,\n isGSaveLogicFailed,\n isGGrouperCheck,\n isGGrouperError,\n isGInteractiveCheckGrouper,\n isGInteractiveCheckInterkoder,\n isGenerateSuccess,\n isGViewerCheck,\n isDownloadError,\n isUploadxlsx,\n isEditLogicInfo,\n isUploadPDF,\n } = manager;\n\n const handleCloseSnackbar = () => {\n dispatch(clearStatus());\n };\n return (\n
\n \n \n {isUploadSuccess && t(\"Manager_Upload.Successful\")}\n {isRemoveSuccess && (isClinicalCode || isCasemixFile || isSupportFile) && t(\"Manager_Remove.file_removed\")}\n {isRemoveSuccess && isDRG && t(\"Manager_Remove.Successful\")}\n {isSaveUsersSuccess && t(\"DRG.SaveUsers_Successful\")}\n {isSaveLogicSuccess && t(\"Manager_Common.SaveLogic_Success\")}\n {isSaveSubListSuccess && t(\"DRG.SaveSubList_Success\")}\n {isRemoveSubListSuccess && t(\"Manager_Common.subset_remove_success\")}\n {isRemoveSuccess && isGGrouper && t(\"GGrouper.Remove_success\")}\n {isRemoveSuccess && isGInteractive && t(\"GInteractive.Remove_success\")}\n {isGenerateSuccess && isGInteractive && t(\"GInteractive.GInteractive_success\")}\n {isRemoveSuccess && isGViewer && t(\"GViewer.Remove_success\")}\n {isGenerateSuccess && isGViewer && t(\"GViewer.GViewer_success\")}\n\n \n \n \n \n {isFileExist && t(\"Manager_Upload.File_exists\")}\n {isIvalidFile && t(\"Manager_Upload.Invalid_file\")}\n {isEmptyFile && t(\"Manager_Upload.Empty_File\")}\n {isRemoveFailed && isClinicalCode && t(\"Manager_Remove.Failed_isClinicalCode\")}\n {isSaveLogicFailed && t(\"DRG.SaveLogic_Failed\")}\n {isGSaveLogicFailed && t(\"Manager_Common.SaveLogic_Failed\")}\n {isRemoveFailed && isGGrouper && t(\"GGrouper.Remove_failed\")}\n {isGGrouperCheck && t(\"GGrouper.GGrouper_check\")}\n {isGInteractiveCheckGrouper && t(\"GInteractive.GInteractive_check_grouper\")}\n {isGInteractiveCheckInterkoder && t(\"GInteractive.GInteractive_check_interkoder\")}\n {isGViewerCheck && t(\"GViewer.GViewer_check\")}\n {isRemoveSubListFailed && \"Subset cannot be removed\"}\n {isRemoveFailed && t(\"Manager_Remove.Failed_isDRGlogic\")}\n {isUploadxlsx && t(\"GViewer.upload_xlsx\")}\n {isEditLogicInfo && t(\"Manager_Common.edit_logic_info\")}\n {isUploadPDF && t(\"Manager_Common.upload_pdf\")}\n \n \n \n \n {isUploadError && t(\"Manager_Upload.Upload_error\")}\n {isUploadFailed && t(\"Manager_Upload.Upload_failed\")}\n {isRemoveError && t(\"Manager_Remove.Remove_error\")}\n {isSaveUsersFailed && t(\"DRG.SaveUsers_Failed\")}\n {isGGrouperError && t(\"GGrouper.GGrouper_error\")}\n {isDownloadError && t(\"Manager_Common.Error\")}\n {isServerError && t(\"Manager_Common.server_error\")}\n \n \n
\n )\n}\n\nexport default SharedComponent\n","import React, { useState, useEffect } from 'react'\nimport \"./Manager.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { styled } from '@mui/material/styles';\nimport { makeStyles } from \"@mui/styles\";\nimport Paper, { PaperProps } from '@mui/material/Paper';\nimport Divider from \"@mui/material/Divider\";\nimport Button from '@mui/material/Button';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport Typography from '@mui/material/Typography';\nimport SearchIcon from '@mui/icons-material/Search';\nimport TextField from '@mui/material/TextField';\nimport InputLabel from '@mui/material/InputLabel';\nimport Dropzone from \"react-dropzone\";\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle';\nimport DownloadIcon from '@mui/icons-material/Download';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport IconButton from '@mui/material/IconButton';\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport { useForm } from \"react-hook-form\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { setFilterData, loadlogic, upload, clearStatus, setSelectedGrpCodeValue, setSelectedYear, setSelectedUploadYear, setMasterFilterData, remove, download, setIsRender } from \"./managerSlice\";\nimport { FileNames, FileNamesUpload, SupportFilesUpload } from \"./AdminFiles\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport SharedComponent from \"./SharedComponent\";\nimport { resetWarningCache } from 'prop-types';\nimport UploadFileIcon from '@mui/icons-material/UploadFile';\nimport Draggable from 'react-draggable';\nimport CloseIcon from \"@mui/icons-material/Close\";\n\nfunction PaperComponent(props) {\n return (\n \n \n \n );\n}\n\nexport default function FileLibrary() {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const { register, handleSubmit, formState: { errors }, reset } = useForm();\n const [selectedFiles, setSelectedFiles] = useState(undefined);\n const [currentFile, setCurrentFile] = useState(undefined);\n const [fileName, setFileName] = useState(undefined);\n const [fileId, setFileId] = useState(undefined);\n const [open, setOpen] = useState(false);\n const [ropen, setRopen] = useState(false);\n const [removeFile, setRemoveFile] = useState(false);\n const manager = useSelector((state) => state.manager);\n const {\n data,\n distinctUploadYear,\n filterdata,\n isRender,\n selectedYear,\n selectedUploadYear,\n masterfilterdata,\n isClinicalCode,\n isCasemixFile,\n isSupportFile,\n } = manager;\n const [selectedGrpCodeVal, setSelectedGrpCodeVal] = useState(FileNamesUpload[0]);\n const [selectedSupportVal, setSelectedSupportVal] = useState(SupportFilesUpload[0]);\n const { user, isAdminPrivileges } = useSelector((state) => state.authentication);\n const [searchValue, setSearchValue] = useState(\"\");\n\n useEffect(() => {\n setSearchValue(\"\");\n if (isRender) {\n if ((selectedUploadYear == null || selectedUploadYear == '' || selectedUploadYear == undefined) && removeFile == false) {\n dispatch(setSelectedYear());\n }\n let selectedGrpCodeValue = \"\";\n if (isClinicalCode) {\n selectedGrpCodeValue = \"sks.csv\";\n }\n if (isCasemixFile) {\n selectedGrpCodeValue = selectedGrpCodeVal;\n }\n if (isSupportFile) {\n selectedGrpCodeValue = selectedSupportVal;\n }\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\" + selectedGrpCodeValue;\n dispatch(loadlogic({ method: \"GET\", url: url }));\n }\n }, [isRender, isClinicalCode, isCasemixFile, isSupportFile, selectedGrpCodeVal, selectedSupportVal]);\n\n const handleClose = () => {\n setSelectedFiles(\"\");\n // reset();\n setOpen(false);\n setRopen(false);\n }\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedYear(value));\n if (value) {\n const result = data.filter((item) => {\n return item.Year == value;\n });\n dispatch(setMasterFilterData(result));\n dispatch(setFilterData(result));\n }\n }\n\n const handleSelectedGrpCodeVal = (e) => {\n dispatch(setIsRender());\n setSelectedGrpCodeVal(e.target.value);\n }\n\n const handleSelectedSupportVal = (e) => {\n dispatch(setIsRender());\n setSelectedSupportVal(e.target.value);\n }\n\n const requestSearch = (event) => {\n setSearchValue(event.target.value);\n const result = masterfilterdata.filter((item) => {\n // return (\n // item.Name\n // ?.toLowerCase()\n // .includes(event.target.value ?.toLowerCase()) ||\n // item.version ?.toLowerCase().includes(event.target.value ?.toLowerCase())\n // );\n if (item.Name.toLowerCase().includes(event.target.value.toLowerCase())) {\n return item.Name.toLowerCase().includes(event.target.value.toLowerCase());\n }\n else if (item.version.toLowerCase().includes(event.target.value.toLowerCase())) {\n return item.version.toLowerCase().includes(event.target.value.toLowerCase());\n }\n else if (event.target.value.toLowerCase().includes(item.Name.toLowerCase()) || event.target.value.toLowerCase().includes(item.version.toLowerCase())) {\n return item.Name + \" \" + item.version.toLowerCase().includes(event.target.value.toLowerCase());\n }\n });\n dispatch(setFilterData(result));\n };\n\n const onDrop = (files) => {\n if (files.length > 0) {\n setSelectedFiles(files);\n }\n };\n\n const uploadFile = () => {\n setOpen(true);\n reset({ year: selectedYear });\n };\n\n async function uploadLogic(values) {\n let currentFile = selectedFiles[0];\n setCurrentFile(currentFile);\n setSelectedFiles(\"\");\n let logicName = values.name;\n let logicVersion = values.version;\n let logicYear = values.year;\n dispatch(setSelectedUploadYear(logicYear));\n let selectedGrpCodeValue = \"\";\n if (isClinicalCode) {\n selectedGrpCodeValue = \"sks.csv\";\n }\n if (isCasemixFile) {\n selectedGrpCodeValue = selectedGrpCodeVal;\n }\n if (isSupportFile) {\n selectedGrpCodeValue = selectedSupportVal;\n }\n let url = \"api/uploadCSV?logicName=\" + logicName + \"&logicVersion=\" + logicVersion + \"&logicYear=\" + logicYear +\n \"&selectedGrpCodeVal=\" + selectedGrpCodeValue + \"&userEmail=\" + user[0]['email'];\n console.log(url);\n let formData = new FormData();\n formData.append('file', currentFile, currentFile.name);\n dispatch(upload({ method: \"POST\", url: url, body: formData }));\n }\n\n const onSubmit = (values) => {\n if (values.name !== null && values.name !== '' && values.name !== undefined) {\n uploadLogic(values);\n // reset();\n setOpen(false);\n }\n }\n\n const onDownload = (values) => (e) => {\n downloadSelectedFile(values._id);\n }\n\n async function downloadSelectedFile(id) {\n let url = \"\";\n let selectedID = id;\n if (isClinicalCode) {\n dispatch(setSelectedGrpCodeValue(\"sks.csv\"));\n url = \"api/ExportSksMaster?&id=\" + selectedID;\n }\n if (isCasemixFile) {\n if (selectedGrpCodeVal == \"till.csv\") {\n url = \"api/ExportTillMaster?&id=\" + selectedID;\n }\n else if (selectedGrpCodeVal == \"dg1.csv\") {\n url = \"api/ExportDG1Master?&id=\" + selectedID;\n }\n else if (selectedGrpCodeVal == \"drglogik.csv\") {\n url = \"api/ExportDRGLogikMaster?&id=\" + selectedID;\n }\n else if (selectedGrpCodeVal == \"drgtpt.csv\") {\n url = \"api/ExportDRGTPTMaster?&id=\" + selectedID;\n }\n else if (selectedGrpCodeVal == \"CountingCode.yaml\") {\n url = \"api/ExportCountingCodeMaster?&id=\" + selectedID;\n }\n else if (selectedGrpCodeVal == \"casemixDRG.csv\") {\n url = \"api/ExportCasemixDrg?&id=\" + selectedID;\n }\n else if (selectedGrpCodeVal == \"interne koder.yaml\") {\n url = \"api/ExportInterneKoder?&id=\" + selectedID;\n }\n dispatch(setSelectedGrpCodeValue(selectedGrpCodeVal));\n }\n if (isSupportFile) {\n if (selectedSupportVal == \"egenskaber.csv\") {\n url = \"api/ExportEGENSKABERMaster?&id=\" + selectedID;\n }\n else if (selectedSupportVal == \"MDCSpecification.yaml\") {\n url = \"api/ExportMDCSPECIFICATIONMaster?&id=\" + selectedID;\n }\n dispatch(setSelectedGrpCodeValue(selectedSupportVal));\n }\n dispatch(download({ method: \"GET\", url: url }));\n }\n\n const onRemove = (values) => (e) => {\n e.preventDefault();\n setFileName(values.Name + \" \" + values.version);\n setFileId(values._id);\n setRopen(true);\n }\n\n const onOk = (id) => (e) => {\n setRopen(false);\n removeSelectedLogic(id);\n setRemoveFile(true);\n }\n\n async function removeSelectedLogic(id) {\n let selectedID = id;\n let selectedGrpCodeValue = \"\";\n if (isClinicalCode) {\n selectedGrpCodeValue = \"sks.csv\";\n }\n if (isCasemixFile) {\n selectedGrpCodeValue = selectedGrpCodeVal;\n }\n if (isSupportFile) {\n selectedGrpCodeValue = selectedSupportVal;\n }\n let url = \"api/removeLogicNameAndVersion?&selectedGrpCodeVal=\" + selectedGrpCodeValue +\n \"&logicNameAndVersion=\" + selectedID;\n dispatch(remove({ method: \"GET\", url: url }));\n }\n\n return (\n
\n \n
\n
\n \n {isClinicalCode && t(\"Manager.SKS_Data_Files\")}\n {isCasemixFile && t(\"Manager.Casemix_File\")}\n {isSupportFile && t(\"Manager.support_file\")}\n \n \n {t(\"Global.Total\")} {filterdata.length}\n \n
\n
\n
\n \n {distinctUploadYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n {isCasemixFile && (\n \n {FileNamesUpload.map((name) => {\n return (\n \n {name}\n \n );\n })}\n \n )}\n {isSupportFile && (\n \n {SupportFilesUpload.map((name) => {\n return (\n \n {name}\n \n );\n })}\n \n )}\n \n {t(\"Manager_Common.Upload_File\")}\n \n
\n
\n
\n \n
\n \n ),\n }}\n />\n
\n
\n \n \n {filterdata\n .map((row) => {\n return (\n \n {row.Name} {row.version}\n {/* {}\n {} */}\n {row.UploadedDateFormat}\n {
{isAdminPrivileges && }
}
\n
\n );\n })}\n
\n
\n
\n \n \n {isClinicalCode && (t(\"Manager.Upload\") + \" \" + t(\"Manager_Common.SKS_Data\") + \" \" + t(\"Global.File\"))}\n {isCasemixFile && (t(\"Manager.Upload\") + \" \" + selectedGrpCodeVal + \" \" + t(\"Global.File\"))}\n {isSupportFile && (t(\"Manager.Upload\") + \" \" + selectedSupportVal + \" \" + t(\"Global.File\"))}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
\n \n
\n \n {({ getRootProps, getInputProps }) => (\n
\n
\n \n {selectedFiles && selectedFiles[0].name ? (\n
\n {selectedFiles && selectedFiles[0].name}\n
\n ) : (\n
\n \n
\n {t(\"Manager_Common.Drag\")}\n
\n
\n )}\n
\n
\n )}\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n
\n \n \n \n {t(\"Manager_Remove.Dialog_msg\")} {fileName}\n \n \n \n \n \n \n
\n \n
\n )\n}\n\n","import React, { useState, useEffect } from 'react'\nimport \"./Manager.css\";\nimport { useTranslation } from \"react-i18next\";\nimport SharedComponent from \"./SharedComponent\";\nimport { useForm } from \"react-hook-form\";\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport TextField from '@mui/material/TextField';\nimport Divider from \"@mui/material/Divider\";\nimport Button from '@mui/material/Button';\nimport MenuItem from '@mui/material/MenuItem';\nimport Link from '@mui/material/Link';\nimport Checkbox from '@mui/material/Checkbox';\nimport SearchIcon from '@mui/icons-material/Search';\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Tooltip from '@mui/material/Tooltip';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableRow from '@mui/material/TableRow';\nimport TableCell from '@mui/material/TableCell';\nimport TreeView from '@mui/lab/TreeView';\nimport TreeItem, { treeItemClasses } from '@mui/lab/TreeItem';\nimport Typography from '@mui/material/Typography';\nimport MailIcon from '@mui/icons-material/Mail';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport Label from '@mui/icons-material/Label';\nimport SupervisorAccountIcon from '@mui/icons-material/SupervisorAccount';\nimport InfoIcon from '@mui/icons-material/Info';\nimport ForumIcon from '@mui/icons-material/Forum';\nimport LocalOfferIcon from '@mui/icons-material/LocalOffer';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport ArrowRightIcon from '@mui/icons-material/ArrowRight';\nimport FolderIcon from '@mui/icons-material/Folder';\nimport Paper from '@mui/material/Paper';\nimport UploadFileIcon from '@mui/icons-material/UploadFile';\nimport Dropzone from \"react-dropzone\";\nimport { FileNames, FileNamesUpload } from \"./AdminFiles\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport {\n setFilterData,\n loadlogic,\n loadUsers,\n getRoles,\n saveUsers,\n saveLogic,\n exportLogic,\n GetAllDRGLogics,\n loadtill,\n loaddg1,\n loaddrglogik,\n loaddrgtpt,\n loadCountingCode,\n loadegenskaber,\n loadsks,\n setIsTill,\n setIsDg1,\n setIsDrglogik,\n setIsDrgtpt,\n setIsCountingCode,\n setIsEgenskaber,\n setIsSks,\n setSelFileType,\n setSelFileDetails,\n SaveSubList,\n DeleteDRGSubList,\n setIsDRGLogic,\n setIsDrgRender,\n loadFiles,\n upload,\n clearStatus,\n setSelectedYear,\n setSelectedUploadYear,\n setMasterFilterData,\n setIsDRGLogicUsers,\n setDrgUsers,\n setIsGetAllDRGLogicsLoaded,\n remove,\n download,\n DeleteMDCSpecs,\n setEditLogicInfo,\n setExpanded,\n setIsDisabled,\n setIsDrgDataUpdated,\n setIsDrgDataRemoved,\n setDefaultIsDrgLogic,\n GetUpdatedDRGLogic,\n setIsMDCSpecification\n} from \"./managerSlice\";\nimport {\n setEditorDetails,\n} from \"../editor/editorSlice\";\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n // borderTopRightRadius: theme.spacing(2),\n // borderBottomRightRadius: theme.spacing(2),\n // paddingRight: theme.spacing(1),\n padding: \"0px\",\n fontWeight: theme.typography.fontWeightMedium,\n '&.Mui-expanded': {\n fontWeight: theme.typography.fontWeightRegular,\n },\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n '&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused': {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: 'var(--tree-view-color)',\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: 'inherit',\n color: 'inherit',\n padding: '0px',\n },\n [`& .${treeItemClasses.iconContainer}`]: {\n margin: \"0px\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n //paddingLeft: theme.spacing(2),\n padding: \"0px\",\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n \n {labelInfo}\n \n \n }\n style={{\n '--tree-view-color': color,\n '--tree-view-bg-color': bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function DRG() {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const { register, handleSubmit, formState: { errors }, reset } = useForm();\n const { user, isAdminPrivileges } = useSelector((state) => state.authentication);\n const manager = useSelector((state) => state.manager);\n const history = useHistory();\n const {\n isInitialLoadAPI,\n data,\n distinctUploadYear,\n isRender,\n selectedYear,\n isDRG,\n isDRGLogic,\n isDrgRender,\n isGetAllDRGLogicsLoaded,\n DrgUsers,\n DrgUsersMaster,\n isdrgLogicUsers,\n isTillMaster,\n isTill,\n isDg1Master,\n isDg1,\n isDrglogikMaster,\n isDrglogik,\n isDrgtptMaster,\n isDrgtpt,\n isCountingCodeMaster,\n isCountingCode,\n isEgenskaberMaster,\n isEgenskaber,\n isSksMaster,\n isSks,\n selFileType,\n selFileDetails,\n allDrgLogicList,\n selDrgLogicList,\n isGetAllDRGLogicsRender,\n isExpanded,\n isDisabled,\n isDrgDataAdded,\n isDrgDataRemoved,\n isSaveUsersSuccess,\n isSaveSubListSuccess,\n isRemoveSubListSuccess,\n isDrgUsersUpdated,\n isDrgLogicRender,\n isMDCSpecification,\n isMDCSpecificationMaster\n } = manager;\n const [addLogic, setAddLogic] = useState(false);\n const [removeLogic, setRemoveLogic] = useState(false);\n const [addUser, setAddUser] = useState(false);\n const [selected, setSelected] = useState([]);\n const [addSubset, setAddSubset] = useState(false);\n const [accessUsers, setAccessUsers] = useState([]);\n const [check, setCheck] = useState(false);\n const [selectedFiles, setSelectedFiles] = useState(undefined);\n const [currentFile, setCurrentFile] = useState(undefined);\n const [adminFileNamesDRG, setAdminFileNamesDRG] = useState(FileNames.filter((x) => x != \"casemixDRG.csv\" && x != \"interne koder.yaml\"));\n const files = [\"till.csv\", \"dg1.csv\", \"drglogik.csv\", \"drgtpt.csv\", \"CountingCode.yaml\", \"egenskaber.csv\", \"sks.csv\"];\n const [ropen, setRopen] = useState(false);\n const [deleteItem, setDeleteItem] = useState({});\n\n\n useEffect(() => {\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\";\n dispatch(setIsDRGLogic(0));\n dispatch(loadtill({ method: \"GET\", url: url + \"till.csv\" }));\n }, []);\n\n useEffect(() => {\n if (isInitialLoadAPI || isGetAllDRGLogicsRender) {\n let url = \"api/GetAllDRGList?userId=\" + user[0]['email'] + \"&isAdmin= true\";\n dispatch(GetAllDRGLogics({ method: \"GET\", url: url }))\n }\n }, [isInitialLoadAPI, isGetAllDRGLogicsRender]);\n\n useEffect(() => {\n if (isDRGLogic ?.length > 0) {\n\n let url = \"api/GetDRGLogicById?drgLogicId=\" + isDRGLogic[0] ?._id;\n dispatch(GetUpdatedDRGLogic({ method: \"GET\", url: url }))\n }\n\n }, [isDrgLogicRender]);\n\n useEffect(() => {\n if (isRender && isGetAllDRGLogicsLoaded) {\n let selectedGrpCodeValue = \"DrgUserMap.csv\";\n let url = \"api/getLogicNameAndVersion?&selectedGrpCodeVal=\" + selectedGrpCodeValue;\n dispatch(loadlogic({ method: \"GET\", url: url }));\n }\n }, [isRender, isDRG, isGetAllDRGLogicsLoaded]);\n\n useEffect(() => {\n if (isDrgRender) {\n\n if (isDRGLogic != null && isDRGLogic.length > 0) {\n dispatch(setIsDRGLogic(isDRGLogic[0] ?._id));\n //dispatch(setIsDrgDataUpdated(false)); \n }\n\n }\n }, [isDrgRender]);\n\n useEffect(() => {\n if (isdrgLogicUsers != null && isdrgLogicUsers.length > 0) {\n if (DrgUsers != null && DrgUsers.length > 0) {\n const result = DrgUsers.filter(({ email }) => isdrgLogicUsers.includes(email));\n setAccessUsers(result);\n }\n }\n }, [isDRGLogic, isDrgUsersUpdated]);\n\n useEffect(() => {\n if (isDrgDataAdded) {\n\n dispatch(setDefaultIsDrgLogic());\n dispatch(setIsDrgDataUpdated(false));\n }\n }, [isDrgDataAdded]);\n\n useEffect(() => {\n if (isDrgDataRemoved) {\n\n dispatch(setIsDRGLogic(0));\n dispatch(setIsDrgDataRemoved(false));\n\n }\n }, [isDrgDataRemoved]);\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedYear(value));\n if (value) {\n const result = data.filter((item) => {\n return item.Year == value;\n });\n dispatch(setMasterFilterData(result));\n dispatch(setFilterData(result));\n dispatch(setIsDRGLogic(0));\n }\n if (value) {\n const result = isTillMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsTill(result));\n }\n if (value) {\n const result = isDg1Master.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsDg1(result));\n }\n if (value) {\n const result = isDrglogikMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsDrglogik(result));\n }\n if (value) {\n const result = isDrgtptMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsDrgtpt(result));\n }\n if (value) {\n const result = isCountingCodeMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsCountingCode(result));\n }\n if (value) {\n const result = isEgenskaberMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsEgenskaber(result));\n }\n if (value) {\n const result = isSksMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsSks(result));\n }\n if (value) {\n const result = isMDCSpecificationMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsMDCSpecification(result));\n }\n }\n\n const handleClose = () => {\n setAddLogic(false);\n setRemoveLogic(false);\n setAddUser(false);\n setAddSubset(false);\n dispatch(setDrgUsers(DrgUsersMaster));\n dispatch(setExpanded([]));\n dispatch(setIsDisabled(true));\n setRopen(false);\n }\n\n const handleEditLogic = () => {\n const selDrgLogic = allDrgLogicList.filter(\n (x) => x.id == isDRGLogic[0] ?._id\n )[0];\n if (\n selDrgLogic.dG1Master != null &&\n selDrgLogic.drglogikMaster != null &&\n selDrgLogic.drgtptMaster != null &&\n selDrgLogic.tillMaster != null &&\n selDrgLogic.countingcodeMaster != null\n ) {\n dispatch(\n setEditorDetails({\n id: selDrgLogic.id,\n name: selDrgLogic.drgLogicName,\n year: selDrgLogic.year,\n version: selDrgLogic.drgLogicVersion,\n })\n );\n history.push(\"/editor\");\n }\n else {\n dispatch(setEditLogicInfo());\n }\n }\n\n const onSubmit = (values) => {\n if (values.name !== null && values.name !== '' && values.name !== undefined) {\n addDrgLogic(values);\n // reset();\n setAddLogic(false);\n }\n }\n\n async function addDrgLogic(values) {\n let logicName = values.name;\n let logicVersion = values.version;\n let logicYear = values.year;\n dispatch(setSelectedUploadYear(logicYear));\n var metaData = {\n Name: logicName,\n version: logicVersion,\n year: logicYear,\n Editor_name: user[0]['email'],\n };\n var data = {\n pdata: null,\n drgLogicName: logicName + \"$\" + logicVersion + \"$\" + logicYear,\n drgMetaData: metaData,\n drgLogicLog: null,\n };\n let url = \"api/SaveNewLogic\";\n dispatch(saveLogic({ method: \"POST\", url: url, body: data }));\n dispatch(setIsGetAllDRGLogicsLoaded());\n }\n\n const onOk = (id) => (e) => {\n setRemoveLogic(false);\n removeSelectedLogic(id);\n // setRemoveFile(true);\n }\n\n async function removeSelectedLogic(id) {\n let selectedID = id;\n let selectedGrpCodeValue = \"\";\n if (isDRG) {\n selectedGrpCodeValue = \"DrgUserMap.csv\";\n }\n let url = \"api/removeLogicNameAndVersion?&selectedGrpCodeVal=\" + selectedGrpCodeValue +\n \"&logicNameAndVersion=\" + selectedID;\n dispatch(remove({ method: \"GET\", url: url }));\n }\n\n const exportSelectedLogic = (id) => (e) => {\n let selectedID = id;\n let url = \"api/ExportLogic?&drgLogicID=\" + selectedID;\n dispatch(exportLogic({ method: \"GET\", url: url }));\n }\n\n const isChecked = (email) => {\n if (isDRGLogic != null && isDRGLogic.length > 0) {\n if (isdrgLogicUsers != null && isdrgLogicUsers.length > 0) {\n let isChecked = isdrgLogicUsers.findIndex(\n (item) => item == email\n );\n if (isChecked >= 0) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n return false;\n }\n\n const handleIsChecked = (email) => (e) => {\n let checkedValue = e.target.checked;\n let userIndex = isdrgLogicUsers.findIndex((item) => item == email);\n const result = [...isdrgLogicUsers];\n if (checkedValue == true && userIndex < 0) {\n result.push(email);\n dispatch(setIsDRGLogicUsers(result));\n } else {\n result.splice(userIndex, 1);\n dispatch(setIsDRGLogicUsers(result));\n }\n }\n\n const handleSelectAll = (e) => {\n let checkedValue = e.target.checked;\n setCheck(checkedValue);\n const result = [...isdrgLogicUsers];\n if (checkedValue == true) {\n const filteredResult = DrgUsers.filter(({ email }) => !isdrgLogicUsers.includes(email));\n filteredResult.map((user) => result.push(user.email));\n dispatch(setIsDRGLogicUsers(result));\n } else {\n dispatch(setIsDRGLogicUsers([]));\n }\n }\n\n const requestSearch = (event) => {\n const result = DrgUsersMaster.filter((user) => {\n return (\n user.firstName\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase()) ||\n user.lastName ?.toLowerCase().includes(event.target.value ?.toLowerCase())\n);\n });\n dispatch(setDrgUsers(result));\n };\n\n const onAddAccess = (id) => (e) => {\n let selectedID = id;\n let selectedGrpCodeValue = \"\";\n if (isDRG) {\n selectedGrpCodeValue = \"DrgUserMap.csv\";\n }\n let url = \"api/addUserRights?logicNameAndVersion=\" + selectedID +\n \"&selectedGrpCodeVal=\" + selectedGrpCodeValue + \"&users=\" + isdrgLogicUsers;\n dispatch(saveUsers({ method: \"POST\", url: url }));\n setAddUser(false);\n }\n\n const onDelete = (values) => (e) => {\n e.preventDefault();\n setDeleteItem(values);\n setRopen(true);\n }\n\n const onDeleteOk = (values) => (e) => {\n setRopen(false);\n let url = \"api/DeleteDRGSubList?drglogicid=\" + isDRGLogic[0] ?._id + \"&name=\" + values.type;\n dispatch(DeleteDRGSubList({ method: \"POST\", url: url }));\n dispatch(setIsGetAllDRGLogicsLoaded());\n }\n\n const onDrop = (files) => {\n if (files.length > 0) {\n setSelectedFiles(files);\n dispatch(setIsDisabled(false));\n }\n };\n\n const onSelect = (nodeID, fileType) => () => {\n dispatch(setIsDisabled(true));\n setSelectedFiles(\"\");\n if (isExpanded[0] == nodeID) {\n dispatch(setExpanded([]));\n } else {\n dispatch(setExpanded([nodeID]));\n if (fileType == \"\") {\n dispatch(setSelFileType(fileType));\n }\n }\n };\n\n const onSubsetSelect = (details, fileType) => () => {\n dispatch(setSelFileDetails(details));\n dispatch(setSelFileType(fileType));\n dispatch(setIsDisabled(false));\n }\n\n const onAddSubset = () => {\n if (selFileType !== null && selFileType !== '' && selFileType !== undefined) {\n const mdata = {\n _id: selFileDetails._id,\n Name: selFileDetails.Name,\n version: selFileDetails.version,\n Year: selFileDetails.Year,\n editor_name: selFileDetails.editor_name,\n users: JSON.stringify(selFileDetails.users),\n isPublished: selFileDetails.isPublished,\n isPreProd: selFileDetails.isPreProd,\n UploadedDate: selFileDetails.UploadedDate,\n UploadedDateFormat: selFileDetails.UploadedDateFormat,\n }\n const data = {\n drgLogicID: isDRGLogic[0]._id,\n DRGLogic: selFileDetails.Name + \" \" + selFileDetails.version,\n MasterName: selFileType,\n MasterMetaData: mdata\n };\n let url = \"api/SaveDRGSubList\";\n dispatch(SaveSubList({ method: \"POST\", url: url, body: data }));\n setAddSubset(false);\n dispatch(setIsDisabled(true));\n dispatch(setExpanded([]));\n dispatch(setSelFileDetails([]));\n dispatch(setIsGetAllDRGLogicsLoaded());\n }\n else {\n let currentFile = selectedFiles[0];\n setCurrentFile(currentFile);\n setSelectedFiles(\"\");\n let drgLogicID = isDRGLogic[0]._id;\n let url = \"api/UploadMDCSpecs?drgLogicID=\" + drgLogicID;\n let formData = new FormData();\n formData.append('file', currentFile, currentFile.name);\n dispatch(upload({ method: \"POST\", url: url, body: formData }));\n setAddSubset(false);\n dispatch(setIsDisabled(true));\n dispatch(setExpanded([]));\n dispatch(setIsGetAllDRGLogicsLoaded());\n }\n }\n return (\n
\n \n
\n
\n \n {t(\"Manager.Diagnose_Related_Logics\")}\n \n
\n
\n
\n \n {distinctUploadYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n { setAddLogic(true), reset({ year: selectedYear }) }}\n >\n {t(\"Manager_Common.add_logic\")}\n \n
\n
\n
\n \n\n {isDRGLogic.length > 0 && (\n
\n
\n
\n \n {isDRGLogic[0] ?.Name}-{isDRGLogic[0] ?.version}\n \n
\n
\n
\n\n {isAdminPrivileges && (isDRGLogic[0] ?.isPublished == false && isDRGLogic[0] ?.isPreProd == false && isDRGLogic[0] ?.isTest == false) && (\n setRemoveLogic(true)}\n >\n {t(\"Manager.Remove\")}\n \n )}\n \n {t(\"Manager.Export\")}\n \n {(isAdminPrivileges || isDRGLogic[0] ?.users ?.includes(user[0] ?.email)) && (\n \n {t(\"Manager_Common.show_in_editor\")}\n \n )}\n
\n
\n
\n {/* */}\n
\n \n {t(\"Manager.publisher_status\")}:\n \n\n {isDRGLogic[0] ?.isPublished == true && t(\"Global.production\")}\n {isDRGLogic[0] ?.isPreProd == true && t(\"Global.hearing\")}\n {isDRGLogic[0] ?.isTest == true && t(\"Global.test\")} \n {isDRGLogic[0] ?.isPublished == false && isDRGLogic[0] ?.isPreProd == false && isDRGLogic[0] ?.isTest==false && t(\"Global.notpublished\")} \n\n \n \n \n {t(\"Manager.Owner\")}:\n \n {isDRGLogic[0] ?.editor_name}\n \n \n {(isDRGLogic[0] ?.UsedGrouper.length > 0 || isDRGLogic[0] ?.UsedInteractive.length > 0 || isDRGLogic[0] ?.UsedViwer.length > 0) && (\n \n {t(\"Manager_Common.used_in\")}:\n {isDRGLogic[0] ?.UsedGrouper.length > 0 && (\n \n {isDRGLogic[0] ?.UsedGrouper.map((row) => {\n return (\n {row.grouperName}{\" \"}{row.grouperVersion}{\" \"}{row.year}\n );\n })}\n
\n } >\n \n {isDRGLogic[0] ?.UsedGrouper.length} {t(\"Manager_Common.Groupers\")}\n \n \n )}\n {isDRGLogic[0] ?.UsedInteractive.length > 0 && (\n \n {isDRGLogic[0] ?.UsedInteractive.map((row) => {\n return (\n {row.interactiveName}{\" \"}{row.interactiveVersion}{\" \"}{row.year}\n );\n })}\n
\n } >\n \n {isDRGLogic[0] ?.UsedInteractive.length} {t(\"Manager_Common.Interactives\")}\n \n \n )}\n {isDRGLogic[0] ?.UsedViwer.length > 0 && (\n \n {isDRGLogic[0] ?.UsedViwer.map((row) => {\n return (\n {row.visualName}{\" \"}{row.visualVersion}{\" \"}{row.year}\n );\n })}\n
\n } >\n \n {isDRGLogic[0] ?.UsedViwer.length} Viewer\n\n \n )}\n \n )}\n
\n \n
\n
\n \n {t(\"Manager.Subset\")}: {t(\"Global.Total\")} {selDrgLogicList.length}\n \n {isDRGLogic[0] ?.isPublished == false && isDRGLogic[0] ?.isPreProd == false && isDRGLogic[0] ?.isTest == false && (\n setAddSubset(true)}\n >\n {t(\"Manager.Add_Subset\")}\n \n )}\n
\n \n \n {selDrgLogicList\n .map((row, index) => {\n return (\n \n {row.name}{row ?.version ? \"-\" + row.version : \" \" }\n {isAdminPrivileges && (isDRGLogic[0] ?.isPublished == false && isDRGLogic[0] ?.isPreProd == false && isDRGLogic[0] ?.isTest == false) && (\n {
}
\n )}\n
\n );\n })}\n
\n
\n
\n \n
\n
\n \n {t(\"Manager.User_rights\")}\n \n {(isAdminPrivileges || isDRGLogic[0] ?.editor_name == user[0] ?.email) && isDRGLogic[0] ?.isPublished == false && isDRGLogic[0] ?.isPreProd == false && isDRGLogic[0] ?.isTest == false &&\n setAddUser(true)}\n >\n {t(\"Manager.AddRemoveAccess\")}\n \n }\n
\n {accessUsers.length} {t(\"Manager_Common.access_logic\")} \n \n \n {accessUsers\n .map((row) => {\n return (\n \n {row.firstName} {row.lastName}\n {/* {
}
*/}\n
\n );\n })}\n
\n
\n
\n \n )}\n\n\n \n {t(\"Manager_Common.add_logic\")}\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n
\n
\n\n \n {t(\"Manager_Common.remove_logic\")}\n \n {t(\"Manager_Common.remove_validation\")}\n {t(\"Manager_Common.Logic_Name\")}: {isDRGLogic[0] ?.Name}\n {t(\"Manager_Common.Uploaded_By\")}: {isDRGLogic[0] ?.editor_name}\n \n \n \n \n \n \n\n \n {t(\"Manager_Common.Add_User_Access\")}\n \n \n \n ),\n }}\n />\n \n \n \n {t(\"Manager_Common.select_all\")}\n {DrgUsers.map((user) => (\n \n \n {user.firstName} {user.lastName}{user.RoleName}\n \n ))}\n \n \n \n \n \n \n\n \n {t(\"Manager.Add_Subset\")}\n \n }\n defaultExpandIcon={}\n sx={{ minWidth: 300 }}\n expanded={isExpanded}\n >\n \n {isTill\n .map((item) => {\n return (\n \n );\n })}\n \n \n {isDg1\n .map((item) => {\n return (\n \n );\n })}\n \n \n {isDrglogik\n .map((item) => {\n return (\n \n );\n })}\n \n \n {isDrgtpt\n .map((item) => {\n return (\n \n );\n })}\n \n \n {isCountingCode\n .map((item) => {\n return (\n \n );\n })}\n \n \n {isEgenskaber\n .map((item) => {\n return (\n \n );\n })}\n \n \n {isMDCSpecification\n .map((item) => {\n return (\n \n );\n })}\n \n \n {isSks\n .map((item) => {\n return (\n \n );\n })}\n \n \n \n \n \n \n \n \n \n \n {t(\"Manager_Common.deleteItem\")}\n \n \n \n \n \n \n \n\n\n {isDRGLogic.length == 0 && (
\n \n {t(\"Manager.No_Logic_Selected\")}\n \n
)}\n \n \n )\n}\n\n\n","import React, { useState, useEffect } from \"react\";\nimport \"./Manager.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport SharedComponent from \"./SharedComponent\";\nimport { useForm } from \"react-hook-form\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport TextField from \"@mui/material/TextField\";\nimport Divider from \"@mui/material/Divider\";\nimport Button from \"@mui/material/Button\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport FolderIcon from \"@mui/icons-material/Folder\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport Link from \"@mui/material/Link\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport {\n setMasterFilterData,\n setFilterData,\n setSelectedYear,\n GetAllGrouperDetails,\n setSelectedUploadYear,\n saveLogic,\n setIsGGrouperLogic,\n remove,\n setIsGGrouperCheck,\n GGrouper,\n setIsCasemixDRG,\n setSelFileType,\n setSelFileDetails,\n UpdateGrouper,\n DeleteGrouperSublist,\n setIsGGrouperRender,\n setIsDrg,\n loadDrg,\n loadcasemixDRG,\n setIsGGrouperLogicTariff,\n setExpanded,\n setIsDisabled,\n setDefaultIsGrouperLogic,\n setIsGGrouperDataUpdated,\n setIsGGrouperDataRemoved,\n GetUpdatedGrouper,\n setGGrouperTariffFlag,\n} from \"./managerSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n padding: \"0px\",\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n padding: \"0px\",\n },\n [`& .${treeItemClasses.iconContainer}`]: {\n margin: \"0px\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n padding: \"0px\",\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function GenerateGrouper() {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const {\n register,\n handleSubmit,\n formState: { errors },\n reset,\n } = useForm();\n const { user, isAdminPrivileges } = useSelector(\n (state) => state.authentication\n );\n const manager = useSelector((state) => state.manager);\n const {\n isInitialLoadAPI,\n data,\n isNoData,\n distinctUploadYear,\n isRender,\n isGGrouperRender,\n selectedYear,\n isGGrouperLogic,\n isDrgMaster,\n isDrg,\n isCasemixDRGMaster,\n isCasemixDRG,\n selFileType,\n selFileDetails,\n isExpanded,\n isDisabled,\n isGGrouperDataAdded,\n isGGrouperDataRemoved,\n isGrouperLogicRender,\n grouperTariffFlag,\n } = manager;\n const [addLogic, setAddLogic] = useState(false);\n const [removeLogic, setRemoveLogic] = useState(false);\n const [addSubset, setAddSubset] = useState(false);\n const [ropen, setRopen] = useState(false);\n const [deleteItem, setDeleteItem] = useState();\n\n useEffect(() => {\n let url =\n \"api/GetDRGLogicList?userId=\" +\n user[0][\"email\"] +\n \"&isAdmin=\" +\n user[0].isAdmin;\n dispatch(loadDrg({ method: \"GET\", url: url }));\n }, []);\n\n useEffect(() => {\n if (isInitialLoadAPI && isRender) {\n let url = \"api/GetGrouperUsedDetails\";\n dispatch(GetAllGrouperDetails({ method: \"GET\", url: url }));\n } else if (isGGrouperRender) {\n dispatch(setIsGGrouperLogic(isGGrouperLogic[0]?.id));\n }\n }, [isInitialLoadAPI, isRender, isGGrouperRender]);\n\n useEffect(() => {\n if (isGGrouperLogic?.length > 0) {\n let url =\n \"api/GetGrouperUsedDetailsById?grouperId=\" + isGGrouperLogic[0]?.id;\n dispatch(GetUpdatedGrouper({ method: \"GET\", url: url }));\n }\n }, [isGrouperLogicRender]);\n\n useEffect(() => {\n if (isGGrouperDataAdded) {\n dispatch(setDefaultIsGrouperLogic());\n dispatch(setIsGGrouperDataUpdated(false));\n }\n }, [isGGrouperDataAdded]);\n\n useEffect(() => {\n if (isGGrouperDataRemoved) {\n dispatch(setIsGrouperLogic(0));\n dispatch(setIsGGrouperDataRemoved(false));\n }\n }, [isGGrouperDataRemoved]);\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedYear(value));\n if (value) {\n const result = data.filter((item) => {\n return item.year == value;\n });\n dispatch(setMasterFilterData(result));\n dispatch(setFilterData(result));\n dispatch(setIsGGrouperLogic(0));\n }\n if (value) {\n const result = isDrgMaster.filter((item) => {\n return item.year == value;\n });\n dispatch(setIsDrg(result));\n }\n if (value) {\n const result = isCasemixDRGMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsCasemixDRG(result));\n }\n };\n\n const handleClose = () => {\n // reset();\n setAddLogic(false);\n setRemoveLogic(false);\n setAddSubset(false);\n dispatch(setExpanded([]));\n dispatch(setIsDisabled(true));\n setRopen(false);\n };\n\n const onSubmit = (values) => {\n if (\n values.name !== null &&\n values.name !== \"\" &&\n values.name !== undefined\n ) {\n addGGrouperLogic(values);\n // reset();\n setAddLogic(false);\n }\n };\n\n async function addGGrouperLogic(values) {\n let logicName = values.name;\n let logicVersion = values.version;\n let logicYear = values.year;\n dispatch(setSelectedUploadYear(logicYear));\n let url =\n \"api/AddGrouper?grouperName=\" +\n logicName +\n \"&grouperVersion=\" +\n logicVersion +\n \"&Year=\" +\n logicYear;\n dispatch(saveLogic({ method: \"POST\", url: url, body: null }));\n dispatch(setIsGGrouperRender());\n }\n\n const onOk = (values) => (e) => {\n setRemoveLogic(false);\n removeSelectedLogic(values);\n };\n\n async function removeSelectedLogic(values) {\n let logicName = values.grouperName;\n let logicVersion = values.grouperVersion;\n let logicYear = values.year;\n let url =\n \"api/DeleteGrouper?grouperName=\" +\n logicName +\n \"&grouperVersion=\" +\n logicVersion +\n \"&grouperYear=\" +\n logicYear;\n dispatch(remove({ method: \"POST\", url: url, body: null }));\n }\n\n const GenerateGrouper = () => {\n if (\n isGGrouperLogic[0]?.drgLogicName == null ||\n isGGrouperLogic[0]?.drgLogicName == \"\" ||\n isGGrouperLogic[0]?.drgLogicVersion == null ||\n isGGrouperLogic[0]?.drgLogicVersion == \"\"\n ) {\n dispatch(setIsGGrouperCheck());\n } else {\n let url = \"api/GetGrouper?id=\" + isGGrouperLogic[0]?.id;\n dispatch(GGrouper({ method: \"GET\", url: url }));\n dispatch(setIsGGrouperRender());\n }\n };\n\n const handleTariff = (attribute) => (e) => {\n let checkedValue = e.target.checked;\n let result = isGGrouperLogic.map((row) => {\n return { ...row, [attribute]: checkedValue };\n });\n dispatch(setIsGGrouperLogicTariff(result));\n };\n\n const onSelect = (nodeID) => () => {\n dispatch(setIsDisabled(true));\n if (isExpanded[0] == nodeID) {\n dispatch(setExpanded([]));\n } else {\n dispatch(setExpanded([nodeID]));\n }\n };\n\n const onSubsetSelect = (details, fileType) => () => {\n dispatch(setSelFileDetails(details));\n dispatch(setSelFileType(fileType));\n dispatch(setIsDisabled(false));\n };\n\n const onAddSubset = () => {\n let grplogicName = \"\";\n let grplogicVersion = \"\";\n let grplogicYear = \"\";\n let grplogicId = \"\";\n let grpPriceName = \"\";\n let grpPriceVersion = \"\";\n let grpTariff = isGGrouperLogic[0]?.showTariff;\n\n if (selFileType == \"DRGLogic\") {\n grplogicName = selFileDetails.name;\n grplogicVersion = selFileDetails.version;\n grplogicYear = selFileDetails.year;\n grplogicId = selFileDetails.id;\n } else if (selFileType == \"DRGPrice\") {\n grpPriceName = selFileDetails.Name;\n grpPriceVersion = selFileDetails.version;\n }\n\n if (\n grplogicName == undefined ||\n grplogicVersion == undefined ||\n grplogicName == \"\" ||\n grplogicVersion == \"\"\n ) {\n grplogicName = isGGrouperLogic[0]?.drgLogicName;\n grplogicVersion = isGGrouperLogic[0]?.drgLogicVersion;\n grplogicYear = isGGrouperLogic[0]?.drgLogicYear;\n grplogicId = isGGrouperLogic[0]?.drgLogicId;\n }\n if (\n grpPriceName == undefined ||\n grpPriceVersion == undefined ||\n grpPriceName == \"\" ||\n grpPriceVersion == \"\"\n ) {\n grpPriceName = isGGrouperLogic[0]?.drgPriceName;\n grpPriceVersion = isGGrouperLogic[0]?.drgPriceVersion;\n }\n dispatch(setGGrouperTariffFlag());\n let url =\n \"api/UpdateGrouper?grouperName=\" +\n isGGrouperLogic[0]?.grouperName +\n \"&grouperVersion=\" +\n isGGrouperLogic[0]?.grouperVersion +\n \"&logicName=\" +\n grplogicName +\n \"&logicVersion=\" +\n grplogicVersion +\n \"&logicYear=\" +\n grplogicYear +\n \"&logicId=\" +\n grplogicId +\n \"&priceName=\" +\n grpPriceName +\n \"&priceVersion=\" +\n grpPriceVersion +\n \"&showTariff=\" +\n grpTariff +\n \"&Type=\" +\n undefined +\n \"&Year=\" +\n isGGrouperLogic[0]?.year +\n \"&grouperId=\" +\n isGGrouperLogic[0]?.id;\n dispatch(UpdateGrouper({ method: \"POST\", url: url, body: null }));\n setAddSubset(false);\n dispatch(setIsDisabled(true));\n dispatch(setExpanded([]));\n dispatch(setSelFileDetails([]));\n };\n\n const onDelete = (values) => (e) => {\n e.preventDefault();\n setDeleteItem(values);\n setRopen(true);\n };\n\n const onDeleteOk = (value) => (e) => {\n setRopen(false);\n let url =\n \"api/DeleteGrouperSublist?grouperName=\" +\n isGGrouperLogic[0]?.grouperName +\n \"&grouperVersion=\" +\n isGGrouperLogic[0]?.grouperVersion +\n \"&year=\" +\n isGGrouperLogic[0]?.year +\n \"&selectedType=\" +\n value;\n dispatch(DeleteGrouperSublist({ method: \"POST\", url: url }));\n };\n if (grouperTariffFlag) {\n onAddSubset();\n }\n return (\n
\n {isNoData == true && (\n \n
\n
\n \n {t(\"Manager.Generate_Grouper\")}\n \n
\n
\n
\n setAddLogic(true)}\n >\n {t(\"GGrouper.add_grouper\")}\n \n
\n
\n
\n \n
\n
\n \n {t(\"GGrouper.GGrouper_Validation\")}\n \n
\n
\n
\n )}\n\n \n
\n
\n \n {t(\"Manager.Generate_Grouper\")}\n \n
\n
\n
\n \n {distinctUploadYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n {\n setAddLogic(true), reset({ year: selectedYear });\n }}\n >\n {t(\"GGrouper.add_grouper\")}\n \n
\n
\n
\n \n {isGGrouperLogic.length > 0 && (\n
\n
\n \n {isGGrouperLogic[0]?.grouperName}-\n {isGGrouperLogic[0]?.grouperVersion}\n \n
\n
\n
\n {isAdminPrivileges && isGGrouperLogic[0]?.status == 0 && (\n setRemoveLogic(true)}\n >\n {t(\"Manager.Remove\")}\n \n )}\n \n {t(\"Manager.Generate_Grouper\")}\n \n
\n
\n
\n )}\n {isGGrouperLogic.length > 0 && (\n
\n
\n \n {t(\"Manager.publisher_status\")}:\n \n {isGGrouperLogic[0]?.status == 1 && t(\"Global.production\")}\n {isGGrouperLogic[0]?.status == 2 && t(\"Global.hearing\")}\n {isGGrouperLogic[0]?.status == 3 && t(\"Global.test\")}\n {isGGrouperLogic[0]?.status == 0 && t(\"Global.notpublished\")}\n \n \n \n Status:\n \n {isGGrouperLogic[0]?.isGenerated == true\n ? t(\"Manager_Common.generated\")\n : t(\"Manager_Common.not_generated\")}\n \n \n \n {t(\"Manager.show_Tarrifs\")}\n \n \n {(isGGrouperLogic[0]?.usedInteractive.length > 0 ||\n isGGrouperLogic[0]?.usedViwer.length > 0) && (\n \n {t(\"Manager_Common.used_in\")}:\n {isGGrouperLogic[0]?.usedInteractive.length > 0 && (\n \n {isGGrouperLogic[0]?.usedInteractive.map((row) => {\n return (\n \n {row.interactiveName} {row.interactiveVersion}{\" \"}\n {row.year}\n \n );\n })}\n
\n }\n >\n \n {isGGrouperLogic[0]?.usedInteractive.length}{\" \"}\n {t(\"Manager_Common.Interactives\")}\n \n \n )}\n {isGGrouperLogic[0]?.usedViwer.length > 0 && (\n \n {isGGrouperLogic[0]?.usedViwer.map((row) => {\n return (\n \n {row.visualName} {row.visualVersion} {row.year}\n \n );\n })}\n
\n }\n >\n \n {isGGrouperLogic[0]?.usedViwer.length} Viewer\n \n \n )}\n \n )}\n
\n \n
\n
\n {t(\"Manager.Subset\")}\n {isGGrouperLogic[0]?.status == 0 && (\n setAddSubset(true)}\n >\n {t(\"Manager.Add_Subset\")}\n \n )}\n
\n {isGGrouperLogic[0]?.drgLogicName != null &&\n isGGrouperLogic[0]?.drgLogicName != \"\" && (\n
\n \n {t(\"Manager_Common.drg_logic_file\")}:\n \n {\" \"}\n {isGGrouperLogic[0]?.drgLogicName}{\" \"}\n {isGGrouperLogic[0]?.drgLogicVersion}{\" \"}\n {isGGrouperLogic[0]?.drgLogicYear}\n \n \n {isAdminPrivileges && isGGrouperLogic[0]?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n {isGGrouperLogic[0]?.drgPriceName != null &&\n isGGrouperLogic[0]?.drgPriceName != \"\" && (\n
\n \n {t(\"Manager_Common.casemix_drg_file\")}:\n \n {\" \"}\n {isGGrouperLogic[0]?.drgPriceName}{\" \"}\n {isGGrouperLogic[0]?.drgPriceVersion}\n \n \n {isAdminPrivileges && isGGrouperLogic[0]?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n
\n \n )}\n \n\n \n {t(\"GGrouper.add_grouper\")}\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n\n \n {t(\"GGrouper.remove_grouper\")}\n \n \n {t(\"GGrouper.remove_validation\")}\n \n \n Grouper {t(\"Manager_Common.Name\")}:{\" \"}\n {isGGrouperLogic[0]?.grouperName}-\n {isGGrouperLogic[0]?.grouperVersion}\n \n \n \n \n \n {t(\"Manager.Remove\")}\n \n \n \n\n \n {t(\"Manager.Add_Subset\")}\n \n }\n defaultExpandIcon={}\n sx={{ minWidth: 300 }}\n expanded={isExpanded}\n >\n \n {isDrg.map((item) => {\n return (\n \n );\n })}\n \n \n {isCasemixDRG.map((item) => {\n return (\n \n );\n })}\n \n \n \n \n \n \n {t(\"Manager.Add\")}{\" \"}\n \n \n \n \n {t(\"Manager_Common.deleteItem\")}\n \n \n \n {t(\"Manager.Ok\")}\n \n \n \n {isGGrouperLogic.length == 0 && (\n
\n \n {t(\"Manager.No_Grouper_Selected\")}\n \n
\n )}\n \n \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Manager.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport SharedComponent from \"./SharedComponent\";\nimport { useForm } from \"react-hook-form\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport TextField from \"@mui/material/TextField\";\nimport Divider from \"@mui/material/Divider\";\nimport Button from \"@mui/material/Button\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport FolderIcon from \"@mui/icons-material/Folder\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport Link from \"@mui/material/Link\";\nimport Dropzone from \"react-dropzone\";\nimport UploadFileIcon from \"@mui/icons-material/UploadFile\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport {\n setMasterFilterData,\n setFilterData,\n setSelectedYear,\n GetAllInteractiveDetails,\n setIsGInteractiveLogic,\n GetAllGrouperDetails,\n setSelectedUploadYear,\n saveLogic,\n remove,\n setSelFileType,\n setSelFileDetails,\n UpdateInteractive,\n DeleteInteractiveSublist,\n setIsGInteractiveRender,\n setIsGrouper,\n setIsInternekoder,\n setIsGInteractiveCheck,\n GInteractive,\n upload,\n setExpanded,\n setIsDisabled,\n setDefaultIsInteractiveLogic,\n setIsGInteractiveDataUpdated,\n setIsGInteractiveDataRemoved,\n GetUpdatedInteractive,\n setIsGInteractiveLogicTariff,\n setGInteractiveTariffFlag,\n} from \"./managerSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n // borderTopRightRadius: theme.spacing(2),\n // borderBottomRightRadius: theme.spacing(2),\n // paddingRight: theme.spacing(1),\n padding: \"0px\",\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n padding: \"0px\",\n },\n [`& .${treeItemClasses.iconContainer}`]: {\n margin: \"0px\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n //paddingLeft: theme.spacing(2),\n padding: \"0px\",\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function GenerateInteractive() {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const {\n register,\n handleSubmit,\n formState: { errors },\n reset,\n } = useForm();\n const { user, isAdminPrivileges } = useSelector(\n (state) => state.authentication\n );\n const manager = useSelector((state) => state.manager);\n const {\n isInitialLoadAPI,\n isRender,\n data,\n isNoData,\n selectedYear,\n distinctUploadYear,\n selFileType,\n selFileDetails,\n isGInteractiveRender,\n isGInteractiveLogic,\n isGrouperMaster,\n isGrouper,\n isInternekoderMaster,\n isInternekoder,\n isExpanded,\n isDisabled,\n isGInteractiveDataAdded,\n isGInteractiveDataRemoved,\n isInteractiveLogicRender,\n interactiveTariffFlag\n } = manager;\n const [addLogic, setAddLogic] = useState(false);\n const [removeLogic, setRemoveLogic] = useState(false);\n const [addSubset, setAddSubset] = useState(false);\n const [selectedFiles, setSelectedFiles] = useState(\"\");\n const [currentFile, setCurrentFile] = useState(undefined);\n const [ropen, setRopen] = useState(false);\n const [deleteItem, setDeleteItem] = useState();\n const [deleteFile, setDeleteFile] = useState();\n\n useEffect(() => {\n let url = \"api/GetGrouperUsedDetails\";\n dispatch(GetAllGrouperDetails({ method: \"GET\", url: url }));\n }, []);\n\n useEffect(() => {\n if (isInitialLoadAPI && isRender) {\n let url = \"api/GetInteractiveDetails\";\n dispatch(GetAllInteractiveDetails({ method: \"GET\", url: url }));\n } else {\n dispatch(setIsGInteractiveLogic(isGInteractiveLogic[0] ?.id));\n }\n }, [isInitialLoadAPI, isRender, isGInteractiveRender]);\n\n useEffect(() => {\n if (isGInteractiveLogic?.length>0) {\n let url = \"api/GetInteractiveDetailsById?interactiveId=\"+ isGInteractiveLogic[0] ?.id;\n dispatch(GetUpdatedInteractive({ method: \"GET\", url: url }));\n } \n }, [isInteractiveLogicRender]);\n\n useEffect(() => {\n if ( isGInteractiveDataAdded) {\n \n dispatch(setDefaultIsInteractiveLogic());\n dispatch(setIsGInteractiveDataUpdated(false)); \n \n }\n }, [isGInteractiveDataAdded]);\n\n useEffect(() => {\n if ( isGInteractiveDataRemoved) {\n \n dispatch(setIsGInteractiveLogic(0));\n dispatch(setIsGInteractiveDataRemoved(false)); \n \n }\n }, [isGInteractiveDataRemoved]);\n\n // useEffect(() => {\n // setCount(0);\n // let value = 0;\n // if (isGInteractiveLogic[0]?.grouperName != null && isGInteractiveLogic[0]?.grouperName != \"\" ) {\n // //setCount(count+1);\n // value++;\n // }\n // if (isGInteractiveLogic[0]?.interneKoderName != null && isGInteractiveLogic[0]?.interneKoderName != \"\" ) {\n // //setCount(count+1);\n // value++;\n // }\n // if (isGInteractiveLogic[0]?.interactiveGuide ?.fileName != null && isGInteractiveLogic[0].interactiveGuide ?.fileName != \"\" ) {\n // //setCount(count+1);\n // value++;\n // }\n // if (isGInteractiveLogic[0]?.interactiveNews ?.fileName != null && isGInteractiveLogic[0].interactiveNews ?.fileName != \"\" ) {\n // //setCount(count+1);\n // value++;\n // }\n // setCount(value);\n // }, [isGInteractiveLogic]);\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedYear(value));\n if (value) {\n const result = data.filter((item) => {\n return item.year == value;\n });\n dispatch(setMasterFilterData(result));\n dispatch(setFilterData(result));\n dispatch(setIsGInteractiveLogic(0));\n }\n if (value) {\n const result = isGrouperMaster.filter((item) => {\n return item.year == value;\n });\n dispatch(setIsGrouper(result));\n }\n if (value) {\n const result = isInternekoderMaster.filter((item) => {\n return item.Year == value;\n });\n dispatch(setIsInternekoder(result));\n }\n };\n\n const handleClose = () => {\n // reset();\n setSelectedFiles(\"\");\n setAddLogic(false);\n setRemoveLogic(false);\n setAddSubset(false);\n dispatch(setExpanded([]));\n dispatch(setIsDisabled(true));\n setRopen(false);\n };\n\n const onSubmit = (values) => {\n if (\n values.name !== null &&\n values.name !== \"\" &&\n values.name !== undefined\n ) {\n addGInteractiveLogic(values);\n // reset();\n setAddLogic(false);\n }\n };\n\n async function addGInteractiveLogic(values) {\n let logicName = values.name;\n let logicVersion = values.version;\n let logicYear = values.year;\n dispatch(setSelectedUploadYear(logicYear));\n let url =\n \"api/AddInteractive?interactiveName=\" +\n logicName +\n \"&interactiveVersion=\" +\n logicVersion +\n \"&Year=\" +\n logicYear;\n dispatch(saveLogic({ method: \"POST\", url: url, body: null }));\n dispatch(setIsGInteractiveRender());\n }\n\n const onOk = (values) => (e) => {\n setRemoveLogic(false);\n removeSelectedLogic(values);\n };\n\n async function removeSelectedLogic(values) {\n let url =\n \"/api/DeleteInteractive?grouperName=\" +\n values.grouperName +\n \"&grouperVersion=\" +\n values.grouperVersion +\n \"&interactiveName=\" +\n values.interactiveName +\n \"&interactiveVersion=\" +\n values.interactiveVersion +\n \"&interactiveYear=\" +\n values.year +\n \"&interneKoderName=\" +\n values.interneKoderName +\n \"&interneKoderVersion=\" +\n values.interneKoderVersion;\n dispatch(remove({ method: \"POST\", url: url, body: null }));\n }\n\n const GenerateInteractive = () => {\n if (\n isGInteractiveLogic[0] ?.grouperName == null ||\n isGInteractiveLogic[0] ?.grouperName == \"\" ||\n isGInteractiveLogic[0] ?.grouperVersion == null ||\n isGInteractiveLogic[0] ?.grouperVersion == \"\"\n ) {\n dispatch(setIsGInteractiveCheck({ method: \"CheckGrouper\" }));\n } else if (\n isGInteractiveLogic[0] ?.interneKoderName == null ||\n isGInteractiveLogic[0] ?.interneKoderName == \"\" ||\n isGInteractiveLogic[0] ?.interneKoderVersion == null ||\n isGInteractiveLogic[0] ?.interneKoderVersion == \"\"\n ) {\n dispatch(setIsGInteractiveCheck({ method: \"CheckInterkoder\" }));\n } else {\n let url =\n \"/api/ExecuteInteractive?id=\" +\n isGInteractiveLogic[0] ?.id +\n \"&grouperName=\" +\n isGInteractiveLogic[0] ?.grouperName +\n \"&grouperVersion=\" +\n isGInteractiveLogic[0] ?.grouperVersion +\n \"&Year=\" +\n isGInteractiveLogic[0] ?.year +\n \"&interactiveName=\" +\n isGInteractiveLogic[0] ?.interactiveName +\n \"&interactiveVer=\" +\n isGInteractiveLogic[0] ?.interactiveVersion;\n dispatch(GInteractive({ method: \"GET\", url: url }));\n dispatch(setIsGInteractiveRender());\n }\n };\n\n const onSelect = (nodeID, fileType) => () => {\n dispatch(setIsDisabled(true));\n setSelectedFiles(\"\");\n if (isExpanded[0] == nodeID) {\n dispatch(setExpanded([]));\n } else {\n dispatch(setExpanded([nodeID]));\n if ((fileType == \"InteractiveGuide\") || (fileType == \"InteractiveNews\")) {\n dispatch(setSelFileType(fileType));\n }\n }\n };\n\n const onSubsetSelect = (details, fileType) => () => {\n dispatch(setSelFileDetails(details));\n dispatch(setSelFileType(fileType));\n dispatch(setIsDisabled(false));\n };\n\n const onAddSubset = () => {\n let interactiveGrpName = \"\";\n let interactiveGrpVersion = \"\";\n let interactiveGrpYear = \"\";\n let interactiveIKName = \"\";\n let interactiveIKVersion = \"\";\n\n if (selFileType == \"Grouper\") {\n interactiveGrpName = selFileDetails.grouperName;\n interactiveGrpVersion = selFileDetails.grouperVersion;\n interactiveGrpYear = selFileDetails.year;\n } else if (selFileType == \"Internal_Codes\") {\n interactiveIKName = selFileDetails.Name;\n interactiveIKVersion = selFileDetails.version;\n }\n\n if (\n interactiveGrpName == undefined ||\n interactiveGrpVersion == undefined ||\n interactiveGrpYear == undefined ||\n interactiveGrpName == \"\" ||\n interactiveGrpVersion == \"\" ||\n interactiveGrpYear == \"\"\n ) {\n interactiveGrpName = isGInteractiveLogic[0] ?.grouperName;\n interactiveGrpVersion = isGInteractiveLogic[0] ?.grouperVersion;\n interactiveGrpYear = isGInteractiveLogic[0] ?.year;\n }\n if (\n interactiveIKName == undefined ||\n interactiveIKVersion == undefined ||\n interactiveIKName == \"\" ||\n interactiveIKVersion == \"\"\n ) {\n interactiveIKName = isGInteractiveLogic[0] ?.interneKoderName;\n interactiveIKVersion = isGInteractiveLogic[0] ?.interneKoderVersion;\n }\n\n var interactiveData = {\n InteractiveName: isGInteractiveLogic[0] ?.interactiveName,\n InteractiveVersion: isGInteractiveLogic[0] ?.interactiveVersion,\n GrouperName: interactiveGrpName,\n GrouperVersion: interactiveGrpVersion,\n GrouperYear: interactiveGrpYear,\n InterneKoderName: interactiveIKName,\n InterneKoderVersion: interactiveIKVersion,\n Id: isGInteractiveLogic[0] ?.id,\n ShowTariff: isGInteractiveLogic[0]?.showTariff,\n };\n if (\n selFileType !== \"InteractiveGuide\" &&\n selFileType !== \"InteractiveNews\"\n ) {\n dispatch(setGInteractiveTariffFlag());\n let url = \"api/UpdateInteractive\";\n dispatch(\n UpdateInteractive({ method: \"POST\", url: url, body: interactiveData })\n );\n setAddSubset(false);\n dispatch(setIsDisabled(true));\n dispatch(setExpanded([]));\n dispatch(setSelFileDetails([]));\n dispatch(setIsGInteractiveRender());\n } else {\n let currentFile = selectedFiles[0];\n setCurrentFile(currentFile);\n setSelectedFiles(\"\");\n let interactiveID = isGInteractiveLogic[0] ?.id;\n let selectedType = selFileType;\n let url =\n \"api/UploadInteractiveFiles?interactiveID=\" +\n interactiveID +\n \"&selectedType=\" +\n selectedType;\n let formData = new FormData();\n formData.append(\"file\", currentFile, currentFile.name);\n dispatch(upload({ method: \"POST\", url: url, body: formData }));\n setAddSubset(false);\n dispatch(setIsDisabled(true));\n dispatch(setExpanded([]));\n }\n };\n\n const onDelete = (value,name) => (e) => {\n e.preventDefault();\n setDeleteItem(value);\n if(name!= \"\" && name!= undefined && name!= null ){\n setDeleteFile(name);\n }\n setRopen(true);\n }\n\n const onDeleteOk = (value) => (e) => {\n setRopen(false);\n let url =\n \"api/DeleteInteractiveSublist?interactiveName=\" +\n isGInteractiveLogic[0] ?.interactiveName +\n \"&interactiveVersion=\" +\n isGInteractiveLogic[0] ?.interactiveVersion +\n \"&year=\" +\n isGInteractiveLogic[0] ?.year +\n \"&selectedType=\" +\n value;\n dispatch(DeleteInteractiveSublist({ method: \"POST\", url: url }));\n };\n\n const onDeleteFile = (value, fileName) => (e) => {\n setRopen(false);\n let url =\n \"api/DeleteInteractiveFiles?interactiveName=\" +\n isGInteractiveLogic[0] ?.interactiveName +\n \"&interactiveVersion=\" +\n isGInteractiveLogic[0] ?.interactiveVersion +\n \"&year=\" +\n isGInteractiveLogic[0] ?.year +\n \"&selectedType=\" +\n value +\n \"&fileName=\" +\n fileName;\n\n dispatch(DeleteInteractiveSublist({ method: \"POST\", url: url }));\n setDeleteFile();\n };\n\n const onDrop = (files) => {\n if (files.length > 0) {\n setSelectedFiles(files);\n dispatch(setIsDisabled(false));\n }\n };\n\n const handleTariff = (attribute) => (e) => {\n let checkedValue = e.target.checked;\n let result = isGInteractiveLogic.map((row) => {\n return { ...row, [attribute]: checkedValue };\n });\n dispatch(setIsGInteractiveLogicTariff(result));\n };\n\n if (interactiveTariffFlag) {\n onAddSubset();\n }\n return (\n
\n {isNoData == true && (\n \n
\n
\n \n {t(\"Manager.Generate_Interactive\")}\n \n
\n
\n
\n setAddLogic(true)}\n >\n {t(\"GInteractive.add_interactive\")}\n \n
\n
\n
\n \n
\n
\n \n {t(\"GInteractive.GInteractive_Validation\")}\n \n
\n
\n
\n )}\n \n \n
\n
\n \n {t(\"Manager.Generate_Interactive\")}\n \n
\n
\n
\n \n {distinctUploadYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n { setAddLogic(true), reset({ year: selectedYear }) }}\n >\n {t(\"GInteractive.add_interactive\")}\n \n
\n
\n
\n \n {isGInteractiveLogic.length > 0 && (\n\n
\n
\n \n {isGInteractiveLogic[0] ?.interactiveName}-\n {isGInteractiveLogic[0] ?.interactiveVersion}\n \n
\n
\n
\n \n {isAdminPrivileges && isGInteractiveLogic[0] ?.status == 0 && (\n setRemoveLogic(true)}\n >\n {t(\"Manager.Remove\")}\n \n )}\n \n {t(\"Manager.Generate_Interactive\")}\n \n
\n
\n
\n \n )}\n {isGInteractiveLogic.length > 0 && (\n
\n
\n \n {t(\"Manager.publisher_status\")}:\n \n {isGInteractiveLogic[0] ?.status == 1 && t(\"Global.production\")}\n {isGInteractiveLogic[0] ?.status == 2 && t(\"Global.hearing\")}\n {isGInteractiveLogic[0] ?.status == 3 && t(\"Global.test\")} \n {isGInteractiveLogic[0] ?.status == 0 && t(\"Global.notpublished\")} \n \n \n \n Status:\n \n {isGInteractiveLogic[0] ?.isGenerated == true\n ? t(\"Manager_Common.generated\")\n : t(\"Manager_Common.not_generated\")}\n \n \n \n {t(\"Manager.show_Tarrifs\")}\n \n \n
\n \n
\n
\n {t(\"Manager.Subset\")}\n {isAdminPrivileges && isGInteractiveLogic[0] ?.status == 0 &&\n setAddSubset(true)}\n >\n {t(\"Manager.Add_Subset\")}\n \n }\n
\n {isGInteractiveLogic[0] ?.grouperName != null &&\n isGInteractiveLogic[0] ?.grouperName != \"\" && (\n
\n \n {t(\"Manager_Common.grouper_file\")} :\n \n {\" \"}\n {isGInteractiveLogic[0] ?.grouperName}{\" \"}\n {isGInteractiveLogic[0] ?.grouperVersion}\n \n \n {isAdminPrivileges && isGInteractiveLogic[0] ?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n {isGInteractiveLogic[0] ?.interneKoderName != null &&\n isGInteractiveLogic[0] ?.interneKoderName != \"\" && (\n
\n \n {t(\"Manager.Internal_Code_File\")} :\n \n {\" \"}\n {isGInteractiveLogic[0] ?.interneKoderName}{\" \"}\n {isGInteractiveLogic[0] ?.interneKoderVersion}\n \n \n {isAdminPrivileges && isGInteractiveLogic[0] ?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n {isGInteractiveLogic[0].interactiveGuide ?.fileName != null &&\n isGInteractiveLogic[0].interactiveGuide ?.fileName != \"\" && (\n
\n \n {t(\"Manager.Interactive_Guidance_File\")} :\n \n {\" \"}\n {isGInteractiveLogic[0].interactiveGuide ?.fileName}\n \n \n {isAdminPrivileges && isGInteractiveLogic[0] ?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n {isGInteractiveLogic[0].interactiveNews ?.fileName != null &&\n isGInteractiveLogic[0].interactiveNews ?.fileName != \"\" && (\n
\n \n {t(\"Manager.Interactive_News_File\")} :\n \n {\" \"}\n {isGInteractiveLogic[0].interactiveNews ?.fileName}\n \n \n {isAdminPrivileges && isGInteractiveLogic[0] ?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n
\n
\n )}\n
\n \n \n {t(\"GInteractive.add_interactive\")}\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n\n \n {t(\"GInteractive.remove_interactive\")}\n \n \n {t(\"GInteractive.remove_validation\")}\n \n \n {t(\"interactive.Interactive\")} {t(\"Manager_Common.Name\")}:{\" \"}\n {isGInteractiveLogic[0] ?.interactiveName}-\n {isGInteractiveLogic[0] ?.interactiveVersion}\n \n \n \n \n \n {t(\"Manager.Remove\")}\n \n \n \n\n \n {t(\"Manager.Add_Subset\")}\n \n }\n defaultExpandIcon={}\n sx={{ minWidth: 300 }}\n expanded={isExpanded}\n >\n \n {isGrouper.map((item) => {\n return (\n \n );\n })}\n \n \n {isInternekoder.map((item) => {\n return (\n \n );\n })}\n \n \n \n {t(\"Manager.Upload\")} {t(\"Manager.Interactive_Guidance_File\")}\n \n \n {({ getRootProps, getInputProps }) => (\n
\n
\n \n {selectedFiles && selectedFiles[0].name ? (\n
\n {selectedFiles && selectedFiles[0].name}\n
\n ) : (\n
\n \n
{t(\"Manager_Common.Drag\")}
\n
\n )}\n
\n
\n )}\n
\n \n \n \n {t(\"Manager.Upload\")} {t(\"Manager.Interactive_News_File\")}\n \n \n {({ getRootProps, getInputProps }) => (\n
\n
\n \n {selectedFiles && selectedFiles[0].name ? (\n
\n {selectedFiles && selectedFiles[0].name}\n
\n ) : (\n
\n \n
{t(\"Manager_Common.Drag\")}
\n
\n )}\n
\n
\n )}\n
\n \n \n
\n \n \n \n \n
\n \n \n {t(\"Manager_Common.deleteItem\")}\n \n \n \n {(deleteFile!= \"\" && deleteFile!= undefined && deleteFile!= null ) ?():\n ()}\n \n \n {isGInteractiveLogic.length == 0 && (
\n \n {t(\"Manager.No_Interactive_Selected\")}\n \n
)}\n \n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Manager.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport SharedComponent from \"./SharedComponent\";\nimport { useForm } from \"react-hook-form\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport TextField from \"@mui/material/TextField\";\nimport Divider from \"@mui/material/Divider\";\nimport Button from \"@mui/material/Button\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport FolderIcon from \"@mui/icons-material/Folder\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport Link from \"@mui/material/Link\";\nimport Dropzone from \"react-dropzone\";\nimport UploadFileIcon from \"@mui/icons-material/UploadFile\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport {\n setMasterFilterData,\n setFilterData,\n setSelectedYear,\n GetAllViewerDetails,\n setIsGViewerLogic,\n GetAllGrouperDetails,\n setSelectedUploadYear,\n saveLogic,\n remove,\n setSelFileType,\n setSelFileDetails,\n UpdateViewer,\n DeleteVisualSublist,\n setIsGViewerRender,\n setIsGrouper,\n setIsInternekoder,\n setIsGViewerCheck,\n GViewer,\n upload,\n setExpanded,\n setIsDisabled,\n setDefaultIsViewerLogic,\n setIsGViewerDataUpdated,\n setIsGViewerDataRemoved,\n GetUpdatedVisual,\n setIsGViewerLogicTariff,\n setGViewerTariffFlag,\n} from \"./managerSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n // borderTopRightRadius: theme.spacing(2),\n // borderBottomRightRadius: theme.spacing(2),\n // paddingRight: theme.spacing(1),\n padding: \"0px\",\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n padding: \"0px\",\n },\n [`& .${treeItemClasses.iconContainer}`]: {\n margin: \"0px\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n //paddingLeft: theme.spacing(2),\n padding: \"0px\",\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function GenerateViewer() {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const {\n register,\n handleSubmit,\n formState: { errors },\n reset,\n } = useForm();\n const { user, isAdminPrivileges } = useSelector(\n (state) => state.authentication\n );\n const manager = useSelector((state) => state.manager);\n const {\n isInitialLoadAPI,\n isRender,\n data,\n isNoData,\n selectedYear,\n distinctUploadYear,\n selFileType,\n selFileDetails,\n isGViewerRender,\n isGViewerLogic,\n isGrouperMaster,\n isGrouper,\n isGViewer,\n isExpanded,\n isDisabled,\n isGViewerDataAdded,\n isGViewerDataRemoved,\n isViewerLogicRender,\n viewerTariffFlag,\n } = manager;\n const [addLogic, setAddLogic] = useState(false);\n const [removeLogic, setRemoveLogic] = useState(false);\n const [addSubset, setAddSubset] = useState(false);\n const [selectedFiles, setSelectedFiles] = useState(undefined);\n const [currentFile, setCurrentFile] = useState(undefined);\n const [ropen, setRopen] = useState(false);\n const [deleteItem, setDeleteItem] = useState();\n const [deleteFile, setDeleteFile] = useState();\n\n useEffect(() => {\n if (isGViewer) {\n let url = \"api/ViewerUsedGrouper\";\n dispatch(GetAllGrouperDetails({ method: \"GET\", url: url }));\n }\n }, []);\n\n useEffect(() => {\n if (isInitialLoadAPI && isRender) {\n let url = \"api/GetVisualDetails\";\n dispatch(GetAllViewerDetails({ method: \"GET\", url: url }));\n } else {\n dispatch(setIsGViewerLogic(isGViewerLogic[0]?.id));\n }\n }, [isInitialLoadAPI, isRender, isGViewerRender]);\n\n useEffect(() => {\n if (isGViewerLogic?.length > 0) {\n let url = \"api/GetVisualDetailsById?visualId=\" + isGViewerLogic[0]?.id;\n dispatch(GetUpdatedVisual({ method: \"GET\", url: url }));\n }\n }, [isViewerLogicRender]);\n\n useEffect(() => {\n if (isGViewerDataAdded) {\n dispatch(setDefaultIsViewerLogic());\n dispatch(setIsGViewerDataUpdated(false));\n }\n }, [isGViewerDataAdded]);\n\n useEffect(() => {\n if (isGViewerDataRemoved) {\n dispatch(setIsGViewerLogic(0));\n dispatch(setIsGViewerDataRemoved(false));\n }\n }, [isGViewerDataRemoved]);\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedYear(value));\n if (value) {\n const result = data.filter((item) => {\n return item.year == value;\n });\n dispatch(setMasterFilterData(result));\n dispatch(setFilterData(result));\n dispatch(setIsGViewerLogic(0));\n }\n if (value) {\n const result = isGrouperMaster.filter((item) => {\n return item.year == value;\n });\n dispatch(setIsGrouper(result));\n }\n };\n\n const handleClose = () => {\n // reset();\n setSelectedFiles(\"\");\n setAddLogic(false);\n setRemoveLogic(false);\n setAddSubset(false);\n dispatch(setExpanded([]));\n dispatch(setIsDisabled(true));\n setRopen(false);\n };\n\n const onSubmit = (values) => {\n if (\n values.name !== null &&\n values.name !== \"\" &&\n values.name !== undefined\n ) {\n addGViewerLogic(values);\n // reset();\n setAddLogic(false);\n }\n };\n\n async function addGViewerLogic(values) {\n let logicName = values.name;\n let logicVersion = values.version;\n let logicYear = values.year;\n dispatch(setSelectedUploadYear(logicYear));\n let url =\n \"api/AddVisual?visualName=\" +\n logicName +\n \"&visualVersion=\" +\n logicVersion +\n \"&Year=\" +\n logicYear;\n dispatch(saveLogic({ method: \"POST\", url: url, body: null }));\n dispatch(setIsGViewerRender());\n }\n\n const onOk = (values) => (e) => {\n setRemoveLogic(false);\n removeSelectedLogic(values);\n };\n\n async function removeSelectedLogic(values) {\n let url = \"api/DeleteVisual?id=\" + values.id;\n dispatch(remove({ method: \"POST\", url: url, body: null }));\n }\n\n const GenerateViewer = () => {\n if (\n isGViewerLogic[0]?.grouperName == null ||\n isGViewerLogic[0]?.grouperName == \"\" ||\n isGViewerLogic[0]?.grouperVersion == null ||\n isGViewerLogic[0]?.grouperVersion == \"\"\n ) {\n dispatch(setIsGViewerCheck());\n } else {\n let url =\n \"api/ExecuteVisual?id=\" +\n isGViewerLogic[0]?.id +\n \"&grouperName=\" +\n isGViewerLogic[0]?.grouperName +\n \"&grouperVersion=\" +\n isGViewerLogic[0]?.grouperVersion +\n \"&Year=\" +\n isGViewerLogic[0]?.year;\n dispatch(GViewer({ method: \"GET\", url: url }));\n dispatch(setIsGViewerRender());\n }\n };\n\n const onSelect = (nodeID, fileType) => () => {\n dispatch(setIsDisabled(true));\n setSelectedFiles(\"\");\n if (isExpanded[0] == nodeID) {\n dispatch(setExpanded([]));\n } else {\n dispatch(setExpanded([nodeID]));\n if (\n fileType == \"VisualGuide\" ||\n fileType == \"VisualNews\" ||\n fileType == \"InterneKoderPDF\"\n ) {\n dispatch(setSelFileType(fileType));\n }\n }\n };\n\n const onSubsetSelect = (details, fileType) => () => {\n dispatch(setSelFileDetails(details));\n dispatch(setSelFileType(fileType));\n dispatch(setIsDisabled(false));\n };\n\n const onAddSubset = () => {\n console.log(\"onAddSubset-isGViewerLogic:\", isGViewerLogic);\n let visualGrpName = \"\";\n let visualGrpVersion = \"\";\n let visualGrpYear = \"\";\n if (selFileType == \"Grouper\") {\n visualGrpName = selFileDetails.grouperName;\n visualGrpVersion = selFileDetails.grouperVersion;\n visualGrpYear = selFileDetails.year;\n }\n if (\n visualGrpName == undefined ||\n visualGrpVersion == undefined ||\n visualGrpYear == undefined ||\n visualGrpName == \"\" ||\n visualGrpVersion == \"\" ||\n visualGrpYear == \"\"\n ) {\n visualGrpName = isGViewerLogic[0]?.grouperName;\n visualGrpVersion = isGViewerLogic[0]?.grouperVersion;\n visualGrpYear = isGViewerLogic[0]?.year;\n }\n var visualData = {\n VisualName: isGViewerLogic[0]?.visualName,\n VisualVersion: isGViewerLogic[0]?.visualVersion,\n GrouperName: visualGrpName,\n GrouperVersion: visualGrpVersion,\n GrouperYear: visualGrpYear,\n Id: isGViewerLogic[0]?.id,\n ShowTariff: isGViewerLogic[0]?.showTariff,\n };\n if (\n selFileType !== \"VisualGuide\" &&\n selFileType !== \"VisualNews\" &&\n selFileType !== \"InterneKoderPDF\"\n ) {\n dispatch(setGViewerTariffFlag());\n console.log(\"visualData:\", visualData);\n let url = \"api/UpdateVisual\";\n dispatch(UpdateViewer({ method: \"POST\", url: url, body: visualData }));\n setAddSubset(false);\n dispatch(setIsDisabled(true));\n dispatch(setExpanded([]));\n dispatch(setSelFileDetails([]));\n dispatch(setIsGViewerRender());\n } else {\n let currentFile = selectedFiles[0];\n setCurrentFile(currentFile);\n setSelectedFiles(\"\");\n let viewerID = isGViewerLogic[0]?.id;\n let selectedType = selFileType;\n let url =\n \"api/UploadVisualFiles?visualID=\" +\n viewerID +\n \"&selectedType=\" +\n selectedType;\n let formData = new FormData();\n formData.append(\"file\", currentFile, currentFile.name);\n dispatch(upload({ method: \"POST\", url: url, body: formData }));\n setAddSubset(false);\n dispatch(setIsDisabled(true));\n dispatch(setExpanded([]));\n dispatch(setIsGViewerRender());\n }\n };\n\n const onDelete = (value, name) => (e) => {\n e.preventDefault();\n setDeleteItem(value);\n if (name != \"\" && name != undefined && name != null) {\n setDeleteFile(name);\n }\n setRopen(true);\n };\n\n const onDeleteOk = () => (e) => {\n setRopen(false);\n var body = {\n visualName: isGViewerLogic[0]?.visualName,\n VisualVersion: isGViewerLogic[0]?.visualVersion,\n Year: isGViewerLogic[0]?.year,\n };\n let url = \"api/DeleteVisualSublist\";\n dispatch(DeleteVisualSublist({ method: \"POST\", url: url, body: body }));\n };\n\n const onDeleteFile = (value, fileName) => (e) => {\n setRopen(false);\n let url =\n \"api/DeleteVisualFiles?visualName=\" +\n isGViewerLogic[0]?.visualName +\n \"&visualVersion=\" +\n isGViewerLogic[0]?.visualVersion +\n \"&year=\" +\n isGViewerLogic[0]?.year +\n \"&selectedType=\" +\n value +\n \"&fileName=\" +\n fileName;\n dispatch(DeleteVisualSublist({ method: \"POST\", url: url }));\n setDeleteFile();\n };\n\n const onDrop = (files) => {\n if (files.length > 0) {\n setSelectedFiles(files);\n dispatch(setIsDisabled(false));\n }\n };\n const handleTariff = (attribute) => (e) => {\n let checkedValue = e.target.checked;\n console.log(attribute);\n let result = isGViewerLogic.map((row) => {\n return { ...row, [attribute]: checkedValue };\n });\n console.log(result);\n dispatch(setIsGViewerLogicTariff(result));\n console.log(\"handleTariff:\", isGViewerLogic);\n };\n if (viewerTariffFlag) {\n onAddSubset();\n }\n return (\n
\n {isNoData == true && (\n \n
\n
\n \n {t(\"Manager.Generate_Visual\")}\n \n
\n
\n
\n setAddLogic(true)}\n >\n {t(\"GViewer.Add_Viewer\")}\n \n
\n
\n
\n \n
\n
\n \n {t(\"GViewer.Viwer_Validation\")}\n \n
\n
\n
\n )}\n\n \n
\n
\n {t(\"Manager.Generate_Visual\")}\n
\n
\n
\n \n {distinctUploadYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n {\n setAddLogic(true), reset({ year: selectedYear });\n }}\n >\n {t(\"GViewer.Add_Viewer\")}\n \n
\n
\n
\n \n {isGViewerLogic.length > 0 && (\n
\n
\n \n {isGViewerLogic[0]?.visualName}-\n {isGViewerLogic[0]?.visualVersion}\n \n
\n
\n
\n {isAdminPrivileges && isGViewerLogic[0]?.status == 0 && (\n setRemoveLogic(true)}\n >\n {t(\"Manager.Remove\")}\n \n )}\n \n {t(\"Manager.Generate_Visual\")}\n \n
\n
\n
\n )}\n {isGViewerLogic.length > 0 && (\n
\n
\n \n {t(\"Manager.publisher_status\")}:\n \n {isGViewerLogic[0]?.status == 1 && t(\"Global.production\")}\n {isGViewerLogic[0]?.status == 2 && t(\"Global.hearing\")}\n {isGViewerLogic[0]?.status == 3 && t(\"Global.test\")}\n {isGViewerLogic[0]?.status == 0 && t(\"Global.notpublished\")}\n \n \n \n Status:\n \n {isGViewerLogic[0]?.isGenerated == true\n ? t(\"Manager_Common.generated\")\n : t(\"Manager_Common.not_generated\")}\n \n \n \n {t(\"Manager.show_Tarrifs\")}\n \n \n
\n \n
\n
\n {t(\"Manager.Subset\")}\n {isAdminPrivileges && isGViewerLogic[0]?.status == 0 && (\n setAddSubset(true)}\n >\n {t(\"Manager.Add_Subset\")}\n \n )}\n
\n {isGViewerLogic[0]?.grouperName != null &&\n isGViewerLogic[0]?.grouperName != \"\" && (\n
\n \n {t(\"Manager_Common.grouper_file\")} :\n \n {\" \"}\n {isGViewerLogic[0]?.grouperName}{\" \"}\n {isGViewerLogic[0]?.grouperVersion}\n \n \n {isAdminPrivileges && isGViewerLogic[0]?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n {isGViewerLogic[0]?.visualGuide?.fileName != null &&\n isGViewerLogic[0]?.visualGuide?.fileName != \"\" && (\n
\n \n {t(\"Manager.Visual_Guidance_File\")} :\n \n {\" \"}\n {isGViewerLogic[0]?.visualGuide?.fileName}{\" \"}\n \n \n {isAdminPrivileges && isGViewerLogic[0]?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n {isGViewerLogic[0]?.visualNews?.fileName != null &&\n isGViewerLogic[0]?.visualNews?.fileName != \"\" && (\n
\n \n {t(\"Manager.Visual_News_File\")}:\n \n {\" \"}\n {isGViewerLogic[0]?.visualNews?.fileName}\n \n \n {isAdminPrivileges && isGViewerLogic[0]?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n {isGViewerLogic[0]?.interneKoderPdfFile?.fileName != null &&\n isGViewerLogic[0]?.interneKoderPdfFile?.fileName != \"\" && (\n
\n \n {t(\"Manager.Internal_Code_File\")}:\n \n {\" \"}\n {isGViewerLogic[0]?.interneKoderPdfFile?.fileName}\n \n \n {isAdminPrivileges && isGViewerLogic[0]?.status == 0 && (\n
\n \n
\n )}\n
\n )}\n
\n
\n )}\n
\n\n \n {t(\"GViewer.Add_Viewer\")}\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n\n \n {t(\"GViewer.Remove_Viewer\")}\n \n {t(\"GViewer.remove_validation\")}\n \n Viewer {t(\"Manager_Common.Name\")}: {isGViewerLogic[0]?.visualName}-\n {isGViewerLogic[0]?.visualVersion}\n \n \n \n \n \n {t(\"Manager.Remove\")}\n \n \n \n\n \n {t(\"Manager.Add_Subset\")}\n \n }\n defaultExpandIcon={}\n sx={{ minWidth: 300 }}\n expanded={isExpanded}\n >\n \n {isGrouper.map((item) => {\n return (\n \n );\n })}\n \n \n \n {t(\"Manager.Upload\")} {t(\"Manager.Visual_Guidance_File\")}\n \n \n {({ getRootProps, getInputProps }) => (\n
\n
\n \n {selectedFiles && selectedFiles[0].name ? (\n
\n {selectedFiles && selectedFiles[0].name}\n
\n ) : (\n
\n \n
{t(\"Manager_Common.Drag\")}
\n
\n )}\n
\n
\n )}\n
\n \n \n \n {t(\"Manager.Upload\")} {t(\"Manager.Visual_News_File\")}\n \n \n {({ getRootProps, getInputProps }) => (\n
\n
\n \n {selectedFiles && selectedFiles[0].name ? (\n
\n {selectedFiles && selectedFiles[0].name}\n
\n ) : (\n
\n \n
{t(\"Manager_Common.Drag\")}
\n
\n )}\n
\n
\n )}\n
\n \n \n \n {t(\"Manager.Upload\")} {t(\"Manager.Internal_Code_File\")}\n \n \n {({ getRootProps, getInputProps }) => (\n
\n
\n \n {selectedFiles && selectedFiles[0].name ? (\n
\n {selectedFiles && selectedFiles[0].name}\n
\n ) : (\n
\n \n
{t(\"Manager_Common.Drag\")}
\n
\n )}\n
\n
\n )}\n
\n \n \n
\n \n \n \n {t(\"Manager.Add\")}\n \n \n
\n \n {t(\"Manager_Common.deleteItem\")}\n \n \n {deleteFile != \"\" && deleteFile != undefined && deleteFile != null ? (\n \n {t(\"Manager.Ok\")}\n \n ) : (\n \n {t(\"Manager.Ok\")}\n \n )}\n \n \n {isGViewerLogic.length == 0 && (\n
\n \n {t(\"Manager.No_Viewer_Selected\")}\n \n
\n )}\n \n
\n );\n}\n","import React, { useState, useEffect } from 'react'\nimport \"./Manager.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { styled } from '@mui/material/styles';\nimport { makeStyles } from \"@mui/styles\";\nimport Paper from '@mui/material/Paper';\nimport Button from '@mui/material/Button';\nimport Typography from '@mui/material/Typography';\nimport MuiAccordion from '@mui/material/Accordion';\nimport MuiAccordionSummary from '@mui/material/AccordionSummary';\nimport MuiAccordionDetails from '@mui/material/AccordionDetails';\nimport ArrowForwardIosSharpIcon from '@mui/icons-material/ArrowForwardIosSharp';\nimport Backdrop from '@mui/material/Backdrop';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport FileLibrary from \"./FileLibrary\";\nimport DRG from \"./DRG\";\nimport GenerateGrouper from \"./GenerateGrouper\";\nimport GenerateInteractive from \"./GenerateInteractive\";\nimport GenerateViewer from \"./GenerateViewer\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n setIsClinicalCode,\n setIsCasemixFile,\n setIsSupportFile,\n setIsDRG,\n setIsDRGLogic,\n setIsGGrouper,\n setIsGGrouperLogic,\n setIsGInteractive,\n setIsGInteractiveLogic,\n setIsGViewer,\n setIsGViewerLogic,\n getRoles,\n clearMangerStatus,\n} from \"./managerSlice\";\nimport MenuItem from '@mui/material/MenuItem';\nimport { left } from '@popperjs/core';\nimport {redirectToLogin} from \".././authentication/authenticationSlice\";\n\nconst useStyles = makeStyles((theme) => ({\n accordionContent: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n //paddingLeft: \"20px\",\n }\n}));\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n '&:before': {\n display: 'none',\n },\n borderTop: `1px solid rgba(0, 0, 0, 0.12)`,\n}));\n\nconst AccordionSummary = styled((props) => (\n }\n {...props}\n />\n))(({ theme }) => ({\n flexDirection: 'row',\n '& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {\n transform: 'rotate(90deg)',\n },\n '& .MuiAccordionSummary-content': {\n marginLeft: theme.spacing(1),\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n borderTop: '1px solid rgba(0, 0, 0, .125)',\n padding: \"10px 0px\",\n}));\n\nconst NavButton = styled(Button)(({ theme }) => ({\n color: \"#000000DE\",\n textAlign: \"left\",\n paddingLeft: \"30px\",\n justifyContent: \"left\",\n width: \"100%\",\n borderRadius: 0,\n \"&:hover\": {\n backgroundColor: \"#FFFFFF\"\n },\n \"&:active\": {\n backgroundColor: \"#F4F4F4\"\n },\n \"&:focus\": {\n backgroundColor: \"#F4F4F4\"\n },\n}));\n\nexport default function Manager() {\n const { t } = useTranslation(\"language\");\n const classes = useStyles();\n const dispatch = useDispatch();\n const [expanded, setExpanded] = React.useState();\n const handleChange = (panel) => (event, newExpanded) => {\n setExpanded(newExpanded ? panel : false);\n if (panel == \"panel2\" && isDRG == false) {\n dispatch(setIsDRG());\n }\n else if (panel == \"panel3\" && isGGrouper == false) {\n dispatch(setIsGGrouper());\n }\n else if (panel == \"panel4\" && isGInteractive == false) {\n dispatch(setIsGInteractive());\n }\n else if (panel == \"panel5\" && isGViewer == false) {\n dispatch(setIsGViewer());\n }\n };\n const { user } = useSelector((state) => state.authentication);\n const manager = useSelector((state) => state.manager);\n const {\n isLoading,\n isClinicalCode,\n isCasemixFile,\n isSupportFile,\n isDRG,\n isGGrouper,\n isGInteractive,\n isGViewer,\n masterfilterdata,\n isNoData,\n isDRGLogic,\n isGGrouperLogic,\n isGInteractiveLogic,\n isGViewerLogic,\n } = manager;\n\n useEffect(() => {\n console.log(\"after useeffect run\");\n // dispatch(clearMangerStatus());\n dispatch(getRoles({ method: \"GET\" }));\n }, []);\n\n if(!manager.isSessionValid){\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n return (\n
\n
\n \n
\n \n {t(\"Manager.Manager\")}\n \n
\n \n \n {t(\"Manager.File_lib\")}\n \n \n
\n dispatch(setIsClinicalCode())}> {t(\"Manager_Common.SKS_Data\")}\n dispatch(setIsCasemixFile())}> {t(\"Manager_Common.Casemix_File\")}\n dispatch(setIsSupportFile())}> {t(\"Manager.support_file\")} \n
\n
\n
\n {isDRG == true && isNoData == true && (\n \n \n {t(\"Manager.Diagnose_Related_Logics\")}\n \n \n )}\n {isNoData == false && (\n \n \n {t(\"Manager.Diagnose_Related_Logics\")}\n \n \n
\n {isDRG == true && masterfilterdata.length > 0 && (masterfilterdata.map((data) => {\n return (\n dispatch(setIsDRGLogic(data._id))} >{data.Name} {data.version} \n );\n })\n )}\n
\n
\n
\n )}\n {isGGrouper == true && isNoData == true && (\n \n \n {t(\"Manager.Generate_Grouper\")}\n \n \n )}\n {isNoData == false && (\n \n \n {t(\"Manager.Generate_Grouper\")}\n \n \n
\n {isGGrouper == true && masterfilterdata.length > 0 && (masterfilterdata.map((data) => {\n return (\n dispatch(setIsGGrouperLogic(data.id))}>{data.grouperName} {data.grouperVersion} \n );\n })\n )}\n
\n
\n
\n )}\n {isGInteractive == true && isNoData == true && (\n \n \n {t(\"Manager.Generate_Interactive\")}\n \n \n )}\n {isNoData == false && (\n \n \n {t(\"Manager.Generate_Interactive\")}\n \n \n
\n {isGInteractive == true && masterfilterdata.length > 0 && (masterfilterdata.map((data) => {\n return (\n dispatch(setIsGInteractiveLogic(data.id))}>{data.interactiveName} {data.interactiveVersion} \n );\n })\n )}\n
\n
\n
\n )}\n {isGViewer == true && isNoData == true && (\n \n \n {t(\"Manager.Generate_Visual\")}\n \n \n )}\n {isNoData == false && (\n \n \n {t(\"Manager.Generate_Visual\")}\n \n \n
\n {isGViewer == true && masterfilterdata.length > 0 && (masterfilterdata.map((data) => {\n return (\n dispatch(setIsGViewerLogic(data.id))}>{data.visualName} {data.visualVersion} \n );\n })\n )}\n
\n
\n
\n )}\n
\n
\n\n
\n {(isClinicalCode || isCasemixFile || isSupportFile) && ()}\n {isDRG && ()}\n {isGGrouper && ()}\n {isGInteractive && ()}\n {isGViewer && ()}\n
\n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
\n )\n}\n\n","import React from \"react\";\n\nexport default function PrivacyPolicy() {\n return (\n
\n

\n Casemix360 - Privacy Policy\n

\n
\n );\n}\n","import React from \"react\";\n\nexport default function TermsOfUse() {\n return (\n
\n

\n Casemix360 - Terms of Use\n

\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport {\n EditorState,\n convertFromRaw,\n convertToRaw,\n ContentState,\n} from \"draft-js\";\nimport { Editor } from \"react-draft-wysiwyg\";\nimport TextField from \"@mui/material/TextField\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Typography from \"@mui/material/Typography\";\nimport draftToHtml from \"draftjs-to-html\";\nimport htmlToDraft from \"html-to-draftjs\";\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport \"./ContentUpload.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport Button from \"@mui/material/Button\";\nimport {\n getCountries,\n setYearsArray,\n getVisualContent,\n getInteractiveContent,\n getDRGContent,\n getGrouperContent,\n setYear,\n setLanguage,\n updateContent,\n setDestEnvironment\n} from \"./contentUploadSlice\";\n\nexport default function RichTextEditor(props) {\n const [editorState, setEditorState] = useState();\n const [uploadedImages, setUploadedImages] = useState([]);\n const [flag, setFlag] = useState(false);\n //const [destEnvironment, setDestinationEnvironment] = useState(\"Test\");\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const contentUpload = useSelector((state) => state.contentUpload);\n const {\n countries,\n years,\n year,\n language,\n destEnvironment,\n interactiveContent,\n visualContent,\n DRGContent,\n grouperContent,\n isReRender\n } = contentUpload;\n\n useEffect(() => {\n dispatch(getCountries({ method: \"GET\" }));\n dispatch(setYearsArray());\n if (props.tab == \"interactive\") {\n let url =\n \"api/GetInteractiveFrontPageContent?language=\" +\n \"en\" +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getInteractiveContent({ url: url, method: \"GET\" }));\n } else if (props.tab == \"viewer\") {\n let url =\n \"api/GetVisualFrontPageContent?language=\" + \"en\" + \"&year=\" + year + \"&destEnvironment=\" + destEnvironment + \"\";\n dispatch(getVisualContent({ url: url, method: \"GET\" }));\n }\n else if (props.tab == \"DRG\") {\n let url =\n \"api/GetDRGFrontPageContent?language=\" + \"en\" + \"&year=\" + year + \"&destEnvironment=\" + destEnvironment + \"\";\n dispatch(getDRGContent({ url: url, method: \"GET\" }));\n }\n else if (props.tab == \"grouper\") {\n let url =\n \"api/GetGrouperFrontPageContent?language=\" + \"en\" + \"&year=\" + year + \"&destEnvironment=\" + destEnvironment + \"\";\n dispatch(getGrouperContent({ url: url, method: \"GET\" }));\n }\n }, []);\n\n useEffect(() => {\n if (props.tab == \"interactive\") {\n setUpEditor(interactiveContent);\n } else if (props.tab == \"viewer\") {\n setUpEditor(visualContent);\n } else if (props.tab == \"DRG\") {\n setUpEditor(DRGContent);\n } else if (props.tab == \"grouper\") {\n setUpEditor(grouperContent);\n }\n }, [interactiveContent, visualContent, DRGContent, grouperContent, isReRender]);\n\n useEffect(() => {\n if (flag) {\n console.log(\"test\", convertToRaw(editorState.getCurrentContent()));\n const message = draftToHtml(convertToRaw(editorState.getCurrentContent()));\n console.log(message);\n dispatch(updateContent({ content: message, tab: props.tab }));\n }\n }, [editorState]);\n\n const handleYearChange = (e) => {\n dispatch(setYear(e.target.value));\n var lang = \"\";\n if (language == \"2\") {\n lang = \"dk\";\n } else {\n lang = \"en\";\n }\n if (props.tab == \"interactive\") {\n let url =\n \"api/GetInteractiveFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n e.target.value +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n console.log(\"Calling getInteractiveContent:\", url);\n dispatch(getInteractiveContent({ url: url, method: \"GET\" }));\n } else if (props.tab == \"viewer\") {\n let url =\n \"api/GetVisualFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n e.target.value +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getVisualContent({ url: url, method: \"GET\" }));\n } else if (props.tab == \"DRG\") {\n let url =\n \"api/GetDRGFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n e.target.value +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getDRGContent({ url: url, method: \"GET\" }));\n } else if (props.tab == \"grouper\") {\n let url =\n \"api/GetGrouperFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n e.target.value +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getGrouperContent({ url: url, method: \"GET\" }));\n }\n };\n\n const handlEnvironmentChange = (e) => {\n dispatch(setDestEnvironment(e.target.value));\n var lang = \"\";\n if (language == \"2\") {\n lang = \"dk\";\n } else {\n lang = \"en\";\n }\n if (props.tab == \"interactive\") {\n let url =\n \"/api/GetInteractiveFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n e.target.value +\n \"\";\n dispatch(getInteractiveContent({ url: url, method: \"GET\" }));\n } else if (props.tab == \"viewer\") {\n let url =\n \"/api/GetVisualFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n e.target.value +\n \"\";\n dispatch(getVisualContent({ url: url, method: \"GET\" }));\n }\n else if (props.tab == \"DRG\") {\n let url =\n \"/api/GetDRGFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n e.target.value +\n \"\";\n dispatch(getDRGContent({ url: url, method: \"GET\" }));\n }\n else if (props.tab == \"grouper\") {\n let url =\n \"/api/GetGrouperFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n e.target.value +\n \"\";\n dispatch(getGrouperContent({ url: url, method: \"GET\" }));\n }\n };\n\n const handleLanguageChange = (e) => {\n dispatch(setLanguage(e.target.value));\n var lang = \"\";\n if (e.target.value == \"2\") {\n lang = \"dk\";\n } else {\n lang = \"en\";\n }\n if (props.tab == \"interactive\") {\n let url =\n \"/api/GetInteractiveFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getInteractiveContent({ url: url, method: \"GET\" }));\n } else if (props.tab == \"viewer\") {\n let url =\n \"/api/GetVisualFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getVisualContent({ url: url, method: \"GET\" }));\n }\n else if (props.tab == \"DRG\") {\n let url =\n \"/api/GetDRGFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getDRGContent({ url: url, method: \"GET\" }));\n }\n else if (props.tab == \"grouper\") {\n let url =\n \"/api/GetGrouperFrontPageContent?language=\" +\n lang +\n \"&year=\" +\n year +\n \"&destEnvironment=\" +\n destEnvironment +\n \"\";\n dispatch(getGrouperContent({ url: url, method: \"GET\" }));\n }\n };\n const setUpEditor = (serverMessage) => {\n try {\n const contentBlock = htmlToDraft(serverMessage);\n if (contentBlock) {\n const contentState = ContentState.createFromBlockArray(\n contentBlock.contentBlocks\n );\n const editorState = EditorState.createWithContent(contentState);\n setEditorState(editorState);\n } else {\n setEditorState(EditorState.createEmpty());\n }\n } catch (e) {\n setEditorState(EditorState.createEmpty());\n console.log(\"Error at setUpEditor:\", e.message);\n }\n };\n const handleEditorChange = async (state) => {\n await setEditorState(state);\n await setFlag(true);\n // const message = draftToHtml(convertToRaw(editorState.getCurrentContent()));\n // dispatch(updateContent({ content: message, tab: props.tab }));\n };\n\n const wrapperStyle = {\n border: \"1px solid #969696\",\n };\n const editorStyle = {\n padding: \"10px\",\n };\n const toolbarStyle = {\n background: \"#F2F2F2 0% 0% no-repeat padding-box\",\n border: \"1px solid #E0E0E0\",\n borderRadius: \"4px\",\n opacity: 1,\n };\n\n const _uploadImageCallBack = (file) => {\n // long story short, every time we upload an image, we\n // need to save it to the state so we can get it's data\n // later when we decide what to do with it.\n\n // Make sure you have a uploadImages: [] as your default state\n let uploadedImages = [];\n\n const imageObject = {\n file: file,\n localSrc: URL.createObjectURL(file),\n };\n\n uploadedImages.push(imageObject);\n\n setUploadedImages(uploadedImages);\n\n // We need to return a promise with the image src\n // the img src we will use here will be what's needed\n // to preview it in the browser. This will be different than what\n // we will see in the index.md file we generate.\n return new Promise((resolve, reject) => {\n resolve({ data: { link: imageObject.localSrc } });\n });\n };\n\n return (\n
\n
\n
\n \n {t(\"Global.edit\")}\n \n \n {props.tab == \"interactive\"\n ? t(\"contentUpload.interactiveContentLabel\")\n : props.tab == \"viewer\" ? t(\"contentUpload.viewerContentLabel\")\n : props.tab == \"DRG\" ? t(\"contentUpload.DRGContentLabel\")\n : t(\"contentUpload.grouperContentLabel\")}\n \n
\n
\n
\n \n {years ? (\n years.map((year) => (\n {year.text}\n ))\n ) : (\n
\n )}\n \n
\n \n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
\n )}\n \n
\n \n {t(\"contentUpload.Test\")}\n {t(\"publisher.Hearing\")}\n {t(\"publisher.Production\")}\n \n
\n
\n
\n \n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./ContentUpload.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport RichTextEditor from \"./RichTextEditor\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { clearValues, SaveContent, handleClose, resetContentUpload } from \"./contentUploadSlice\";\nimport {redirectToLogin} from \".././authentication/authenticationSlice\";\n\nexport default function ContentUpload() {\n const [value, setValue] = React.useState(\"interactive\");\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const contentUpload = useSelector((state) => state.contentUpload);\n const {\n year,\n language,\n destEnvironment,\n updatedInteractiveContent,\n updatedVisualContent,\n updatedDRGContent,\n updatedGrouperContent,\n uploadSuccess,\n uploadFailed,\n } = contentUpload;\n\n useEffect(() => {\n return (() => {\n dispatch(resetContentUpload());\n })\n }, []);\n\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n dispatch(clearValues());\n };\n\n const handleSave = (e) => {\n e.preventDefault();\n var lang;\n if (language == \"2\") {\n lang = \"dk\";\n } else {\n lang = \"en\";\n }\n let data = [];\n let url = \"\";\n if (value == \"interactive\") {\n data = [\n {\n Year: year,\n LanguageType: lang,\n Action: destEnvironment,\n LanguageValue: updatedInteractiveContent,\n },\n ];\n url = \"api/SaveInteractiveFrontPageContent\";\n dispatch(SaveContent({ url: url, body: data[0], method: \"POST\" }));\n } else if (value == \"viewer\") {\n data = [\n {\n Year: year,\n LanguageType: lang,\n Action: destEnvironment,\n LanguageValue: updatedVisualContent,\n },\n ];\n url = \"/api/SaveVisualFrontPageContent\";\n dispatch(SaveContent({ url: url, body: data[0], method: \"POST\" }));\n } else if (value == \"DRG\") {\n data = [\n {\n Year: year,\n LanguageType: lang,\n Action: destEnvironment,\n LanguageValue: updatedDRGContent,\n },\n ];\n url = \"/api/SaveDrgFrontPageContent\";\n dispatch(SaveContent({ url: url, body: data[0], method: \"POST\" }));\n } else if (value == \"grouper\") {\n data = [\n {\n Year: year,\n LanguageType: lang,\n Action: destEnvironment,\n LanguageValue: updatedGrouperContent,\n },\n ];\n url = \"/api/SaveGrouperFrontPageContent\";\n dispatch(SaveContent({ url: url, body: data[0], method: \"POST\" }));\n }\n };\n\n if(!contentUpload.isSessionValid){\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n return (\n
\n \n
\n \n {t(\"contentUpload.ContentUpload\")}\n \n \n {t(\"contentUpload.saveLabel\")}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n dispatch(handleClose())}\n >\n dispatch(handleClose())}\n severity=\"success\"\n sx={{ width: \"100%\" }}\n >\n {t(\"contentUpload.successMessage\")}\n \n \n dispatch(handleClose())}\n >\n dispatch(handleClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(\"contentUpload.errorMessage\")}\n \n \n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { styled } from \"@mui/material/styles\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport Typography from \"@mui/material/Typography\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport FolderIcon from \"@mui/icons-material/Folder\";\nimport { getAllVisual, setSelectedVisual } from \"./viewerSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function VisualSelectionTree() {\n const dispatch = useDispatch();\n const viewer = useSelector((state) => state.viewer);\n const { visualCollection, yearsCollection } = viewer;\n let id = 0;\n useEffect(() => {\n dispatch(getAllVisual({ method: \"GET\" }));\n }, []);\n const handleVisualSelection = (obj) => () => {\n dispatch(setSelectedVisual(obj));\n };\n\n return (\n }\n defaultExpandIcon={}\n defaultEndIcon={
}\n sx={{ height: \"100%\", flexGrow: 1, maxWidth: 600, width: 360 }}\n >\n {yearsCollection.map((year) => {\n return (\n a.year == year).length}\n color=\"#1a73e8\"\n bgColor=\"#e8f0fe\"\n >\n {visualCollection\n .filter((a) => a.year == year)\n .map((x) => {\n let labelDate = x.createdDate != null ? x.createdDate : \"\";\n return (\n \n );\n })}\n \n );\n })}\n \n );\n}\n","export default __webpack_public_path__ + \"static/media/PdfIcon.efbdfea2.svg\";","export default __webpack_public_path__ + \"static/media/ExcelIcon.8d1d4eae.svg\";","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport Typography from \"@mui/material/Typography\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Button from \"@mui/material/Button\";\nimport PictureAsPdfIcon from \"@mui/icons-material/PictureAsPdf\";\nimport PrintIcon from \"@mui/icons-material/Print\";\nimport GridOnIcon from \"@mui/icons-material/GridOn\";\nimport List from \"@mui/material/List\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { setModalActive, getshowTariff, setSelectedSpecification, setDRGDiagramValues } from \"./viewerSlice\";\nimport jsPDF from \"jspdf\";\nimport \"jspdf-autotable\";\nimport XLSX from \"xlsx\";\nimport PdfIcon from \"../../assets/icons/PdfIcon.svg\";\nimport ExcelIcon from \"../../assets/icons/ExcelIcon.svg\";\nimport Currency from 'react-currency-formatter';\nimport Link from \"@mui/material/Link\";\n\nexport default function NodeModal() {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.viewer);\n const {\n groupCode,\n groupCodeValue,\n dataForModalDialog,\n modalActive,\n selectedVisualID,\n isShowTariff,\n menuItems,\n selectedSpecification,\n subCode,\n visualMenuCollection,\n } = viewer;\n const [items, setItems] = useState(dataForModalDialog?.groupCodeInfo);\n const [date, setDate] = useState(\"\");\n const [mdcDescription, setMdcDescription] = useState(\"\");\n const {language} = useSelector((state) => state.language);\n\n\n const handleClose = () => {\n dispatch(setModalActive(false));\n };\n\n const saveAsPDF = () => {\n // initialize jsPDF\n const doc = new jsPDF();\n // define the columns we want and their titles\n const tableColumn = [language == \"dk\" ?\"Kode\" : \"Code\" , language == \"dk\" ?\"Beskrivelse\": \"Description\"];\n // define an empty array of rows\n const tableRows = [];\n items.forEach((item) => {\n const dataToPrint = [item.code, item.desc];\n tableRows.push(dataToPrint);\n });\n //doc.setFont(\"Montserrat\");\n doc.setFontSize(14);\n //title. and margin-top + margin-left\n doc.text(groupCodeValue, 14, 15);\n // startY is margin-top\n doc.autoTable(tableColumn, tableRows, { startY: 20 });\n doc.save(`VisualDRG.pdf`);\n };\n\n const exportToExcel = () => {\n const workSheet = XLSX.utils.json_to_sheet(items);\n const workBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(workBook, workSheet, \"exportedData\");\n //Buffer\n let buf = XLSX.write(workBook, { bookType: \"xlsx\", type: \"buffer\" });\n //Binary string\n XLSX.write(workBook, { bookType: \"xlsx\", type: \"binary\" });\n //Download\n XLSX.writeFile(workBook, \"VisualDRG-Excel.xlsx\");\n };\n\n const handlePrint = () => {\n let popupWin;\n let printContentBody = document.getElementById(\"generateTable\").innerHTML;\n popupWin = window.open(\"\", \"_blank\");\n popupWin.document.open();\n popupWin.document.write(`\n \n \n

${date}

\n Visual DRG\n \n \n
\n

${groupCodeValue}

\n
\n \n \n
\n ${printContentBody}\n
\n \n `);\n popupWin.document.close();\n };\n\n useEffect(() => {\n dispatch(getshowTariff({ visualID: selectedVisualID, method: \"GET\" }));\n var today = new Date();\n var dd = today.getDate();\n var mm = today.getMonth() + 1;\n var yyyy = today.getFullYear();\n setDate(dd + \"/\" + mm + \"/\" + yyyy);\n }, []);\n\n const requestSearch = (event) => {\n const filteredItems = dataForModalDialog?.groupCodeInfo.filter((item) => {\n return (\n item.code?.toLowerCase().includes(event.target.value?.toLowerCase()) ||\n item.desc?.toLowerCase().includes(event.target.value?.toLowerCase())\n );\n });\n setItems(filteredItems);\n };\n\n const drgDescClick = (drg, desc) => {\n // dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n // dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n dispatch(setModalActive(false));\n var link = 0;\n var mdcCode = desc.substring(0, 2);\n var regel = drg.code.replace(\"REGEL\", \"\").trim();\n if ((desc.includes(\"EX\")) && (mdcCode >= 1 && mdcCode <= 27)) link = 2;\n else if (mdcCode > 27) link = 1;\n else if (mdcCode >= 1 && mdcCode <= 27) link = 1;\n else link = 3;\n var selectedSpecification = visualMenuCollection.filter(\n (a) => a.name == mdcCode\n );\n var result = selectedSpecification.map(obj => ({ ...obj, language: language }));\n dispatch(setSelectedSpecification(result[0]));\n let view = \"\";\n if (link == 2) {\n view = \"AdvancedView\";\n } else {\n view = \"SimpleView\";\n }\n dispatch(\n setDRGDiagramValues({ view: view, search: subCode, regel: regel })\n );\n };\n\n function showPriceInfo() {\n if (dataForModalDialog?.priceInfo?.length > 0) {\n var mdcDescription = \"\";\n var linkGroupCode = [];\n let formattedData = \"\";\n var mdcCode = dataForModalDialog?.groupCodeHeader.substring(0, 2);\n if (mdcCode > 27) {\n mdcDescription = menuItems[1][\"value\"].filter(\n (a) => a.name == mdcCode\n )[0].value;\n } else {\n mdcDescription = menuItems[0][\"value\"].filter(\n (a) => a.name == mdcCode\n )[0].value;\n }\n\n var codeInfo = dataForModalDialog?.groupCodeInfo;\n // for (let i = 0; i < codeInfo?.length; i++) {\n // formattedData =\n // codeInfo[i].desc.split(\" / \")[0] + \" - \" + mdcDescription;\n // let count = codeInfo[i].desc.split(\" / \").length;\n // for (let j = 1; j < count; j++) {\n // if (codeInfo[i].desc.split(\" / \")[j] != \"\") {\n // formattedData =\n // formattedData + \" / \" + codeInfo[i].desc.split(\" / \")[j];\n // }\n // }\n // linkGroupCode.push({\n // code: codeInfo[i].code,\n // desc: formattedData,\n // });\n // }\n for (let i = 0; i < codeInfo ?.length; i++) {\n var descCollection = [];\n descCollection.push({\n id: 1,\n formattedData:\n codeInfo[i].desc.split(\" / \")[0] + \" - \" + mdcDescription,\n item: codeInfo[i],\n linkValue: codeInfo[i].desc.split(\" / \")[0],\n });\n let count = codeInfo[i].desc.split(\" / \").length;\n for (let j = 1; j < count; j++) {\n if (codeInfo[i].desc.split(\" / \")[j] != \"\") {\n descCollection.push({\n id: j + 1,\n formattedData: codeInfo[i].desc.split(\" / \")[j],\n item: codeInfo[i],\n linkValue: codeInfo[i].desc.split(\" / \")[j],\n });\n }\n }\n linkGroupCode.push({\n id: i,\n item: codeInfo[i],\n code: codeInfo[i].code,\n desc: descCollection,\n });\n }\n console.log(\"linkGroupCode in NodeModal\",linkGroupCode );\n return (\n
\n \n {dataForModalDialog?.priceInfo.map((x) => {\n let infoText;\n if (x.code == \"Takst\") {\n infoText = t(\"viewer.tariff\");\n } else if (x.code == \"Trimpunkt\") {\n infoText = t(\"viewer.averageStay\");\n } else if (x.code == \"Langliggertakst\") {\n infoText = t(\"viewer.thresholdRate\");\n }\n return (\n
\n \n \n : \"\"}\n />\n \n
\n );\n })}\n \n \n {t(\"Global.Total_Rules\")} : {linkGroupCode?.length}\n \n {/* \n {linkGroupCode?.map((x) => {\n return (\n
\n \n \n\n \n \n
\n );\n })}\n */}\n \n {linkGroupCode.map((row) => {\n return (\n \n \n \n \n );\n })}\n
\n {/* {\n handleRegelClick(row.item);\n }}\n >\n {row.code}\n */}\n \n \n {row.desc.map((a) => {\n return (\n <>\n {\n drgDescClick(a.item, a.linkValue);\n }}\n >\n {a.formattedData}\n \n { row.desc.indexOf(a) < row.desc.length - 1 && (   /  )}\n \n );\n })}\n
\n
\n );\n } else {\n return (\n
\n \n {items?.map((x) => {\n return (\n
\n \n \n \n \n
\n );\n })}\n \n
\n );\n }\n }\n\n return (\n
\n \n \n
\n
\n \n {groupCodeValue}\n \n
\n
\n \n {\" \" +\n t(\"Global.total_codes\") + \" : \" +\n dataForModalDialog?.groupCodeInfo?.length}\n \n \n {\" \"}\n {/* */}\n \n \n \n {\" \"}\n {/* */}\n \n \n \n {\" \"}\n \n \n\n \n \n \n
\n
\n
\n \n {dataForModalDialog?.priceInfo!= null? (\"\") : (\n ,\n }}\n />\n )}\n {showPriceInfo()}\n \n \n
\n \n {items?.map((x) => {\n return (\n \n \n \n \n );\n })}\n
\n {x.code}        \n {x.desc}
\n
\n
\n );\n}\n","\nimport * as go from 'gojs';\nimport { ReactDiagram } from 'gojs-react';\nimport * as React from 'react';\nimport { DiagramProps } from './viewerModel'\nimport './Diagram.css';\nimport \"./Viewer.css\";\nimport Modal from 'react-modal';\nimport { store } from \"../../app/store\";\nimport { testCall, saveCodeValues, getDRGPriceJSON, getMetadataForLogicName, getDRGPopUpJSON, getMDCGroupCodeJSON, getGroupCodeJSON, setModalActive } from \"./viewerSlice\";\nimport NodeModal from './NodeModal';\nimport SearchIcon from '@mui/icons-material/Search';\nimport TextField from '@mui/material/TextField';\nimport Typography from \"@mui/material/Typography\";\nimport ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';\nimport ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport TableRow from \"@mui/material/TableRow\";\nimport VisibilityIcon from '@mui/icons-material/Visibility';\nimport { styled } from '@mui/material/styles';\nimport ArrowForwardIosSharpIcon from '@mui/icons-material/ArrowForwardIosSharp';\nimport MuiAccordion from '@mui/material/Accordion';\nimport MuiAccordionSummary from '@mui/material/AccordionSummary';\nimport MuiAccordionDetails from '@mui/material/AccordionDetails';\nimport CancelRoundedIcon from '@mui/icons-material/CancelRounded';\nimport { withTranslation } from 'react-i18next';\n\nconst customStyles = {\n content: {\n top: '13%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n zIndex: 1,\n position: 'absolute',\n background: 'lightYellow',\n border: '1px solid'\n },\n};\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n '&:not(:last-child)': {\n borderBottom: 0,\n },\n '&:before': {\n display: 'none',\n },\n}));\n\nconst AccordionSummary = styled((props) => (\n }\n {...props}\n />\n))(({ theme }) => ({\n backgroundColor:\n theme.palette.mode === 'dark'\n ? 'rgba(255, 255, 255, .05)'\n : 'rgba(0, 0, 0, .03)',\n flexDirection: 'row-reverse',\n '& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {\n transform: 'rotate(90deg)',\n },\n '& .MuiAccordionSummary-content': {\n marginLeft: theme.spacing(1),\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: '1px solid rgba(0, 0, 0, .125)',\n}));\n\n\nclass DiagramWrapper extends React.Component {\n /**\n * Ref to keep a reference to the Diagram component, which provides access to the GoJS diagram via getDiagram().\n */\n diagramRef;\n searchNodesArray = [];\n myDiagram;\n myWholeModel;\n state;\n popupText = \"\";\n\n /** @internal */\n constructor(props) {\n super(props);\n this.state = {\n searchValue: '',\n modalIsOpen: false,\n setIsOpen: false,\n metadataCollection: [],\n groupCode: '',\n groupCodeValue: '',\n tableData: [],\n page: 0,\n rowsPerPage: 5,\n expanded: \"Show\",\n regelValue: this.props.regelValue,\n searchVal: this.props.searchValue\n };\n this.updateInputValue = this.updateInputValue.bind(this);\n this.showModalDialog = this.showModalDialog.bind(this);\n this.closeModal = this.closeModal.bind(this);\n this.diagramRef = React.createRef();\n }\n\n componentDidMount() {\n this.invokeSearch(this);\n let value;\n store.subscribe(function () {\n let state = store.getState();\n value = state.viewer;\n if (!value.modalActive) {\n var btn = document.getElementById(\"mdCloseBtn\");\n if (btn != null) {\n btn.click();\n }\n }\n });\n\n }\n\n /**\n * Diagram initialization method, which is passed to the ReactDiagram component.\n * This method is responsible for making the diagram and initializing the model, any templates,\n * and maybe doing other initialization tasks like customizing tools.\n * The model's data should not be set here, as the ReactDiagram component handles that.\n */\n initDiagram() {\n const $ = go.GraphObject.make;\n\n function showMessage(str, groupcode, yellowbox, groupCodeVal) {\n\n if (!yellowbox) {\n document.getElementById(\"inputEventsMsg\").textContent = groupcode;\n document.getElementById(\"infoBoxHolder\").textContent = groupCodeVal;\n // console.log(groupCodeVal);\n var btn = document.getElementById(\"mdBtn\");\n if (btn != null) {\n btn.click();\n }\n }\n }\n\n\n function OffsetLink() {\n go.Link.call(this);\n }\n go.Diagram.inherit(OffsetLink, go.Link);\n OffsetLink.prototype.computeMidOrthoPosition = function (\n fromX,\n fromY,\n toX,\n toY,\n vertical\n ) {\n if (vertical) return toY - 15;\n return go.Link.prototype.computeMidOrthoPosition.call(\n this,\n fromX,\n fromY,\n toX,\n toY,\n vertical\n );\n };\n\n go.Shape.defineFigureGenerator(\"TipOutline\", function (sh, w, h) {\n var alen = 10; // horizontal length of pointer\n var t = h / 8; // breadth (height) of pointer\n var geo = new go.Geometry()\n .add(new go.PathFigure(0, 0, true, true) // filled and shadowed\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, 0))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h / 2 - t))\n .add(new go.PathSegment(go.PathSegment.Line, w, h / 2))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h / 2 + t))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h))\n .add(new go.PathSegment(go.PathSegment.Line, 0, h).close()));\n geo.spot2 = new go.Spot(1, 1, -alen, 0); // content should not overlap right side\n return geo;\n });\n // set your license key here before creating the diagram: go.Diagram.licenseKey = \"...\";\n //go.Diagram.licenseKey = \"73f14fe5b00537c702d90776423d6af919a475609b8417a30b0446f6ef083f1c249cee7101d6d8c6d1fc1efb4f7fc7cbcdc3617ac24c556be76583de47e284a9b73275bb15084788f4032ec5c9f82ef2ab7c79a596b77ea58a2d8ca7ecadc2cc0efae3d21d9a08bb7b280723467dae49b7e4d964fa03\";\n //go.Diagram.licenseKey =\n // \"2bf843e4b76658c511d35a25403e7efb0fab2d3bcf804df7590417a3ec0a3d12229dbd2b51d38cc1d2ab49f81974908dd9c53e7c944f033bb231868e47b6d5ffb63372b315581789f70122c68bea2da9af2d71f791e620a2d87e8cf6e2acc6cb55ebf7d44e9a0aeb2e2d04630676ab4be2f8da7ffe50994f3e3f9da4a9eaab4cfb697280ceec0781eb5977d8baeaa60c247405cf3ca82ca61b6411d9cc43e92be460eca88839\";\n go.Diagram.licenseKey = \"2bf843e4b76658c511d35a25403f7efb0fab2d3bcf804df7590417a3ec0a3d12229dbd2b51d38dc1d2ab49f9086dc6d18e906979c74c516be535d3de13e783ffbb3673b212584786a25324c7caad2ea9ab2c73fbc5e522a28f7f89f3bbfad18c5abda3d248985eba3b6805305676b04ea8f8dc\";\n\n const diagram =\n $(go.Diagram,\n {\n // 'undoManager.isEnabled': true, // must be set to allow for model change listening \n // 'clickCreatingTool.archetypeNodeData': { text: 'new node', color: 'lightblue' }, \n layout: $(go.Layout,\n { isInitial: false, isOngoing: false }),\n model: $(go.GraphLinksModel,\n {\n linkKeyProperty: 'key', // IMPORTANT! must be defined for merges and data sync when using GraphLinksModel\n // positive keys for nodes\n makeUniqueKeyFunction: (m, data) => {\n let k = data.key || 1;\n while (m.findNodeDataForKey(k)) k++;\n data.key = k;\n return k;\n },\n // negative keys for links\n makeUniqueLinkKeyFunction: (m, data) => {\n let k = data.key || -1;\n while (m.findLinkDataForKey(k)) k--;\n data.key = k;\n return k;\n }\n })\n });\n\n // define a simple Node template\n diagram.nodeTemplate =\n\n $(go.Node, \"Auto\",\n { visible: true, movable: false, deletable: false, locationSpot: go.Spot.Center, alignment: go.Spot.Center, },\n { resizable: false },\n { isShadowed: true },\n {\n selectionAdornmentTemplate:\n $(go.Adornment, \"Spot\",\n $(go.Panel, \"Auto\",\n // this Adornment has a rectangular blue Shape around the selected node\n $(go.Shape, { fill: null, stroke: \"dodgerblue\", strokeWidth: 3, strokeDashArray: [4, 2] })\n , $(go.Placeholder)\n )\n\n ) // end Adornment\n },\n\n $(go.Panel, \"Horizontal\",\n {\n visible: true, alignment: go.Spot.Center, defaultAlignment: go.Spot.Center\n },\n $(go.Shape,\n { name: \"SHAPE\", visible: true, alignment: go.Spot.Center },\n new go.Binding(\"cursor\", \"cursor\"),\n new go.Binding(\"geometryString\", \"fig\"),\n new go.Binding(\"figure\", \"fig\"),\n new go.Binding(\"width\", \"width\"),\n new go.Binding(\"height\", \"height\"),\n new go.Binding(\"fill\", \"color\"),\n new go.Binding(\"stroke\", \"isHighlighted\", function (h) { return h ? \"#0d0033\" : \"black\"; }).ofObject(),\n //new go.Binding(\"strokeWidth\", \"isHighlighted\", function(h) { return h ? 2 : 0 }).ofObject(),\n new go.Binding(\"strokeDashArray\", \"isHighlighted\", function (h) { return h ? [4, 2] : [0, 0]; }).ofObject())\n ),\n new go.Binding(\"position\", \"bounds\", function (b) { return b.position; })\n .makeTwoWay(function (p, d) { return new go.Rect(p.x, p.y, d.bounds.width, d.bounds.height); }),\n\n {\n click: function (e, obj) {\n\n\n var data = obj ?.part ?.data;\n //console.log(\"Node Data:\", data);\n showMessage(data.text, data.groupCode, data.yellowbox, data.groupCodeValue);\n // var node = myDiagram.findNodeForKey(obj.part.data.key);\n }\n },\n\n $(go.TextBlock,\n { margin: 1, font: \"normal 9px Montserrat\",stretch: go.GraphObject.Horizontal, maxSize: new go.Size(120, NaN), textAlign: \"center\", alignment: go.Spot.Center, overflow: go.TextBlock.OverflowEllipsis, maxLines: 5},\n new go.Binding(\"cursor\", \"cursor\"),\n new go.Binding(\"text\", \"text\")),\n {\n toolTip:\n // myToolTip\n $(go.Adornment, \"Spot\",\n new go.Binding(\"visible\", \"tooltip\", function (t, obj) { return (t.length >= 0 && obj.data.leafnode) }),\n { isShadowed: true },\n $(go.Placeholder),\n $(go.Panel, \"Auto\",\n { alignment: go.Spot.TopLeft, alignmentFocus: go.Spot.TopRight, minSize: new go.Size(140, NaN) },\n $(go.Shape, \"TipOutline\",\n { fill: \"white\", stroke: \"gray\", strokeWidth: 0.5, shadowVisible: true }),\n $(go.Panel, \"Table\",\n $(go.RowColumnDefinition, { row: 0, background: \"#F2F1EC\" }),\n $(go.TextBlock,\n { row: 0, margin: 10, stretch: go.GraphObject.Horizontal, font: \"normal 12px Montserrat\", textAlign: \"left\", minSize: new go.Size(140, NaN) },\n new go.Binding(\"text\", \"rownumber\")),\n $(go.TextBlock,\n { row: 1, margin: 10, alignment: go.Spot.Left, font: \"normal 12px Montserrat\", textAlign: \"left\", minSize: new go.Size(140, NaN), visible: false },\n new go.Binding(\"text\", \"tooltip\"),\n new go.Binding(\"visible\", \"tooltip\", function (t) { return !!t; })\n )\n )\n ),\n )\n\n }\n );\n\n // relinking depends on modelData\n diagram.linkTemplate =\n\n $(OffsetLink,\n { routing: go.Link.Orthogonal, corner: 10 },\n // { fromSpot: go.Spot.Bottom, toSpot: go.Spot.Top },\n new go.Binding(\"fromSpot\", \"fromSpot\", go.Spot.parse),\n new go.Binding(\"toSpot\", \"toSpot\", go.Spot.parse),\n $(go.Shape),\n $(go.Shape, { toArrow: \"OpenTriangle\" })\n );\n\n return diagram;\n }\n\n // called whenever on change of search text\n async searchMyDiagram(elm, evt) {\n if (evt.target.value != null && evt.target.value != \"\") {\n await this.setState({\n searchValue: evt.target.value\n });\n elm.increment = 0;\n this.searchDiagram(elm.regel);\n if (elm.increment > this.searchNodesArray.length) elm.increment = 1;\n var inc = ++elm.increment;\n if (inc > this.searchNodesArray.length) inc = 1;\n\n //document.getElementById(\"counter\").textContent = (inc).toString() + \" of \" + this.searchNodesArray.length.toString();\n if (inc == this.searchNodesArray.length) { this.searchDiagramExtended(this.searchNodesArray.length - 1) }\n else { this.searchDiagramExtended(inc - 1); }\n }\n else if (evt.target.value == \"\") {\n this.closeSearch(this);\n }\n }\n\n searchDiagram(regel) {\n const diagram = this.diagramRef ?.current ?.getDiagram();\n var pt = diagram ?.position;\n var n = null;\n this.searchNodesArray = [];\n\n diagram ?.startTransaction(\"highlight search\");\n if (regel == \"close\") {\n diagram ?.clearHighlighteds();\n diagram ?.clearSelection();\n }\n var xpos = 0;\n var ypos = 0;\n let multipleSelectData = [];\n var ndata = this.props.nodeDataArray;\n if (regel != undefined && regel.length > 0) {\n // var regex1 = new RegExp(input.innerText, \"i\");\n // var alpha1 = diagram.findNodesByExample({regel : regex1});\n }\n else {\n\n var regex = new RegExp(this.state.searchValue, \"i\");\n multipleSelectData = diagram ?.findNodesByExample({ text: regex });\n //console.log(multipleSelectData.count);\n }\n\n for (var i = 0; i < ndata.length; i++) {\n n = ndata[i];\n if (regel != undefined && regel.length > 0 && regel != \"close\") {\n if (n.text.trim().toUpperCase().includes(this.state.searchValue.trim().toUpperCase()) && n.regel == regel) {\n //n.isSelected = true;\n this.searchNodesArray.push(n);\n }\n }\n else {\n if (n.text != undefined && n.text != null && this.state.searchValue != undefined && this.state.searchValue != null) {\n if (n.text.trim().toUpperCase().includes(this.state.searchValue.trim().toUpperCase())) {\n //n.isSelected = true;\n this.searchNodesArray.push(n);\n }\n }\n }\n }\n if (this.searchNodesArray.length > 0) {\n var arrow = document.getElementById(\"arrows\");\n arrow.style.display = \"flex\";\n var searchresult = document.getElementById(\"searchresult\");\n searchresult.style.display = \"inline\";\n var searchresultCaption = document.getElementById(\"searchresultCaption\");\n searchresultCaption.style.display = \"inline\";\n searchresult.textContent = \"Result:\" + this.searchNodesArray.length;\n searchresult.textContent = this.searchNodesArray.length;\n // var btnview = document.getElementById(\"btnview\");\n var searchCounter = document.getElementById(\"counter\");\n searchCounter.style.display = \"inline\";\n var inc = 1;\n document.getElementById(\"counter\").textContent = (inc).toString() + \" of \" + this.searchNodesArray.length.toString();\n // btnview.style.display = \"block\";\n if (regel != undefined && regel.length > 0 && regel != \"close\") {\n n = this.searchNodesArray[0];\n xpos = n.bounds.x;\n ypos = n.bounds.y;\n diagram.position = new go.Point(Math.floor(xpos), Math.floor(ypos));\n diagram.select(diagram ?.findNodeForKey(n.key));\n }\n else\n //diagram.selectCollection(multipleSelectData);\n diagram ?.highlightCollection(multipleSelectData);\n }\n diagram ?.commitTransaction(\"highlight search\");\n this.searchTable();\n }\n\n // called by search previous & next button click\n searchDiagramExtended(increment) {\n const diagram = this.diagramRef.current ?.getDiagram();\n var n = null;\n diagram ?.startTransaction(\"highlight search\");\n var xpos = 0;\n var ypos = 0;\n if (this.state.searchValue) {\n if (this.searchNodesArray.length > 0) {\n for (var i = increment; i <= this.searchNodesArray.length; i++) {\n n = this.searchNodesArray[i];\n //console.log(n);\n // n.isSelected = true;\n xpos = n.bounds.x;\n ypos = n.bounds.y;\n diagram.position = new go.Point(Math.floor(xpos), Math.floor(ypos));\n diagram ?.select(diagram ?.findNodeForKey(n.key));\n break;\n }\n }\n }\n else { // empty string only clears highlighteds collection\n diagram ?.clearHighlighteds();\n }\n diagram ?.commitTransaction(\"highlight search\");\n }\n\n searchDiagramNext(elm) {\n if (elm.increment > this.searchNodesArray.length) elm.increment = 1;\n var inc = ++elm.increment;\n if (inc > this.searchNodesArray.length) inc = 1;\n document.getElementById(\"counter\").textContent = (inc).toString() + \" of \" + this.searchNodesArray.length.toString();\n if (inc == this.searchNodesArray.length) { this.searchDiagramExtended(this.searchNodesArray.length - 1) }\n else { this.searchDiagramExtended(inc - 1); }\n document.getElementById(\"counter\").style.display = \"inline\";\n }\n\n searchDiagramPrevious(elm) {\n if (elm.increment == 0) elm.increment = this.searchNodesArray.length + 1;\n if (elm.increment > this.searchNodesArray.length) elm.increment = this.searchNodesArray.length;\n var inc = --elm.increment;\n if (elm.increment == 0) inc = this.searchNodesArray.length;\n if (inc < 1) inc = 0;\n document.getElementById(\"counter\").textContent = (inc).toString() + \" of \" + this.searchNodesArray.length.toString();\n if (inc == this.searchNodesArray.length) { this.searchDiagramExtended(this.searchNodesArray.length - 1) }\n else { this.searchDiagramExtended(inc - 1); }\n document.getElementById(\"counter\").style.display = \"inline\";\n }\n\n closeSearch(elm) {\n this.searchDiagram('close');\n document.getElementById(\"arrows\").style.display = \"none\";\n document.getElementById(\"searchresult\").style.display = \"none\";\n document.getElementById(\"counter\").style.display = \"none\";\n document.getElementById(\"searchresultCaption\").style.display = \"none\";\n elm.searchvalue = ' ';\n elm.searchvalue = null;\n this.setState({\n searchValue: '',\n tableData: [],\n page: 0,\n rowsPerPage: 5,\n expanded: \"Show\",\n searchVal: '',\n regelValue: ''\n });\n }\n\n updateInputValue(evt) {\n this.setState({\n searchValue: evt.target.value\n });\n }\n\n searchTable() {\n var tablearray = [];\n for (var i = 0; i < this.searchNodesArray.length; i++) {\n var n = this.searchNodesArray[i];\n let group = \"\";\n if (n.leafnode) {\n group = \"CasemixGroup\"\n }\n else {\n group = n.groupCodeText;\n }\n let trvalue = {\n code: n.text.trim().split(\" \")[0],\n desc:\n n.text.trim() + \" / \" + n.groupCodeText + \" / \" + n.DiagramRelation,\n leafnode: n.leafnode,\n group: group,\n description: n.text.trim(),\n rule: n.regel,\n id: i\n };\n tablearray.push(trvalue);\n }\n this.setState({\n tableData: tablearray\n });\n }\n handleChangePage = (event, newPage) => {\n this.setState({\n page: newPage\n });\n\n };\n handleChangeRowsPerPage = (event) => {\n this.setState({\n rowsPerPage: parseInt(event.target.value, 10),\n page: 0\n });\n\n };\n toggleResultsPanel = (event) => {\n if (this.state.expanded == \"Hide\") {\n this.setState({ expanded: \"Show\" });\n } else {\n this.setState({ expanded: \"Hide\" });\n }\n\n }\n\n invokeSearch(elm) {\n\n if (this.state.searchVal != \"\" && this.state.regelValue != \"\") {\n this.setState({\n searchValue: this.state.searchVal,\n expanded: \"Hide\"\n });\n elm.increment = 0;\n this.searchDiagram(this.state.regelValue);\n if (elm.increment > this.searchNodesArray.length) elm.increment = 1;\n var inc = ++elm.increment;\n if (inc > this.searchNodesArray.length) inc = 1;\n if (inc == this.searchNodesArray.length) { setTimeout(() => { this.searchHighlighter(this.searchNodesArray.length - 1); }, 3000); }\n else { setTimeout(() => { this.searchHighlighter(inc - 1); }, 3000); }\n\n }\n }\n searchHighlighter(increment) {\n const diagram = this.diagramRef.current ?.getDiagram();\n var n = null;\n diagram ?.startTransaction(\"highlight search\");\n var xpos = 0;\n var ypos = 0;\n if (this.state.searchVal != \"\") {\n if (this.searchNodesArray.length > 0) {\n for (var i = increment; i <= this.searchNodesArray.length; i++) {\n n = this.searchNodesArray[i];\n //console.log(n);\n // n.isSelected = true;\n xpos = n.bounds.x;\n ypos = n.bounds.y;\n diagram.position = new go.Point(Math.floor(xpos), Math.floor(ypos));\n diagram ?.select(diagram ?.findNodeForKey(n.key));\n break;\n }\n }\n }\n else { // empty string only clears highlighteds collection\n diagram ?.clearHighlighteds();\n }\n diagram ?.commitTransaction(\"highlight search\");\n }\n\n render() {\n const { t } = this.props;\n return (\n
\n
\n
\n this.searchMyDiagram(this, e)}\n sx={{ width: \"100%\" }}\n InputProps={{\n startAdornment: (\n \n ),\n endAdornment: (\n this.closeSearch(this)} />\n ),\n }}\n />\n\n \n Total:\n \n\n \n\n
\n
\n\n \n {t(\"viewer.navigate\")} to  \n\n \n    \n this.searchDiagramPrevious(this)} />\n this.searchDiagramNext(this)} />\n\n\n
\n
\n\n < Accordion expanded={this.state.expanded == \"Hide\"} onChange={this.toggleResultsPanel} >\n \n {this.state.expanded == \"Hide\"? t(\"viewer.hide\") : t(\"viewer.show\")} {t(\"viewer.result\")}\n \n \n\n \n \n \n \n \n {t(\"viewer.group\")}\n \n \n {t(\"viewer.description\")}\n \n \n {t(\"viewer.rule\")}\n \n \n {t(\"viewer.view\")}\n \n\n \n \n\n \n {this.state.tableData\n .slice(this.state.page * this.state.rowsPerPage, this.state.page * this.state.rowsPerPage + this.state.rowsPerPage)\n .map((row) => {\n return (\n \n \n {row.group}\n \n \n {row.description}\n \n \n {row.rule}\n \n \n this.searchDiagramExtended(row.id)} />\n \n\n \n );\n })}\n \n\n
\n \n
\n
\n \n

\n
\n \n
\n
\n \n \n\n {this.state.modalIsOpen ? : null}\n
\n\n
\n\n );\n }\n\n showModalDialog() {\n this.popupText = \"\";\n var t = document.getElementById(\"infoBoxHolder\");\n if (t != undefined && t != null) {\n this.popupText = t.textContent;\n }\n var groupCode = document.getElementById(\"inputEventsMsg\").textContent;\n var groupCodeValue = document.getElementById(\"infoBoxHolder\").textContent;\n var fields = groupCodeValue ?.trim().split(\" \");\n var subCode = fields[0].replace(\"-\", \"\");\n\n store.dispatch(saveCodeValues({ groupCode: groupCode, groupCodeValue: groupCodeValue, subCode: subCode }));\n if (\n subCode.includes(\"AK\") ||\n subCode.includes(\"HJ\") ||\n subCode.includes(\"OP\") ||\n subCode.includes(\"PR\") ||\n subCode.includes(\"SP\") ||\n subCode.includes(\"TE\") ||\n subCode.includes(\"MP\") ||\n subCode.includes(\"MA\") ||\n subCode.includes(\"UA\")\n ) {\n store.dispatch(getDRGPriceJSON()).then(() => {\n store.dispatch(getMetadataForLogicName()).then(() => {\n store.dispatch(getDRGPopUpJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n })\n });\n }\n else {\n store.dispatch(getMetadataForLogicName()).then(() => {\n if (\n groupCode == \"MDC\" ||\n groupCode == \"mdc\"\n ) {\n store.dispatch(getMDCGroupCodeJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n } else {\n store.dispatch(getGroupCodeJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n }\n })\n }\n }\n\n closeModal() {\n this.setState({ modalIsOpen: false });\n }\n}\n\nexport default withTranslation(\"language\")(DiagramWrapper);\n\n\n","/*\n * Copyright (C) 1998-2021 by Northwoods Software Corporation. All Rights Reserved.\n */\n\nimport * as go from \"gojs\";\nimport * as React from \"react\";\nimport DiagramWrapper from \"./DiagramWrapper\";\nimport { DiagramState, node, link } from \"./viewerModel\";\nimport \"./Diagram.css\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\n\n// export interface DiagramBaseProps {\n// dataForGoJs;\n// searchValue?: string;\n// regelValue?: string;\n// }\nexport class DiagramBase extends React.Component {\n nodearr = [];\n linkarr = [];\n nodeIgnoreText = \"Not allowed\";\n\n constructor(props) {\n super(props);\n this.state = {\n nodeDataArray: this.nodearr,\n linkDataArray: this.linkarr,\n modelData: {\n canRelink: true\n },\n selectedData: null,\n skipsDiagramUpdate: false,\n dataLoaded: false\n };\n }\n\n componentDidMount() {\n\n //console.log(\"dataForGoJs:\", this.props.dataForGoJs);\n var nodeDataArray = JSON.parse(this.props.dataForGoJs.shapeData);\n var linkDataArray = JSON.parse(this.props.dataForGoJs.linkData);\n nodeDataArray.forEach((element) => {\n var nodeText = \"\";\n var cursorType = \"default\";\n if (element.text.length > 80) {\n nodeText = element.text.substring(0, 80) + \"...\";\n } else {\n nodeText = element.text;\n }\n if (element.text.trim().startsWith(\"-\")) {\n nodeText = nodeText.trim().substr(1);\n nodeText = nodeText + \" \" + this.nodeIgnoreText;\n }\n if (element.leafnode == true) {\n var firstSpaceIndex = nodeText.indexOf(\" \");\n var firstWord = nodeText.substring(0, firstSpaceIndex + 1) + \"\\n\";\n var restWords = nodeText.substring(firstSpaceIndex + 1);\n nodeText = firstWord + restWords;\n }\n if (element.yellowbox == false) {\n cursorType = \"pointer\";\n }\n let n = {\n key: element.key,\n text: nodeText,\n bounds: new go.Rect(element.xloc, element.yloc, 160, 100),\n color: element.color,\n fig: element.fig,\n width: element.width,\n height: element.height,\n groupCode: element.groupCode,\n regel: element.rownumber,\n tooltip: element.tooltip,\n yellowbox: element.yellowbox,\n leafnode: element.leafnode,\n rownumber: \"Regel:\" + element.rownumber,\n cursor: cursorType,\n groupCodeValue: element.text,\n loc: new go.Point(element.xloc, element.yloc),\n groupCodeText: element.groupCodeText\n };\n this.nodearr.push(n);\n });\n linkDataArray.forEach((element) => {\n let l = {\n from: element.from,\n to: element.to,\n routing: go.Link.Orthogonal,\n fromSpot: element.fromSpot,\n toSpot: element.toSpot\n };\n this.linkarr.push(l);\n });\n\n this.setState({ dataLoaded: true });\n\n }\n\n render() {\n if (!this.state.dataLoaded) {\n return (\n
\n \n
\n );\n }\n\n return (\n
\n
\n\n
\n\n \n
\n );\n }\n}\n\n","import React, { useState, useEffect } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { getNodesJSON } from \"./viewerSlice\";\nimport { DiagramBase } from \"./DiagramBase\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\n\nexport default function ViewerDiagram(props) {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.viewer);\n const {\n metadataCollection,\n selectedVisualObj,\n selectedSpecification,\n view,\n isLoading,\n isNodeData,\n dataForGoJs,\n tabValue,\n searchValue,\n regelValue,\n showDRGDiagram,\n } = viewer;\n\n useEffect(() => {\n console.log(\"isLoading:\", isLoading);\n console.log(\"metadataCollection:\", metadataCollection);\n if (!isLoading) {\n let name = \"\";\n let specification = \"\";\n if (selectedSpecification != null) {\n if ((selectedSpecification.groupName === \"MDC Specification\") || (selectedSpecification.groupName === \"MDC Specifikationer\")) {\n specification = \"MDC\";\n } else if ((selectedSpecification.groupName === \"Other Specification\") || (selectedSpecification.groupName === \"Øvrige Specifikationer\")) {\n specification = \"OTHER\";\n } else if (selectedSpecification.groupName === \"Type\") {\n specification = \"TYPE\";\n } else {\n specification = selectedSpecification.groupName;\n }\n name = selectedSpecification.name;\n }\n console.log(\"before dispatch - getNodesJSON \");\n dispatch(\n getNodesJSON({\n logicName: metadataCollection.DRGLogicName,\n logicVersion: metadataCollection.DRGLogicVersion,\n priceName: metadataCollection.DRGPriceName,\n priceVersion: metadataCollection.DRGPriceVersion,\n year: selectedVisualObj.year,\n specification: specification,\n mdc: name,\n viewType: view,\n method: \"GET\",\n })\n );\n }\n }, [isLoading, view, selectedSpecification?.name, showDRGDiagram]);\n\n useEffect(() => {\n console.log(\"Current Value of isNodeData:\", isNodeData);\n }, [isNodeData]);\n\n return (\n
\n {!isLoading ?(\n
\n {isNodeData ? (\n \n ) : (\n \n )}\n
\n ): null}\n
\n );\n}\n","\nimport * as go from 'gojs';\nimport { ReactDiagram } from 'gojs-react';\nimport * as React from 'react';\nimport { DiagramProps } from './viewerModel'\nimport './Diagram.css';\nimport \"./Viewer.css\";\nimport Modal from 'react-modal';\nimport { store } from \"../../app/store\";\nimport { testCall, saveCodeValues, getDRGPriceJSON, getMetadataForLogicName, getDRGPopUpJSON, getMDCGroupCodeJSON, getGroupCodeJSON, setModalActive } from \"./viewerSlice\";\nimport NodeModal from './NodeModal';\n\n\nconst customStyles = {\n content: {\n top: '13%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n zIndex: 1,\n position: 'absolute',\n background: 'lightYellow',\n border: '1px solid'\n },\n};\n\nexport class DRGDiagramWrapper extends React.Component {\n /**\n * Ref to keep a reference to the Diagram component, which provides access to the GoJS diagram via getDiagram().\n */\n diagramRef;\n searchNodesArray = [];\n myDiagram;\n myWholeModel;\n state;\n popupText = \"\";\n\n /** @internal */\n constructor(props) {\n super(props);\n this.state = {\n searchValue: '',\n modalIsOpen: false,\n setIsOpen: false,\n metadataCollection: [],\n groupCode: '',\n groupCodeValue: '',\n tableData: [],\n page: 0,\n rowsPerPage: 5,\n expanded: \"Show\",\n regelValue: this.props.regelValue,\n searchVal: this.props.searchValue\n };\n this.showModalDialog = this.showModalDialog.bind(this);\n this.closeModal = this.closeModal.bind(this);\n this.diagramRef = React.createRef();\n }\n\n componentDidMount() {\n\n let value;\n store.subscribe(function () {\n let state = store.getState();\n value = state.viewer;\n if (!value.modalActive) {\n var btn = document.getElementById(\"mdCloseBtn\");\n if (btn != null) {\n btn.click();\n }\n }\n });\n\n }\n\n /**\n * Diagram initialization method, which is passed to the ReactDiagram component.\n * This method is responsible for making the diagram and initializing the model, any templates,\n * and maybe doing other initialization tasks like customizing tools.\n * The model's data should not be set here, as the ReactDiagram component handles that.\n */\n initDiagram() {\n const $ = go.GraphObject.make;\n\n function showMessage(str, groupcode, yellowbox, groupCodeVal) {\n\n if (!yellowbox) {\n document.getElementById(\"inputEventsMsg\").textContent = groupcode;\n document.getElementById(\"infoBoxHolder\").textContent = groupCodeVal;\n // console.log(groupCodeVal);\n var btn = document.getElementById(\"mdBtn\");\n if (btn != null) {\n btn.click();\n }\n }\n }\n\n function OffsetLink() {\n go.Link.call(this);\n }\n go.Diagram.inherit(OffsetLink, go.Link);\n OffsetLink.prototype.computeMidOrthoPosition = function (\n fromX,\n fromY,\n toX,\n toY,\n vertical\n ) {\n if (vertical) return toY - 15;\n return go.Link.prototype.computeMidOrthoPosition.call(\n this,\n fromX,\n fromY,\n toX,\n toY,\n vertical\n );\n };\n\n go.Shape.defineFigureGenerator(\"TipOutline\", function (sh, w, h) {\n var alen = 10; // horizontal length of pointer\n var t = h / 8; // breadth (height) of pointer\n var geo = new go.Geometry()\n .add(new go.PathFigure(0, 0, true, true) // filled and shadowed\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, 0))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h / 2 - t))\n .add(new go.PathSegment(go.PathSegment.Line, w, h / 2))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h / 2 + t))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h))\n .add(new go.PathSegment(go.PathSegment.Line, 0, h).close()));\n geo.spot2 = new go.Spot(1, 1, -alen, 0); // content should not overlap right side\n return geo;\n });\n // set your license key here before creating the diagram: go.Diagram.licenseKey = \"...\";\n //go.Diagram.licenseKey = \"73f14fe5b00537c702d90776423d6af919a475609b8417a30b0446f6ef083f1c249cee7101d6d8c6d1fc1efb4f7fc7cbcdc3617ac24c556be76583de47e284a9b73275bb15084788f4032ec5c9f82ef2ab7c79a596b77ea58a2d8ca7ecadc2cc0efae3d21d9a08bb7b280723467dae49b7e4d964fa03\";\n // go.Diagram.licenseKey =\n //\"2bf843e4b76658c511d35a25403e7efb0fab2d3bcf804df7590417a3ec0a3d12229dbd2b51d38cc1d2ab49f81974908dd9c53e7c944f033bb231868e47b6d5ffb63372b315581789f70122c68bea2da9af2d71f791e620a2d87e8cf6e2acc6cb55ebf7d44e9a0aeb2e2d04630676ab4be2f8da7ffe50994f3e3f9da4a9eaab4cfb697280ceec0781eb5977d8baeaa60c247405cf3ca82ca61b6411d9cc43e92be460eca88839\";\n go.Diagram.licenseKey = \"2bf843e4b76658c511d35a25403f7efb0fab2d3bcf804df7590417a3ec0a3d12229dbd2b51d38dc1d2ab49f9086dc6d18e906979c74c516be535d3de13e783ffbb3673b212584786a25324c7caad2ea9ab2c73fbc5e522a28f7f89f3bbfad18c5abda3d248985eba3b6805305676b04ea8f8dc\";\n\n const diagram =\n $(go.Diagram,\n {\n // 'undoManager.isEnabled': true, // must be set to allow for model change listening \n // 'clickCreatingTool.archetypeNodeData': { text: 'new node', color: 'lightblue' }, \n layout: $(go.Layout,\n { isInitial: false, isOngoing: false }),\n model: $(go.GraphLinksModel,\n {\n linkKeyProperty: 'key', // IMPORTANT! must be defined for merges and data sync when using GraphLinksModel\n // positive keys for nodes\n makeUniqueKeyFunction: (m, data) => {\n let k = data.key || 1;\n while (m.findNodeDataForKey(k)) k++;\n data.key = k;\n return k;\n },\n // negative keys for links\n makeUniqueLinkKeyFunction: (m, data) => {\n let k = data.key || -1;\n while (m.findLinkDataForKey(k)) k--;\n data.key = k;\n return k;\n }\n })\n });\n\n // define a simple Node template\n diagram.nodeTemplate =\n\n $(go.Node, \"Auto\",\n { visible: true, movable: false, deletable: false, locationSpot: go.Spot.Center, alignment: go.Spot.Center, },\n { resizable: false },\n { isShadowed: true },\n {\n selectionAdornmentTemplate:\n $(go.Adornment, \"Spot\",\n $(go.Panel, \"Auto\",\n // this Adornment has a rectangular blue Shape around the selected node\n $(go.Shape, { fill: null, stroke: \"dodgerblue\", strokeWidth: 3, strokeDashArray: [4, 2] })\n , $(go.Placeholder)\n )\n\n ) // end Adornment\n },\n\n $(go.Panel, \"Horizontal\",\n {\n visible: true, alignment: go.Spot.Center, defaultAlignment: go.Spot.Center\n },\n $(go.Shape,\n { name: \"SHAPE\", visible: true, alignment: go.Spot.Center },\n new go.Binding(\"cursor\", \"cursor\"),\n new go.Binding(\"geometryString\", \"fig\"),\n new go.Binding(\"figure\", \"fig\"),\n new go.Binding(\"width\", \"width\"),\n new go.Binding(\"height\", \"height\"),\n new go.Binding(\"fill\", \"color\"),\n new go.Binding(\"stroke\", \"isHighlighted\", function (h) { return h ? \"#0d0033\" : \"black\"; }).ofObject(),\n //new go.Binding(\"strokeWidth\", \"isHighlighted\", function(h) { return h ? 2 : 0 }).ofObject(),\n new go.Binding(\"strokeDashArray\", \"isHighlighted\", function (h) { return h ? [4, 2] : [0, 0]; }).ofObject())\n ),\n new go.Binding(\"position\", \"bounds\", function (b) { return b.position; })\n .makeTwoWay(function (p, d) { return new go.Rect(p.x, p.y, d.bounds.width, d.bounds.height); }),\n\n {\n click: function (e, obj) {\n\n\n var data = obj?.part?.data;\n //console.log(\"Node Data:\", data);\n showMessage(data.text, data.groupCode, data.yellowbox, data.groupCodeValue);\n // var node = myDiagram.findNodeForKey(obj.part.data.key);\n }\n },\n\n $(go.TextBlock,\n { margin: 1, font: \"normal 9px Montserrat\",stretch: go.GraphObject.Horizontal, maxSize: new go.Size(120, NaN), textAlign: \"center\", alignment: go.Spot.Center, overflow: go.TextBlock.OverflowEllipsis, maxLines: 5},\n new go.Binding(\"cursor\", \"cursor\"),\n new go.Binding(\"text\", \"text\")),\n {\n toolTip:\n // myToolTip\n $(go.Adornment, \"Spot\",\n new go.Binding(\"visible\", \"tooltip\", function (t, obj) { return (t.length >= 0 && obj.data.leafnode) }),\n { isShadowed: true },\n $(go.Placeholder),\n $(go.Panel, \"Auto\",\n { alignment: go.Spot.TopLeft, alignmentFocus: go.Spot.TopRight, minSize: new go.Size(140, NaN) },\n $(go.Shape, \"TipOutline\",\n { fill: \"white\", stroke: \"gray\", strokeWidth: 0.5, shadowVisible: true }),\n $(go.Panel, \"Table\",\n $(go.RowColumnDefinition, { row: 0, background: \"#F2F1EC\" }),\n $(go.TextBlock,\n { row: 0, margin: 10, stretch: go.GraphObject.Horizontal, font: \"normal 12px Montserrat\", textAlign: \"left\", minSize: new go.Size(140, NaN) },\n new go.Binding(\"text\", \"rownumber\")),\n $(go.TextBlock,\n { row: 1, margin: 10, alignment: go.Spot.Left, font: \"normal 12px Montserrat\", textAlign: \"left\", minSize: new go.Size(140, NaN), visible: false },\n new go.Binding(\"text\", \"tooltip\"),\n new go.Binding(\"visible\", \"tooltip\", function (t) { return !!t; })\n )\n )\n )\n )\n }\n );\n\n // relinking depends on modelData\n diagram.linkTemplate =\n\n $(OffsetLink,\n { routing: go.Link.Orthogonal, corner: 10 },\n // { fromSpot: go.Spot.Bottom, toSpot: go.Spot.Top },\n new go.Binding(\"fromSpot\", \"fromSpot\", go.Spot.parse),\n new go.Binding(\"toSpot\", \"toSpot\", go.Spot.parse),\n $(go.Shape),\n $(go.Shape, { toArrow: \"OpenTriangle\" })\n );\n\n return diagram;\n }\n\n render() {\n return (\n
\n\n
\n \n
\n
\n \n \n\n {this.state.modalIsOpen ? : null}\n
\n\n
\n\n );\n }\n\n showModalDialog() {\n this.popupText = \"\";\n var t = document.getElementById(\"infoBoxHolder\");\n if (t != undefined && t != null) {\n this.popupText = t.textContent;\n }\n var groupCode = document.getElementById(\"inputEventsMsg\").textContent;\n var groupCodeValue = document.getElementById(\"infoBoxHolder\").textContent;\n var fields = groupCodeValue?.trim().split(\" \");\n var subCode = fields[0].replace(\"-\", \"\");\n\n store.dispatch(saveCodeValues({ groupCode: groupCode, groupCodeValue: groupCodeValue, subCode: subCode }));\n if (\n subCode.includes(\"AK\") ||\n subCode.includes(\"HJ\") ||\n subCode.includes(\"OP\") ||\n subCode.includes(\"PR\") ||\n subCode.includes(\"SP\") ||\n subCode.includes(\"TE\") ||\n subCode.includes(\"MP\") ||\n subCode.includes(\"MA\") ||\n subCode.includes(\"UA\")\n ) {\n store.dispatch(getDRGPriceJSON()).then(() => {\n store.dispatch(getMetadataForLogicName()).then(() => {\n store.dispatch(getDRGPopUpJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n })\n });\n }\n else {\n store.dispatch(getMetadataForLogicName()).then(() => {\n if (\n groupCode == \"MDC\" ||\n groupCode == \"mdc\"\n ) {\n store.dispatch(getMDCGroupCodeJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n } else {\n store.dispatch(getGroupCodeJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n }\n })\n }\n }\n\n closeModal() {\n this.setState({ modalIsOpen: false });\n }\n}\n\n\n","/*\n * Copyright (C) 1998-2021 by Northwoods Software Corporation. All Rights Reserved.\n */\n\nimport * as go from \"gojs\";\nimport * as React from \"react\";\nimport { DRGDiagramWrapper } from \"./DRGDiagramWrapper\";\nimport { DiagramState, node, link } from \"./viewerModel\";\nimport \"./Diagram.css\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\n\n// export interface DiagramBaseProps {\n// dataForGoJs: any;\n// }\nexport class DRGDiagramBase extends React.Component {\n nodearr = [];\n linkarr = [];\n nodeIgnoreText = \"Not allowed\";\n\n constructor(props) {\n super(props);\n this.state = {\n nodeDataArray: this.nodearr,\n linkDataArray: this.linkarr,\n modelData: {\n canRelink: true\n },\n selectedData: null,\n skipsDiagramUpdate: false,\n dataLoaded: false\n };\n }\n\n componentDidMount() {\n\n //console.log(\"dataForGoJs:\", this.props.dataForGoJs);\n var nodeDataArray = JSON.parse(this.props.dataForGoJs.shapeData);\n var linkDataArray = JSON.parse(this.props.dataForGoJs.linkData);\n nodeDataArray.forEach((element) => {\n var nodeText = \"\";\n var cursorType = \"default\";\n if (element.text.length > 80) {\n nodeText = element.text.substring(0, 80) + \"...\";\n } else {\n nodeText = element.text;\n }\n if (element.text.trim().startsWith(\"-\")) {\n nodeText = nodeText.trim().substr(1);\n nodeText = nodeText + \" \" + this.nodeIgnoreText;\n }\n if (element.leafnode == true) {\n var firstSpaceIndex = nodeText.indexOf(\" \");\n var firstWord = nodeText.substring(0, firstSpaceIndex + 1) + \"\\n\";\n var restWords = nodeText.substring(firstSpaceIndex + 1);\n nodeText = firstWord + restWords;\n }\n if (element.yellowbox == false) {\n cursorType = \"pointer\";\n }\n let n = {\n key: element.key,\n text: nodeText,\n bounds: new go.Rect(element.xloc, element.yloc, 160, 100),\n color: element.color,\n fig: element.fig,\n width: element.width,\n height: element.height,\n groupCode: element.groupCode,\n regel: element.rownumber,\n tooltip: element.tooltip,\n yellowbox: element.yellowbox,\n leafnode: element.leafnode,\n rownumber: \"Regel:\" + element.rownumber,\n cursor: cursorType,\n groupCodeValue: element.text,\n loc: new go.Point(element.xloc, element.yloc),\n groupCodeText: element.groupCodeText\n };\n this.nodearr.push(n);\n });\n linkDataArray.forEach((element) => {\n let l = {\n from: element.from,\n to: element.to,\n routing: go.Link.Orthogonal,\n fromSpot: element.fromSpot,\n toSpot: element.toSpot\n };\n this.linkarr.push(l);\n });\n\n this.setState({ dataLoaded: true });\n\n }\n\n render() {\n if (!this.state.dataLoaded) {\n return (\n
\n \n
\n );\n }\n\n return (\n
\n
\n\n
\n\n \n
\n );\n }\n}\n\n","import React, { useState, useEffect } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { DRGDiagramBase } from \"./DRGDiagramBase\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\n\nexport default function FullDiagram(props) {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.viewer);\n const { isDrgData, drgDataForGoJs } = viewer;\n\n return (\n
\n {isDrgData ? (\n \n ) : (\n \n )}\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport Divider from \"@mui/material/Divider\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport Typography from \"@mui/material/Typography\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport List from \"@mui/material/List\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Link from \"@mui/material/Link\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport Paper from \"@mui/material/Paper\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport ViewerDiagram from \"./ViewerDiagram\";\nimport DRGDiagram from \"./DRGDiagram\";\nimport Currency from 'react-currency-formatter';\nimport {\n getMetadata,\n getMetadataForLogicName,\n getDRGTypeSpecifications,\n setDRGSelected,\n getDRGPopUpJSON,\n getshowTariff,\n getDRGPriceJSON,\n setDRGLoading,\n getDRGDiagramData,\n setSelectedSpecification,\n setView,\n setDRGDiagramValues,\n getDRGTypeSpecificationsSearch,\n setResetValues,\n} from \"./viewerSlice\";\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n {labelInfo === \"Selected\" ? (\n \n ) : null}\n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function DRG() {\n const [searchValue, setSearchValue] = useState(\"\");\n const [selectedValue, setSelectedValue] = useState(\"\");\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.viewer);\n const {\n selectedVisualObj,\n selectedVisualID,\n selectedVisualName,\n selectedVisualYear,\n drgTypeTree,\n drgSpecificationsTree,\n menuItems,\n drgSelectedName,\n subCode,\n drgGroupCodeCollection,\n drgPriceInfoCollection,\n drgLoading,\n drgDataLoading,\n visualMenuCollection,\n selectedSpecification,\n view,\n showDRGDiagram,\n showRegelDiagram,\n isDRGSearch,\n drgSearchTree,\n isShowDRG,\n isShowTariff\n } = viewer;\n const { language } = useSelector((state) => state.language);\n\n useEffect(() => {\n if (selectedVisualObj) {\n dispatch(setDRGLoading({ name: \"drgLoading\", value: true }));\n dispatch(\n getMetadata({\n method: \"GET\",\n name: selectedVisualObj.visualName,\n version: selectedVisualObj.visualVersion,\n year: selectedVisualObj.year,\n })\n ).then(() => {\n dispatch(\n getMetadataForLogicName({\n method: \"GET\",\n year: selectedVisualObj.year,\n })\n ).then(() => {\n dispatch(getDRGTypeSpecifications({ method: \"GET\" })).then(() => {\n dispatch(setDRGLoading({ name: \"drgLoading\", value: false }));\n });\n });\n });\n }\n }, []);\n\n const handleSearch = (event) => {\n setSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getDRGTypeSpecificationsSearch({\n method: \"GET\",\n search: event.target.value ?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setDRGLoading({ name: \"drgSearch\", value: true }));\n });\n }\n else if (event.target.value == \"\") {\n dispatch(setDRGLoading({ name: \"sksSearch\", value: false }));\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n }\n };\n const closeSearch = () => {\n setSearchValue(\"\");\n dispatch(setDRGLoading({ name: \"drgSearch\", value: false }));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n };\n\n const handleTreeSelection = (obj) => () => {\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n setSelectedValue(obj.id);\n dispatch(setDRGSelected({ code: obj.id, name: obj.name }));\n dispatch(setDRGLoading({ name: \"drgDataLoading\", value: true }));\n dispatch(getDRGPopUpJSON()).then(() => {\n dispatch(\n getshowTariff({ visualID: selectedVisualID, method: \"GET\" })\n ).then(() => {\n dispatch(getDRGPriceJSON()).then(() => {\n dispatch(setDRGLoading({ name: \"drgDataLoading\", value: false }));\n });\n });\n });\n };\n const handleRegelClick = (drg) => {\n //console.log(\"showRegelDiagram clicked:\", drg);\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: true }));\n var regel = drg.code.replace(\"REGEL\", \"\").trim();\n var filter1 = drg.desc.split(\" / \")[0];\n var filter = filter1.substring(0, 2).trim() + \"C00\";\n var column = \"DIAGRAM1\";\n dispatch(\n getDRGDiagramData({\n method: \"GET\",\n filter: filter,\n regel: regel,\n column: column,\n })\n );\n };\n\n function displayRegelDiagram() {\n if (showRegelDiagram) {\n return ;\n } else {\n return null;\n }\n }\n\n const drgDescClick = (drg, desc) => {\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n var link = 0;\n var mdcCode = desc.substring(0, 2);\n var regel = drg.code.replace(\"REGEL\", \"\").trim();\n if ((desc.includes(\"EX\")) && (mdcCode >= 1 && mdcCode <= 27)) link = 2;\n else if (mdcCode > 27) link = 1;\n else if (mdcCode >= 1 && mdcCode <= 27) link = 1;\n else link = 3;\n var selectedSpecification = visualMenuCollection.filter(\n (a) => a.name == mdcCode\n );\n\n dispatch(setSelectedSpecification(selectedSpecification[0]));\n let view = \"\";\n if (link == 2) {\n view = \"AdvancedView\";\n } else {\n view = \"SimpleView\";\n }\n dispatch(\n setDRGDiagramValues({ view: view, search: selectedValue, regel: regel })\n );\n };\n const handleViewChange = (e) => {\n dispatch(setResetValues());\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setView(e.target.value));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: true }));\n };\n\n const handleSpecification = (event, value) => {\n // if (value ?.groupName == \"Full Logic\" || value ?.groupName == \"Komplet logik\" || value ?.groupName == \"Other Specification\" || value ?.groupName == \"Øvrige Specifikationer\" || value ?.groupName == \"Type\" ) {\n // dispatch(setView(\"SimpleView\"));\n // }\n dispatch(setView(\"SimpleView\"));\n dispatch(setResetValues());\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setSelectedSpecification(value));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: true }));\n };\n function displayDRGDiagram() {\n if (selectedSpecification != null && showDRGDiagram) {\n return (\n
\n
\n
\n \n {selectedSpecification ?.value}\n \n
\n
\n \n {t(\"viewer.simpleView\")}\n {(selectedSpecification ?.groupName == \"MDC Specification\" ||\n selectedSpecification ?.groupName == \"MDC Specifikationer\") && (\n \n {t(\"viewer.advancedView\")}\n \n )}\n \n option.groupName}\n getOptionLabel={(option) => option.displayName}\n sx={{ width: 300, paddingLeft: \"20px\" }}\n onChange={handleSpecification}\n value={selectedSpecification}\n renderInput={(params) => (\n \n )}\n />\n
\n
\n \n \n
\n );\n } else {\n return null;\n }\n }\n function generateGroupCodeTable() {\n if (drgPriceInfoCollection ?.length > 0) {\n var mdcDescription = \"\";\n var linkGroupCode = [];\n var mdcCode = subCode.substring(0, 2);\n if (menuItems.length > 0) {\n if (mdcCode > 27) {\n var tempArray = menuItems[1];\n var temp = tempArray ?.value ?.filter((a) => a.name == mdcCode)[0];\n mdcDescription = temp ?.value;\n } else {\n var tempArray = menuItems[0];\n var temp = tempArray ?.value ?.filter((a) => a.name == mdcCode)[0];\n mdcDescription = temp ?.value;\n }\n }\n\n var codeInfo = drgGroupCodeCollection;\n for (let i = 0; i < codeInfo ?.length; i++) {\n var descCollection = [];\n descCollection.push({\n id: 1,\n formattedData:\n codeInfo[i].desc.split(\" / \")[0] + \" - \" + mdcDescription,\n item: codeInfo[i],\n linkValue: codeInfo[i].desc.split(\" / \")[0],\n });\n let count = codeInfo[i].desc.split(\" / \").length;\n for (let j = 1; j < count; j++) {\n if (codeInfo[i].desc.split(\" / \")[j] != \"\") {\n descCollection.push({\n id: j + 1,\n formattedData: codeInfo[i].desc.split(\" / \")[j],\n item: codeInfo[i],\n linkValue: codeInfo[i].desc.split(\" / \")[j],\n });\n }\n }\n linkGroupCode.push({\n id: i,\n item: codeInfo[i],\n code: codeInfo[i].code,\n desc: descCollection,\n });\n }\n console.log(\"linkGroupCode in DRG.jsx\", linkGroupCode);\n return (\n
\n \n {t(\"Global.Total_Rules\")} : {drgGroupCodeCollection ?.length}\n \n \n {linkGroupCode.map((row) => {\n return (\n \n \n \n \n );\n })}\n
\n {\n handleRegelClick(row.item);\n }}\n >\n {row.code}\n \n \n {row.desc.map((a) => {\n return (\n <>\n {\n drgDescClick(a.item, a.linkValue);\n }}\n >\n {a.formattedData}\n \n {/*   /   */}\n { row.desc.indexOf(a) < row.desc.length - 1 && (   /  )}\n \n );\n })}\n
\n
\n );\n }\n }\n\n return (\n
\n {drgLoading ? (\n
\n theme.zIndex.drawer + 1,\n }}\n open={drgLoading}\n >\n \n \n
\n ) : (\n
\n \n \n ,\n endAdornment: (\n \n ),\n }}\n />\n {isDRGSearch ? (\n
\n }\n defaultExpandIcon={}\n defaultEndIcon={
}\n sx={{\n height: \"100%\",\n flexGrow: 1,\n maxWidth: \"95%\",\n width: \"95%\",\n paddingTop: \"10px\",\n }}\n >\n {drgSearchTree ?.map((b) => {\n return (\n \n );\n })}\n \n
\n ) : (\n
\n }\n defaultExpandIcon={}\n defaultEndIcon={
}\n sx={{\n height: \"100%\",\n flexGrow: 1,\n maxWidth: \"95%\",\n width: \"95%\",\n paddingTop: \"10px\",\n }}\n >\n \n {drgTypeTree ?.map((x) => {\n return (\n \n {x ?.children ?.map((b) => {\n return (\n \n );\n })}\n \n );\n })}\n \n \n {drgSpecificationsTree ?.map((x) => {\n return (\n \n {x ?.children ?.map((b) => {\n return (\n \n );\n })}\n \n );\n })}\n \n \n
\n )}\n \n \n \n \n {t(\"viewer.drg_details\")}\n \n {drgDataLoading ? (\n \n \n \n ) : (\n
\n {isShowDRG && (\n
\n \n {drgSelectedName}\n \n \n {drgPriceInfoCollection ?.map((x) => {\n let infoText;\n if (x.code == \"Takst\") {\n infoText = t(\"viewer.tariff\");\n } else if (x.code == \"Trimpunkt\") {\n infoText = t(\"viewer.averageStay\");\n } else if (x.code == \"Langliggertakst\") {\n infoText = t(\"viewer.thresholdRate\");\n }\n return (\n
\n \n \n\n : \"\"}\n />\n \n
\n );\n })}\n \n\n {generateGroupCodeTable()}\n
\n )}\n
\n )}\n
\n \n \n {displayDRGDiagram()}\n {showRegelDiagram ? displayRegelDiagram() : null}\n
\n )}\n
\n );\n}\n","import React from \"react\";\nimport \"./Viewer.css\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getMetadata,\n getMetadataForLogicName,\n getAllParentSKS,\n setChildrenNode,\n getSKSTable,\n setSKSSelected,\n setDRGLoading,\n setPagination,\n} from \"./viewerSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n /* paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n }, */\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n /* [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n }, */\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n }\n collapseIcon={}\n label={\n \n \n \n {labelText}\n \n {labelInfo === \"Selected\" ? (\n \n ) : null}\n {labelInfo === \"Selected\" ? (\n \n {labelInfo}\n \n ) : (\n \n {labelInfo}\n \n )}\n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nconst { useState, useCallback } = React;\n\nfunction MyTreeItem(props) {\n const { t, i18n } = useTranslation(\"language\");\n const [childNodes, setChildNodes] = useState(null);\n const [expanded, setExpanded] = React.useState([]);\n // const [selectedValue, setSelectedValue] = useState(\"\");\n const dispatch = useDispatch();\n const viewer = useSelector((state) => state.viewer);\n const {\n selectedVisualObj,\n sksParentCollection,\n sksChildrenCollection,\n sksSelectedId,\n } = viewer;\n const { id, name, node } = props;\n\n const handleChange = (event, nodes) => {\n console.log(\"Nodes:\", nodes);\n const expandingNodes = nodes.filter((x) => !expanded.includes(x));\n console.log(\"expandingNodes:\", expandingNodes);\n setExpanded(nodes);\n if (expandingNodes[0]) {\n const parentId = expandingNodes[0];\n if (node.hasChildren) {\n dispatch(setChildrenNode(true));\n dispatch(getAllParentSKS({ method: \"GET\", parentId: parentId })).then(\n (res) => {\n console.log(\"Res:\", res);\n\n setChildNodes(\n res?.payload?.map((node) => (\n \n ))\n );\n }\n );\n }\n }\n };\n const handleTreeSelection = (obj) => () => {\n console.log(\"Selected tree item:\", obj);\n if (\n obj.isLeaf.toLowerCase() == \"true\" ||\n obj.isSelectable.toLowerCase() == \"true\"\n ) {\n dispatch(setSKSSelected(obj));\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(getSKSTable({ method: \"GET\", code: obj.code })).then(() => {\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: true }));\n dispatch(setPagination({ page: 0, rowsPerPage: 5 }));\n });\n }\n };\n let labelInfo = \"\";\n let bgColor = \"#fff\";\n if (node.isSelectable.toLowerCase() == \"true\" && id === sksSelectedId) {\n labelInfo = t(\"viewer.selected\");\n bgColor = \"#e8f0fe\";\n } else if (node.isSelectable.toLowerCase() == \"true\") {\n labelInfo = t(\"viewer.select\");\n }\n\n return (\n }\n defaultExpandIcon={}\n expanded={expanded}\n onNodeToggle={handleChange}\n sx={{ width: \"99%\" }}\n >\n {/*The node below should act as the root node for now */}\n }\n collapseIcon={}\n onClick={handleTreeSelection(node)}\n >\n {node.isLeaf.toLowerCase() == \"true\"\n ? childNodes\n : childNodes || [
]}\n \n \n );\n}\n\nexport default function SKSTreeView(props) {\n const dispatch = useDispatch();\n const viewer = useSelector((state) => state.viewer);\n const { sksParentCollection, sksSearchTree, isSKSSearch } = viewer;\n if (props.search && isSKSSearch) {\n return (\n
\n {sksSearchTree?.map((b) => {\n return ;\n })}\n
\n );\n } else {\n return (\n
\n {sksParentCollection?.map((b) => {\n return ;\n })}\n
\n );\n }\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport { styled } from \"@mui/material/styles\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport Typography from \"@mui/material/Typography\";\nimport Divider from \"@mui/material/Divider\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell, { tableCellClasses } from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport Paper from \"@mui/material/Paper\";\nimport PropTypes from \"prop-types\";\nimport Box from \"@mui/material/Box\";\nimport Collapse from \"@mui/material/Collapse\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport ViewerDiagram from \"./ViewerDiagram\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getMetadata,\n getMetadataForLogicName,\n getAllParentSKS,\n setChildrenNode,\n setDRGLoading,\n getSKSCodeDiagramData,\n getSKSSearch,\n resetSKS,\n setPagination,\n setResetValues,\n setView,\n setSelectedSpecification,\n} from \"./viewerSlice\";\nimport SKSTreeView from \"./SKSTreeView\";\nimport DRGDiagram from \"./DRGDiagram\";\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nfunction Row(props) {\n const { row } = props;\n const [open, setOpen] = React.useState(true);\n const [collapseOpen, setCollapseOpen] = React.useState(false);\n const [expandValue, setExpandValue] = React.useState(\"\");\n const dispatch = useDispatch();\n const viewer = useSelector((state) => state.viewer);\n const { showRegelDiagram, isExpandedValue, drgDataForGoJs } = viewer;\n\n const rowExpand = (sks) => {\n // setExpandValue(sks.regel);\n if (sks.regel == isExpandedValue) {\n dispatch(\n setDRGLoading({\n name: \"showRegelDiagram\",\n value: false,\n expandedValue: \"\",\n })\n );\n } else {\n dispatch(\n setDRGLoading({\n name: \"showRegelDiagram\",\n value: true,\n expandedValue: sks.regel,\n })\n );\n dispatch(\n getSKSCodeDiagramData({\n method: \"GET\",\n drgGroup: sks.drGgroup,\n regel: sks.regel,\n })\n );\n }\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n // setOpen(!open);\n };\n function displayRegelDiagram() {\n if (showRegelDiagram) {\n return ;\n } else {\n return null;\n }\n }\n\n return (\n \n *\": { borderBottom: \"unset\" },\n borderTop: \"1px solid rgba(224, 224, 224, 1)\",\n }}\n >\n \n rowExpand(row)}\n >\n {row.regel == isExpandedValue ? (\n \n ) : (\n \n )}\n \n \n {row.regel}\n {row.characteristic}\n {row.propertyType}\n {row.propertyName}\n {row.drGgroup}\n {row.drgName}\n \n \n \n \n \n {showRegelDiagram ? displayRegelDiagram() : null}\n \n \n \n \n \n );\n}\n\nexport default function SKSCodes() {\n const [searchValue, setSearchValue] = useState(\"\");\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.viewer);\n const {\n selectedVisualObj,\n sksLoading,\n sksSelectedName,\n sksMapData,\n isSKSSearch,\n showSKSTable,\n page,\n rowsPerPage,\n selectedSpecification,\n showDRGDiagram,\n visualMenuCollection,\n view,\n } = viewer;\n\n useEffect(() => {\n if (selectedVisualObj) {\n dispatch(setDRGLoading({ name: \"sksLoading\", value: true }));\n dispatch(\n getMetadata({\n method: \"GET\",\n name: selectedVisualObj.visualName,\n version: selectedVisualObj.visualVersion,\n year: selectedVisualObj.year,\n })\n ).then(() => {\n dispatch(\n getMetadataForLogicName({\n method: \"GET\",\n year: selectedVisualObj.year,\n })\n ).then(() => {\n dispatch(getAllParentSKS({ method: \"GET\" })).then(() => {\n dispatch(setDRGLoading({ name: \"sksLoading\", value: false }));\n });\n });\n });\n }\n return () => {\n setSearchValue(\"\");\n dispatch(resetSKS());\n };\n }, []);\n const handleChangePage = (event, newPage) => {\n dispatch(setPagination({ page: newPage, rowsPerPage: rowsPerPage }));\n };\n const handleChangeRowsPerPage = (event) => {\n dispatch(setPagination({ page: 0, rowsPerPage: event.target.value }));\n };\n const handleSearch = (event) => {\n setSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n setTimeout(() => {\n dispatch(\n getSKSSearch({\n method: \"GET\",\n search: event.target.value?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setDRGLoading({ name: \"sksSearch\", value: true }));\n });\n }, 1000);\n } else if (event.target.value == \"\") {\n dispatch(setDRGLoading({ name: \"sksSearch\", value: false }));\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n }\n };\n const closeSearch = () => {\n setSearchValue(\"\");\n dispatch(setDRGLoading({ name: \"sksSearch\", value: false }));\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n };\n\n const handleViewChange = (e) => {\n dispatch(setResetValues());\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setView(e.target.value));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: true }));\n };\n\n const handleSpecification = (event, value) => {\n // if (value ?.groupName == \"Full Logic\" || value ?.groupName == \"Komplet logik\" || value ?.groupName == \"Other Specification\" || value ?.groupName == \"Øvrige Specifikationer\" || value ?.groupName == \"Type\" ) {\n // dispatch(setView(\"SimpleView\"));\n // }\n dispatch(setView(\"SimpleView\"));\n dispatch(setResetValues());\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setSelectedSpecification(value));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: true }));\n };\n\n function displayDRGDiagram() {\n if (selectedSpecification != null && showDRGDiagram) {\n return (\n
\n
\n
\n \n {selectedSpecification?.value}\n \n
\n
\n \n \n {t(\"viewer.simpleView\")}\n \n {(selectedSpecification?.groupName == \"MDC Specification\" ||\n selectedSpecification?.groupName ==\n \"MDC Specifikationer\") && (\n \n {t(\"viewer.advancedView\")}\n \n )}\n \n option.groupName}\n getOptionLabel={(option) => option.displayName}\n sx={{ width: 300, paddingLeft: \"20px\" }}\n onChange={handleSpecification}\n value={selectedSpecification}\n renderInput={(params) => (\n \n )}\n />\n
\n
\n \n \n
\n );\n } else {\n return null;\n }\n }\n\n return (\n
\n {sksLoading ? (\n
\n theme.zIndex.drawer + 1,\n }}\n open={sksLoading}\n >\n \n \n
\n ) : (\n
\n \n ,\n endAdornment: (\n \n ),\n }}\n />\n {isSKSSearch ? : }\n \n \n\n {showSKSTable ? (\n
\n \n {t(\"Global.SKS_Code_Details\")}\n \n \n \n \n \n \n \n \n {sksSelectedName}\n {\" \"}\n
\n {sksMapData != null ? sksMapData.length : \"\"}\n   {t(\"Global.Total\")}\n
\n
\n \n \n {t(\"viewer.rule\")}\n \n {t(\"Global.Characteristic\")}\n \n \n {t(\"Global.Property_Type\")}\n \n \n {t(\"Global.Property_Name\")}\n \n \n {t(\"Global.drgGroup\")}\n \n \n {t(\"Global.drgName\")}\n \n \n
\n \n {sksMapData != null\n ? sksMapData\n .slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage\n )\n .map((row) => )\n : \"\"}\n \n
\n \n
\n
\n
\n ) : null}\n
\n )}\n \n {displayDRGDiagram()}\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport VisualSelectionTree from \"./VisualSelectionTree\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n setVisualDetails,\n getVisualMenus,\n setSelectedSpecification,\n getZipFile,\n setSelectedFileToDownload,\n clearValues,\n errorMessageClose,\n setView,\n getMetadata,\n setTabValue,\n setResetValues,\n resetViewer,\n} from \"./viewerSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { saveAs } from \"file-saver\";\nimport ViewerDiagram from \"./ViewerDiagram\";\nimport DRG from \"./DRG\";\nimport SKSCodes from \"./SKSCodes\";\nimport { redirectToLogin } from \".././authentication/authenticationSlice\";\n\nexport default function Viewer() {\n const [open, setOpen] = useState(false);\n const [displayDiagram, setDisplayDiagram] = useState(false);\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const { language } = useSelector((state) => state.language);\n const viewer = useSelector((state) => state.viewer);\n const {\n selectedVisualObj,\n selectedVisualID,\n selectedVisualName,\n selectedVisualYear,\n enableTabs,\n visualMenuCollection,\n selectedSpecification,\n blobToDownload,\n selectedFileType,\n fileNotExists,\n view,\n tabValue,\n metadataCollection,\n isHourGlass\n } = viewer;\n\n useEffect(() => {\n if (Object.entries(selectedVisualObj).length != 0) {\n dispatch(getVisualMenus({ method: \"GET\", id: selectedVisualObj.id }));\n }\n if (selectedSpecification ?.name == \"Full Logic\" && language == \"en\") {\n dispatch(setSelectedSpecification({\n displayName: \"Full Logic\",\n groupName: \"Full Logic\",\n name: \"Full Logic\",\n value: \"Full Logic\",\n language: \"en\",\n }\n ));\n }\n else if (selectedSpecification ?.name == \"Full Logic\" && language == \"dk\") {\n dispatch(setSelectedSpecification({\n displayName: \"Komplet logik\",\n groupName: \"Komplet logik\",\n name: \"Full Logic\",\n value: \"Komplet logik\",\n language: \"dk\",\n }\n ));\n }\n }, [language])\n\n useEffect(() => {\n return dispatch(resetViewer());\n }, [])\n\n const handleChange = (event, newValue) => {\n dispatch(setTabValue(newValue));\n //setValue(newValue);\n };\n const handleClose = () => {\n setOpen(false);\n };\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedVisualObj) {\n dispatch(\n setVisualDetails({\n id: selectedVisualObj.id,\n name: selectedVisualObj.visualName,\n year: selectedVisualObj.year,\n })\n );\n }\n dispatch(setTabValue(\"viewerMap\"));\n setOpen(false);\n dispatch(getVisualMenus({ method: \"GET\", id: selectedVisualObj.id }));\n\n };\n\n const handleDownload = (e) => {\n e.preventDefault();\n var eventValue = e.currentTarget.value;\n dispatch(setSelectedFileToDownload(eventValue));\n switch (eventValue) {\n case \"News\":\n var url =\n \"api/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"VisualNews\";\n break;\n case \"Guidance\":\n var url =\n \"api/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"VisualGuide\";\n break;\n case \"Codes\":\n var url =\n \"api/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"InterneKoderPdfFile\";\n break;\n }\n dispatch(getZipFile({ url: url, method: \"GET\" }));\n };\n const handleViewChange = (e) => {\n setDisplayDiagram(false);\n dispatch(setResetValues());\n dispatch(setView(e.target.value));\n if (metadataCollection != null) {\n setDisplayDiagram(true);\n }\n };\n\n const handleSpecification = (event, value) => {\n // if (value ?.groupName == \"Full Logic\" || value ?.groupName == \"Komplet logik\" || value ?.groupName == \"Other Specification\" || value ?.groupName == \"Øvrige Specifikationer\" || value ?.groupName == \"Type\" ) {\n // dispatch(setView(\"SimpleView\"));\n // }\n dispatch(setView(\"SimpleView\"));\n dispatch(setResetValues());\n dispatch(setSelectedSpecification(value));\n if (value != null) {\n dispatch(\n getMetadata({\n method: \"GET\",\n name: selectedVisualObj.visualName,\n version: selectedVisualObj.visualVersion,\n year: selectedVisualObj.year,\n })\n );\n setDisplayDiagram(true);\n }\n };\n function loadDiagram() {\n console.log(\"Display Diagram\", displayDiagram);\n if (displayDiagram) {\n return ;\n } else {\n return
;\n }\n }\n function loadTabContent() {\n if (enableTabs) {\n return (\n \n \n \n \n \n \n \n \n \n
\n
\n \n {selectedSpecification ?.value}\n \n
\n
\n \n \n {t(\"viewer.simpleView\")}\n \n {(selectedSpecification ?.groupName == \"MDC Specification\" ||\n selectedSpecification ?.groupName == \"MDC Specifikationer\") && (\n \n {t(\"viewer.advancedView\")}\n \n )}\n \n option.groupName}\n getOptionLabel={(option) => option.displayName}\n sx={{ width: 300, paddingLeft: \"20px\" }}\n onChange={handleSpecification}\n renderInput={(params) => (\n \n )}\n />\n
\n
\n \n {loadDiagram()}\n
\n \n \n \n \n \n \n
\n );\n }\n }\n\n if (blobToDownload && selectedFileType) {\n switch (selectedFileType) {\n case \"News\":\n saveAs(blobToDownload, \"Visual News.pdf\");\n break;\n case \"Guidance\":\n saveAs(blobToDownload, \"Visual Guidance.pdf\");\n break;\n case \"Codes\":\n saveAs(blobToDownload, \"InterneKoder.xlsx\");\n break;\n }\n dispatch(clearValues());\n }\n\n if (!viewer.isSessionValid) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n return (\n
\n \n
\n
\n \n {t(\"viewer.Viwer\")}\n \n
\n
\n \n \n {t(\"viewer.news\")} (PDF)\n \n \n \n {t(\"viewer.guidance\")} (PDF)\n \n \n \n {t(\"viewer.internalCodes\")} (XLS)\n \n
\n
\n \n
\n \n
\n \n {selectedVisualName == \"\"\n ? \"Select the visual file\"\n : selectedVisualName + \" - \" + selectedVisualYear}\n \n {\n setOpen(true);\n }}\n >\n {t(\"Global.open_file\")}\n \n
\n \n {loadTabContent()}\n
\n
\n \n \n {t(\"publisher.Open_Viewer_File\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n
\n dispatch(errorMessageClose())}\n >\n dispatch(errorMessageClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"viewer.fileNotExists\")}\n \n \n theme.zIndex.drawer + 1 }}\n open={isHourGlass}\n >\n \n \n
\n );\n}\n","export default __webpack_public_path__ + \"static/media/EraseIcon.8af15b52.svg\";","export default __webpack_public_path__ + \"static/media/ReportIcon.082fc7ff.svg\";","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { styled } from \"@mui/material/styles\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport Typography from \"@mui/material/Typography\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport FolderIcon from \"@mui/icons-material/Folder\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport {\n getInteractiveNames,\n setSelectedInteractive,\n} from \"./interactiveSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n backgroundColor: \"var(--tree-view-bg-color)\",\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n {/* {labelInfo === \"Selected\" ? (\n \n ) : null} */}\n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function InteractiveSelectionTree() {\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.interactive);\n const {\n interactiveCollection,\n yearsCollection,\n selectedInteractiveID,\n selectedInteractiveName,\n selectedInteractiveYear,\n } = interactive;\n const [selectedValue, setSelectedValue] = useState(selectedInteractiveID);\n\n useEffect(() => {\n //dispatch(getInteractiveNames({ method: \"GET\", login: true }));\n }, []);\n const handleSelection = (obj) => () => {\n setSelectedValue(obj.id);\n dispatch(setSelectedInteractive(obj));\n };\n\n return (\n }\n defaultExpandIcon={}\n defaultEndIcon={
}\n sx={{ height: \"100%\", flexGrow: 1, maxWidth: 600, width: 360 }}\n >\n {yearsCollection.map((year) => {\n return (\n a.year == year).length\n }\n color=\"#1a73e8\"\n //bgColor=\"#e8f0fe\"\n >\n {interactiveCollection\n .filter((a) => a.year == year)\n .map((x) => {\n let labelDate = x.createdDate != null ? x.createdDate : \"\";\n return (\n \n );\n })}\n \n );\n })}\n \n );\n}\n","import React from \"react\";\nimport \"./Interactive.css\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n setChildrenStatus,\n getAllDiagnosis,\n setSelectionButton,\n setDiagnosisData,\n} from \"./interactiveSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n }\n collapseIcon={}\n label={\n \n \n \n {labelText}\n \n {labelInfo === \"Selected\" ? (\n \n ) : null}\n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nconst { useState, useCallback } = React;\n\nfunction MyTreeItem(props) {\n const [childNodes, setChildNodes] = useState(null);\n const [expanded, setExpanded] = React.useState([]);\n const [selectedValue, setSelectedValue] = useState(\"\");\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.interactive);\n const { diagnosis, diagnosisData, contactType } = interactive;\n const { id, name, node } = props;\n\n const handleChange = (event, nodes) => {\n const expandingNodes = nodes.filter((x) => !expanded.includes(x));\n setExpanded(nodes);\n if (expandingNodes[0]) {\n const parentId = expandingNodes[0];\n if (node.hasChildren) {\n dispatch(setChildrenStatus({ name: \"diagnosis\", value: true }));\n dispatch(getAllDiagnosis({ method: \"GET\", parentId: parentId })).then(\n (res) => {\n setChildNodes(\n res?.payload?.map((node) => (\n \n ))\n );\n }\n );\n }\n }\n };\n const handleTreeSelection = (obj) => () => {\n if ((obj.isSelectable == true || obj.isSelectable.toLowerCase() == \"true\") && contactType!= \"6\")\n {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: false }));\n if (diagnosis.length > 0) {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n }\n dispatch(setDiagnosisData(obj));\n } else {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: true }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n }\n };\n let labelInfo = \"\";\n let bgColor = \"#fff\";\n if (node.isSelectable.toLowerCase() == \"true\" && id === diagnosisData.id) {\n bgColor = \"#e8f0fe\";\n } else {\n bgColor = \"#fff\";\n }\n\n return (\n }\n defaultExpandIcon={}\n expanded={expanded}\n onNodeToggle={handleChange}\n sx={{ width: \"98%\" }}\n >\n {/*The node below should act as the root node for now */}\n }\n collapseIcon={}\n onClick={handleTreeSelection(node)}\n >\n {node.isLeaf.toLowerCase() == \"true\"\n ? childNodes\n : childNodes || [
]}\n \n \n );\n}\n\nexport default function DiagnosisTreeView(props) {\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.interactive);\n const { diagnosisParentCollection, diagnosisSearchTree, diagnosisSearch } =\n interactive;\n if (props.search && diagnosisSearch) {\n return (\n
\n {diagnosisSearchTree?.map((b) => {\n return ;\n })}\n
\n );\n } else {\n return (\n
\n {diagnosisParentCollection?.map((b) => {\n return ;\n })}\n
\n );\n }\n}\n","import React from \"react\";\nimport \"./Interactive.css\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n setChildrenStatus,\n getAllProcedures,\n setSelectionButton,\n setProcedureData,\n} from \"./interactiveSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n }\n collapseIcon={}\n label={\n \n \n \n {labelText}\n \n {labelInfo === \"Selected\" ? (\n \n ) : null}\n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nconst { useState, useCallback } = React;\n\nfunction MyTreeItem(props) {\n const [childNodes, setChildNodes] = useState(null);\n const [expanded, setExpanded] = React.useState([]);\n const [selectedValue, setSelectedValue] = useState(\"\");\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.interactive);\n const { procedure, procedureData } = interactive;\n const { id, name, node } = props;\n\n const handleChange = (event, nodes) => {\n const expandingNodes = nodes.filter((x) => !expanded.includes(x));\n setExpanded(nodes);\n if (expandingNodes[0]) {\n const parentId = expandingNodes[0];\n if (node.hasChildren) {\n dispatch(setChildrenStatus({ name: \"procedures\", value: true }));\n dispatch(getAllProcedures({ method: \"GET\", parentId: parentId })).then(\n (res) => {\n setChildNodes(\n res ?.payload ?.map((node) => (\n \n ))\n );\n }\n );\n }\n }\n };\n const handleTreeSelection = (obj) => () => {\n if (obj.isSelectable == true || obj.isSelectable.toLowerCase() == \"true\") {\n dispatch(setSelectionButton({ name: \"procedure\", value: false }));\n if (procedure.length > 0) {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: false }));\n }\n dispatch(setProcedureData(obj));\n } else {\n dispatch(setSelectionButton({ name: \"procedure\", value: true }));\n dispatch(setSelectionButton({ name: \"procAdditional\", value: true }));\n }\n };\n let labelInfo = \"\";\n let bgColor = \"#fff\";\n if (node.isSelectable.toLowerCase() == \"true\" && id === procedureData.id) {\n bgColor = \"#e8f0fe\";\n } else {\n bgColor = \"#fff\";\n }\n\n return (\n }\n defaultExpandIcon={}\n expanded={expanded}\n onNodeToggle={handleChange}\n sx={{ width: \"98%\" }}\n >\n {/*The node below should act as the root node for now */}\n }\n collapseIcon={}\n onClick={handleTreeSelection(node)}\n >\n {node.isLeaf.toLowerCase() == \"true\"\n ? childNodes\n : childNodes || [
]}\n \n \n );\n}\n\nexport default function ProcedureTreeView(props) {\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.interactive);\n const { proceduresParentCollection, procedureSearchTree, procedureSearch } =\n interactive;\n if (props.search && procedureSearch) {\n return (\n
\n {procedureSearchTree ?.map((b) => {\n return ;\n })}\n
\n );\n } else {\n return (\n
\n {proceduresParentCollection ?.map((b) => {\n return ;\n })}\n
\n );\n }\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport KeyboardArrowLeftIcon from \"@mui/icons-material/KeyboardArrowLeft\";\nimport KeyboardArrowRightIcon from \"@mui/icons-material/KeyboardArrowRight\";\nimport MoreVertIcon from \"@mui/icons-material/MoreVert\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport TextField from \"@mui/material/TextField\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport gsap from \"gsap\";\nimport {\n spellMoveLeft,\n spellMoveRight,\n deleteSpell,\n setValues,\n interactiveProcessResult,\n setRequestList,\n showPanels,\n setRequestType,\n setInteractiveLoading,\n clearResultInformation,\n} from \"./interactiveSlice\";\n\nexport default function Spells() {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.interactive);\n const {\n patientInputs,\n spellsList,\n isYearGreaterThan2021,\n contactDaysNoProgress,\n spellVarighed,\n selectedInteractiveObj,\n isMale,\n } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n let scrl = useRef(null);\n const [scrollX, setscrollX] = useState(0);\n const [scrolEnd, setscrolEnd] = useState(false);\n\n //Slide click\n const slide = (shift) => {\n scrl.current.scrollLeft += shift;\n setscrollX(scrollX + shift);\n if (\n Math.floor(scrl.current.scrollWidth - scrl.current.scrollLeft) <=\n scrl.current.offsetWidth\n ) {\n setscrolEnd(true);\n } else {\n setscrolEnd(false);\n }\n };\n\n //Anim\n const anim = (e) => {\n gsap.from(e.target, { scale: 1 });\n gsap.to(e.target, { scale: 1.5 });\n };\n const anim2 = (e) => {\n gsap.from(e.target, { scale: 1.5 });\n gsap.to(e.target, { scale: 1 });\n };\n\n const scrollCheck = () => {\n setscrollX(scrl.current.scrollLeft);\n if (\n Math.floor(scrl.current.scrollWidth - scrl.current.scrollLeft) <=\n scrl.current.offsetWidth\n ) {\n setscrolEnd(true);\n } else {\n setscrolEnd(false);\n }\n };\n const handleSpellMoveLeft = (id) => () => {\n var index = spellsList.findIndex((item) => item.id === id);\n dispatch(spellMoveLeft(index));\n };\n const handleSpellMoveRight = (id) => () => {\n var index = spellsList.findIndex((item) => item.id === id);\n dispatch(spellMoveRight(index));\n };\n const handleDeleteSpell = (val) => () => {\n dispatch(deleteSpell(val));\n };\n const handleContactDaysChange = (e) => {\n dispatch(\n setValues({ name: \"contactDaysNoProgress\", value: e.target.value })\n );\n };\n const handleDurationChange = (e) => {\n dispatch(setValues({ name: \"spellVarighed\", value: e.target.value }));\n };\n const handleRunRequest = (e) => {\n dispatch(setInteractiveLoading(true));\n let count = 1;\n let requestList = [];\n spellsList.forEach((ele) => {\n var request = createRequestList(ele.val[0], count);\n dispatch(setRequestList(request[0]));\n requestList.push(request[0]);\n count++;\n });\n postInteractiveRequest(requestList, \"episode\");\n // dispatch(clearResultInformation());\n };\n\n function createRequestList(obj, rid) {\n var reqData = [];\n\n let gestationAge = obj.isMale\n ? {\n Code: obj.maleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n }\n : {\n Code: obj.femaleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n };\n let reasonForContact =\n obj.hospWayValue === \"1\"\n ? generateListItems(obj, \"ReasonForContact\")\n : null;\n let contactType = generateListItems(obj, \"ContactType\");\n var liggeDage = \"\";\n if (isYearGreaterThan2021) {\n if (obj.varighed == \"0\") {\n liggeDage = \"\";\n } else if (obj.varighed == \"1\") {\n liggeDage = \"1\";\n } else {\n liggeDage = \"12\";\n }\n }\n var diagnosis = [];\n obj.diagnosis.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n diagnosis.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n var procedure = [];\n obj.procedure.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n procedure.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n if (isYearGreaterThan2021) {\n reqData.push({\n RId: rid,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n LiggidageBedInDays: liggeDage,\n Varighed: {\n Code: obj.varighed,\n Description: obj.varighedDescription[language],\n Significance: \"\",\n },\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language]: null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n } else {\n reqData.push({\n RId: rid,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language]: null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n }\n\n return reqData;\n }\n\n function generateListItems(obj, col) {\n let retObj = {};\n if (col == \"ContactType\") {\n if (isYearGreaterThan2021) {\n if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"2\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"5\") {\n retObj.Code = \"1\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n } else {\n if (obj.contactTypeValue == \"3\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n }\n } else if (col == \"ReasonForContact\") {\n if (obj.reasonForContactValue == \"0\") {\n retObj.Code = \" \";\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.reasonForContactValue;\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n }\n }\n return retObj;\n }\n\n function postInteractiveRequest(requestList, type) {\n var viewModel = {};\n let overWriteBedDays, overWriteVarighed;\n dispatch(setRequestType(type));\n if (type == \"episode\") {\n overWriteBedDays = contactDaysNoProgress;\n if (isYearGreaterThan2021) {\n //varighed\n overWriteVarighed = requestList[0].Varighed;\n }\n } else {\n overWriteBedDays = null;\n overWriteVarighed = null;\n }\n\n viewModel = {\n Name: selectedInteractiveObj.interactiveName,\n Version: selectedInteractiveObj.interactiveVersion,\n Year: selectedInteractiveObj.year,\n OverWriteBedDays: overWriteBedDays,\n OverWriteVarighed: overWriteVarighed,\n interactive: requestList,\n };\n\n dispatch(\n interactiveProcessResult({ method: \"POST\", body: viewModel })\n ).then(() => {\n //console.log(\"Res Run Req\");\n });\n }\n\n return (\n
\n {spellsList.length > 0 ? (\n
\n
\n \n {t(\"interactive.Episode\")}   {spellsList.length}\n \n
\n {scrollX !== 0 && (\n slide(-50)}\n onMouseEnter={(e) => anim(e)}\n onMouseLeave={(e) => anim2(e)}\n />\n )}\n {!scrolEnd && (\n slide(+50)}\n onMouseEnter={(e) => anim(e)}\n onMouseLeave={(e) => anim2(e)}\n />\n )}\n
\n
\n\n
    \n {spellsList?.map((a, index) => {\n return (\n
  • \n \n
    \n \n {t(\"interactive.Episode\")}   {index + 1}\n \n
    \n {index != 0 ? (\n \n ) : (\n \n )}\n\n {index != spellsList.length - 1 ? (\n \n ) : (\n \n )}\n \n
    \n
    \n
    \n \n {t(\"interactive.primaryDiagnosis\")}: \n \n \n {a?.val[0].diagnosis[0]?.name}\n \n
    \n
    \n \n {t(\"interactive.Patient\")}: \n \n {a.val[0].genderText[language]}, \n {a.val[0].age} {a.val[0].ageTypeText[language]}\n \n \n
    \n
    \n
  • \n );\n })}\n
\n
\n
\n {/* {isYearGreaterThan2021 ? (\n 0 && spellVarighed == \"\"\n ? Object.values(patientInputs[0].varighed)[0].value\n : spellVarighed\n }\n onChange={handleDurationChange}\n sx={{ paddingRight: \"20px\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].varighed).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n ) : null} */}\n \n
\n
\n \n {t(\"interactive.runRequest\")}\n \n
\n
\n
\n ) : null}\n
\n );\n}\n","import React, { useState } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Grid from \"@mui/material/Grid\";\nimport Divider from \"@mui/material/Divider\";\nimport MoreVertIcon from \"@mui/icons-material/MoreVert\";\nimport Link from \"@mui/material/Link\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AddCircleIcon from \"@mui/icons-material/AddCircle\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport Menu from \"@mui/material/Menu\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n expandCollapseUpdate,\n addEpisodeToSpell,\n editEpisode,\n deleteEpisode,\n} from \"./interactiveSlice\";\n\nexport default function Episodes() {\n const [expandValue, setExpandValue] = useState(\"Expand\");\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.interactive);\n const { interactiveList, spellsList } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n const [currentIndex, setCurrentIndex] = useState(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (index) => (event) => {\n setCurrentIndex(index);\n setAnchorEl(event.currentTarget);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n const handleExpand = (index) => (e) => {\n if (e.target.value == \"Expand\") {\n setExpandValue(\"Collapse\");\n dispatch(expandCollapseUpdate({ index: index, value: \"Expand\" }));\n } else {\n setExpandValue(\"Expand\");\n dispatch(expandCollapseUpdate({ index: index, value: \"Collapse\" }));\n }\n };\n const handleAddEpisodeToSpell = (e) => {\n var item = interactiveList[currentIndex];\n dispatch(addEpisodeToSpell({ item: item, id: item[0].id }));\n };\n const handleEditEpisode = (e) => {\n var item = interactiveList[currentIndex];\n dispatch(editEpisode(item[0]));\n };\n const handleDeleteEpisode = (val) => () => {\n dispatch(deleteEpisode(currentIndex));\n };\n\n return (\n
\n {interactiveList.length > 0 ? (\n
\n
    \n {interactiveList ?.map((a, index) => {\n return (\n \n \n
    \n \n {t(\"interactive.Episode\")}   {index + 1}\n \n
    \n \n {a[0].expandCollapseValue == \"Expand\" ? t(\"interactive.collapse\") : t(\"interactive.expand\")}\n \n \n \n \n \n \n \n \n \n \n \n {t(\"interactive.addEpisode\")}\n \n \n \n \n \n {t(\"interactive.editEpisode\")}\n \n \n \n \n \n {t(\"interactive.deleteEpisode\")}\n \n \n
    \n
    \n {a[0].expandCollapseValue === \"Collapse\" ? (\n
    \n
    \n \n {t(\"interactive.primaryDiagnosis\")}: \n \n \n {a[0].diagnosis[0]?.name}\n \n
    \n\n
    \n \n {t(\"interactive.Patient\")}: \n \n {a[0].genderText[language]}, \n {a[0].age} {a[0].ageTypeText[language]}\n \n \n
    \n
    \n ) : (\n
    \n \n \n \n {t(\"interactive.patientInformation\")}\n \n \n
    \n \n {t(\"interactive.sex\")}: \n \n {a[0].genderText[language]}\n \n \n {t(\"interactive.age\")}: \n \n \n {a[0].age} {a[0].ageTypeText[language]}\n \n \n \n {t(\"interactive.gestationAge\")}: \n \n {a[0].gestationText[language]}\n \n \n \n {t(\"interactive.dischargeType\")}: \n \n {a[0].dischargeText[language]}\n \n \n \n {t(\"interactive.contactType\")}: \n \n {a[0].contactTypeText[language]}\n \n \n \n {t(\"interactive.priority\")}: \n \n {a[0].hospWayText[language]}\n \n \n
    \n
    \n\n \n \n {t(\"interactive.selectedDiagnosis\")}\n \n \n
    \n {a[0].diagnosis ?.map((item, index) => {\n return (\n
    \n \n \n \n {item.type}\n \n   \n {item.name}\n \n \n {item.additionalCode.map((b) => {\n return (\n \n \n \n {b.type}\n \n   \n {b.name}\n \n \n );\n })}\n
    \n );\n })}\n
    \n
    \n \n \n {t(\"interactive.selectedProcedure\")}\n \n \n
    \n {a[0].procedure ?.map((item, index) => {\n return (\n
    \n \n \n \n {item.type}\n \n   \n {item.name}\n \n \n {item.additionalCode.map((b) => {\n return (\n \n \n \n {b.type}\n \n   \n {b.name}\n \n \n );\n })}\n
    \n );\n })}\n
    \n
    \n
    \n
    \n )}\n \n \n );\n })}\n
\n
\n ) : null}\n
\n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport \"./Interactive.css\";\nimport Typography from \"@mui/material/Typography\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\n\nexport default function PatientInformation(props) {\n const { t, i18n } = useTranslation(\"language\");\n const { a } = props;\n return (\n
\n \n {t(\"interactive.patientInformation\")}\n \n\n
\n
\n \n {t(\"interactive.sex\")}: \n \n {a.genderDescription}\n \n \n {t(\"interactive.age\")}: \n \n \n {a.age} {a.ageTypeText}\n \n \n \n {t(\"interactive.gestationAge\")}: \n \n {a.gestationAgeDescription}\n \n \n \n {t(\"interactive.dischargeType\")}: \n \n {a.dischargeTypeDescription}\n \n \n \n {t(\"interactive.contactType\")}: \n \n {a.contactTypeDescription}\n \n \n \n {t(\"interactive.priority\")}: \n \n {a.admissionTypeDescription}\n \n \n
\n
\n {a.contactReasonDescription && (\n \n {t(\"interactive.contactReason\")}: \n \n {a.contactReasonDescription}\n \n \n )}\n {a.durationBedDays && (\n \n {t(\"interactive.contactDays\")}: \n \n {a.durationBedDays}\n \n \n )}\n {a.birthType && (\n \n {t(\"interactive.birthType\")}: \n \n {a.birthType}\n \n \n )}\n {a.birthHeight && (\n \n {t(\"interactive.height\")}: \n \n {a.birthHeight}\n \n \n )}\n {a.birthWeight && (\n \n {t(\"interactive.weight\")}: \n \n {a.birthWeight}\n \n \n )}\n
\n
\n
\n );\n}\n","import React, { useState, useRef } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { styled } from \"@mui/material/styles\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport KeyboardArrowLeftIcon from \"@mui/icons-material/KeyboardArrowLeft\";\nimport KeyboardArrowRightIcon from \"@mui/icons-material/KeyboardArrowRight\";\nimport Button from \"@mui/material/Button\";\nimport Grid from \"@mui/material/Grid\";\nimport Divider from \"@mui/material/Divider\";\nimport Link from \"@mui/material/Link\";\nimport Tooltip, { tooltipClasses } from \"@mui/material/Tooltip\";\nimport Popover from \"@mui/material/Popover\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport gsap from \"gsap\";\nimport PatientInformation from \"./PatientInformation\";\nimport { setVisualDialog, noVisualError, setExpand } from \"./interactiveSlice\";\nimport Currency from 'react-currency-formatter';\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst CustomTooltip = styled(({ className, ...props }) => (\n \n))(({ theme }) => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: \"#FFFFFF\",\n color: \"rgba(0, 0, 0, 0.87)\",\n maxWidth: 450,\n fontSize: theme.typography.pxToRem(12),\n border: \"1px solid #dadde9\",\n },\n}));\n\nexport default function Results() {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n let scrl = useRef(null);\n const [scrollX, setscrollX] = useState(0);\n const [scrolEnd, setscrolEnd] = useState(false);\n const interactive = useSelector((state) => state.interactive);\n const { selectedInteractiveObj, requestList, resultList } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n //const [open, setOpen] = useState(false);\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n //setOpen(true);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n const id = open ? \"simple-popover\" : undefined;\n\n //Slide click\n const slide = (shift) => {\n scrl.current.scrollLeft += shift;\n setscrollX(scrollX + shift);\n if (\n Math.floor(scrl.current.scrollWidth - scrl.current.scrollLeft) <=\n scrl.current.offsetWidth\n ) {\n setscrolEnd(true);\n } else {\n setscrolEnd(false);\n }\n };\n\n //Anim\n const anim = (e) => {\n gsap.from(e.target, { scale: 1 });\n gsap.to(e.target, { scale: 1.5 });\n };\n const anim2 = (e) => {\n gsap.from(e.target, { scale: 1.5 });\n gsap.to(e.target, { scale: 1 });\n };\n\n const scrollCheck = () => {\n setscrollX(scrl.current.scrollLeft);\n if (\n Math.floor(scrl.current.scrollWidth - scrl.current.scrollLeft) <=\n scrl.current.offsetWidth\n ) {\n setscrolEnd(true);\n } else {\n setscrolEnd(false);\n }\n };\n\n const handleOpenInViewer = (e) => {\n if (resultList ?.length > 0) {\n let visualLink = resultList[0].val[0].visualLink;\n var tempArray = visualLink.split(\"&\");\n let visualID = tempArray[0].replace(\"visualid=\", \"\");\n let searchVal = tempArray[2].replace(\"search=\", \"\");\n if (visualID != \"\" && visualID != null) {\n dispatch(\n setVisualDialog({ status: true, id: visualID, search: searchVal })\n );\n } else {\n dispatch(noVisualError());\n }\n }\n };\n\n return (\n
\n {/* {resultList?.length > 0 ? ( */}\n {resultList.map((row, index) => {\n return (\n
\n {row.val ?.map((a) => {\n return a.isCourse ? (\n \n \n dispatch(setExpand(index))}\n sx={{ cursor: \"pointer\" }}\n />\n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n className=\"result-accordion\"\n >\n
\n
\n \n {t(\"interactive.drgGroup\")}:\n \n \n {a.results.drg + \" \" + (a.results.drgDescription == null ? \"\": a.results.drgDescription)}\n \n
\n {row.expand != true && (\n <>\n
\n \n {t(\"interactive.primaryDiagnosis\")}:\n \n \n {a.results.aDiagDescription}\n \n
\n
\n \n {t(\"interactive.sex\")}:\n \n {a.genderDescription}\n \n \n {t(\"interactive.age\")}:\n \n \n {a.age} {a.ageTypeText}\n \n \n {t(\"interactive.rate\")}:\n \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n \n {t(\"interactive.longStayRate\")}:\n \n \n {a.results.langliggertakst == null ? \"0.00\" : (\n \n )}\n \n \n
\n \n )}\n
\n {/*
\n
\n \n \n {t(\"interactive.openInViewer\")}\n \n
\n
*/}\n \n \n \n \n \n {t(\"interactive.spellResults\")}\n \n \n
\n \n {t(\"interactive.primaryDiagnosis\")}: \n {a.aDiagDescription && (\n \n A {a.aDiagDescription}\n \n )}\n \n \n {t(\"interactive.drgGroup\")}: \n \n {a.results.drg}\n \n \n \n {t(\"interactive.rate\")}: \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n \n \n {t(\"interactive.longStayRate\")}: \n \n {a.results.langliggertakst == null ? \"0.00\" : (\n \n )}\n \n \n \n {t(\"interactive.groupingKey\")}: \n \n DRG {row.names.year}\n \n \n \n {t(\"interactive.noOfEpisodes\")}: \n \n {row.val.length - 1}\n \n \n
\n
\n\n \n \n {t(\"interactive.patientInformation\")}\n \n \n
\n
\n \n {t(\"interactive.sex\")}: \n \n {a.genderDescription}\n \n \n {t(\"interactive.age\")}: \n \n \n {a.age} {a.ageTypeText}\n \n \n \n {t(\"interactive.gestationAge\")}: \n \n {a.gestationAgeDescription}\n \n \n \n {t(\"interactive.dischargeType\")}: \n \n {a.dischargeTypeDescription}\n \n \n \n {t(\"interactive.contactType\")}: \n \n {a.contactTypeDescription}\n \n \n \n {t(\"interactive.priority\")}: \n \n {a.admissionTypeDescription}\n \n \n
\n
\n {a.contactReasonDescription && (\n \n {t(\"interactive.contactReason\")}: \n \n {a.contactReasonDescription}\n \n \n )}\n {a.durationBedDays && (\n \n {t(\"interactive.contactDays\")}: \n \n {a.durationBedDays}\n \n \n )}\n {a.birthType && (\n \n {t(\"interactive.birthType\")}: \n \n {a.birthType}\n \n \n )}\n {a.birthHeight && (\n \n {t(\"interactive.height\")}: \n \n {a.birthHeight}\n \n \n )}\n {a.birthWeight && (\n \n {t(\"interactive.weight\")}: \n \n {a.birthWeight}\n \n \n )}\n
\n
\n
\n
\n \n
\n
\n \n Episodes  \n \n
\n {scrollX !== 0 && (\n slide(-50)}\n onMouseEnter={(e) => anim(e)}\n onMouseLeave={(e) => anim2(e)}\n />\n )}\n {!scrolEnd && (\n slide(+50)}\n onMouseEnter={(e) => anim(e)}\n onMouseLeave={(e) => anim2(e)}\n />\n )}\n
\n
\n\n
    \n {row.val ?.map((a, index) => {\n return !a.isCourse ? (\n
  • \n \n
    \n \n {t(\"interactive.Episode\")}   {a.rId}\n \n
    \n
    \n
    \n \n {t(\"interactive.drgGroup\")}: \n \n \n {a.results.drg}\n \n
    \n
    \n \n {t(\"interactive.rate\")}: \n \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n
    \n {/*
    \n \n {t(\"interactive.longStayRate\")}: \n \n \n {a.results.langliggertakst}\n \n
    */}\n
    \n
    \n \n {t(\"interactive.selectedDiagnosis\")}\n \n\n {a.diags ?.map((item, index) => {\n return (\n
    \n {item.type != \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n {item.type == \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n
    \n );\n })}\n
    \n
    \n \n {t(\"interactive.selectedProcedure\")}\n \n\n {a ?.procs ?.map((item, index) => {\n return (\n
    \n {item.type != \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n {item.type == \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n
    \n );\n })}\n
    \n
    \n }\n placement=\"bottom\"\n className=\"result-tooltip\"\n >\n \n {t(\"interactive.Show_Patient_Information\")}\n \n \n
    \n {/* \n \n */}\n
    \n
  • \n ) : null;\n })}\n
\n
\n
\n
\n
\n ) : null;\n })}\n
\n );\n })}\n {/* ) : null} */}\n
\n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Grid from \"@mui/material/Grid\";\nimport Divider from \"@mui/material/Divider\";\nimport Link from \"@mui/material/Link\";\nimport Popover from \"@mui/material/Popover\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport PdfIcon from \"../../assets/icons/PdfIcon.svg\";\nimport PrintIcon from \"@mui/icons-material/Print\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport Results from \"./Results\";\nimport jsPDF from \"jspdf\";\nimport \"jspdf-autotable\";\nimport { setReportDialog } from \"./interactiveSlice\";\nimport PatientInformation from \"./PatientInformation\";\nimport ReactToPrint, { useReactToPrint } from \"react-to-print\";\nimport Currency from 'react-currency-formatter';\n\nexport default function Report() {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.interactive);\n const { selectedInteractiveObj, requestList, resultList } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n const [printOverview, setPrintOverview] = useState(false);\n let componentRef = useRef();\n\n // const saveAsPDF = () => {\n // // initialize jsPDF\n // /* const doc = new jsPDF();\n // doc.html(ReactDOMServer.renderToStaticMarkup(), {\n // callback: () => {\n // doc.save(\"myDocument.pdf\");\n // },\n // }); */\n // const report = new jsPDF(\"portrait\", \"pt\", \"a3\");\n // report.setFontSize(8);\n // report.html(document.querySelector(\"#report\")).then(() => {\n // report.save(\"report.pdf\");\n // });\n // };\n\n const handlePrint = async () => {\n await setPrintOverview(true);\n await triggerPrint();\n setPrintOverview(false);\n }\n\n const triggerPrint = useReactToPrint({\n documentTitle: \"Report\",\n content: () => componentRef.current,\n bodyClass: \"printOverviewLayout\",\n });\n\n // const handlePrint = () => {\n // let popupWin;\n // let printContentBody = document.getElementById(\"report\").innerHTML;\n // popupWin = window.open(\"\", \"_blank\");\n // popupWin.document.open();\n // popupWin.document.write(`\n // \n // \n // Interactive Results - Report\n // \n // \n //
\n // ${printContentBody}\n //
\n // \n // `);\n // popupWin.document.close();\n // };\n\n const handleClose = () => {\n dispatch(setReportDialog(false));\n // setPrintOverview(false);\n };\n\n return (\n
\n
\n
\n \n {t(\"interactive.Report_Results\")}\n \n
\n {!printOverview && (\n
\n {/* \n {\" \"}\n \n \"PDF-Icon\"\n */}\n\n \n {\" \"}\n \n \n\n \n \n \n
\n )}\n
\n
\n {/* {resultList?.length > 0 ? ( */}\n {resultList.map((row) => {\n return (\n
\n {row.val ?.map((a, index) => {\n // return a.rId > 0 ? (\n return a.isCourse ? (\n \n
\n \n {a.results.drgDescription}\n \n
\n\n \n \n \n {t(\"interactive.spellResults\")}\n \n \n
\n \n {t(\"interactive.primaryDiagnosis\")}: \n {a.aDiagDescription && (\n \n A {a.aDiagDescription}\n \n )}\n \n \n {t(\"interactive.drgGroup\")}: \n \n {a.results.drg}\n \n \n \n {t(\"interactive.rate\")}: \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n \n \n {t(\"interactive.longStayRate\")}: \n \n {a.results.langliggertakst == null ? \"0.00\" : (\n \n )}\n \n \n \n {t(\"interactive.groupingKey\")}: \n \n DRG {row.names.year}\n \n \n \n {t(\"interactive.noOfEpisodes\")}: \n \n {row.val.length - 1}\n \n \n
\n
\n\n \n \n {t(\"interactive.patientInformation\")}\n \n \n
\n
\n \n {t(\"interactive.sex\")}: \n \n {a.genderDescription}\n \n \n {t(\"interactive.age\")}: \n \n \n {a.age} {a.ageTypeText}\n \n \n \n {t(\"interactive.gestationAge\")}: \n \n {a.gestationAgeDescription}\n \n \n \n {t(\"interactive.dischargeType\")}: \n \n {a.dischargeTypeDescription}\n \n \n \n {t(\"interactive.contactType\")}: \n \n {a.contactTypeDescription}\n \n \n \n {t(\"interactive.priority\")}: \n \n {a.admissionTypeDescription}\n \n \n
\n
\n {a.contactReasonDescription && (\n \n {t(\"interactive.contactReason\")}: \n \n {a.contactReasonDescription}\n \n \n )}\n {a.durationBedDays && (\n \n {t(\"interactive.contactDays\")}: \n \n {a.durationBedDays}\n \n \n )}\n {a.birthType && (\n \n {t(\"interactive.birthType\")}: \n \n {a.birthType}\n \n \n )}\n {a.birthHeight && (\n \n {t(\"interactive.height\")}: \n \n {a.birthHeight}\n \n \n )}\n {a.birthWeight && (\n \n {t(\"interactive.weight\")}: \n \n {a.birthWeight}\n \n \n )}\n
\n
\n
\n
\n \n
\n
    \n {row.val ?.map((a, index) => {\n // return a.rId > 0 ? (\n return !a.isCourse ? (\n
  • \n \n
    \n \n {t(\"interactive.Episode\")}   {a.rId}\n \n
    \n
    \n
    \n \n {t(\"interactive.drgGroup\")}: \n \n \n {a.results.drg}\n \n
    \n
    \n \n {t(\"interactive.rate\")}: \n \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n
    \n {/*
    \n \n {t(\"interactive.longStayRate\")}: \n \n \n {a.results.langliggertakst}\n \n
    */}\n
    \n
    \n \n {t(\"interactive.selectedDiagnosis\")}\n \n\n {a.diags ?.map((item, index) => {\n return (\n
    \n {item.type != \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n {item.type == \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n
    \n );\n })}\n
    \n
    \n \n {t(\"interactive.selectedProcedure\")}\n \n\n {a ?.procs ?.map((item, index) => {\n return (\n
    \n {item.type != \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n {item.type == \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n
    \n );\n })}\n
    \n \n \n
  • \n ) : null;\n })}\n
\n
\n
\n ) : null;\n })}\n
\n // ) : null}\n );\n })}\n
\n
\n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getVisualDatabyID,\n getVisualMetadata,\n getVisualNodesJSON,\n setVisualDialog,\n} from \"./interactiveSlice\";\nimport { DiagramBase } from \"../viewer/DiagramBase\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Typography from \"@mui/material/Typography\";\nimport Divider from \"@mui/material/Divider\";\n\nexport default function VisualDiagram(props) {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.interactive);\n const { isVisualLoading, visualID, visualSearchValue, dataForGoJs } =\n interactive;\n\n useEffect(() => {\n dispatch(getVisualDatabyID({ method: \"GET\", id: visualID })).then((res) => {\n var data = JSON.parse(res.payload);\n\n dispatch(\n getVisualMetadata({\n method: \"GET\",\n name: data.VisualName,\n version: data.VisualVersion,\n year: data.Year,\n })\n ).then((r) => {\n dispatch(\n getVisualNodesJSON({\n method: \"GET\",\n logicName: r.payload.DRGLogicName,\n logicVersion: r.payload.DRGLogicVersion,\n year: r.payload.DRGLogicYear,\n priceName: r.payload.DRGPriceName,\n priceVersion: r.payload.DRGPriceVersion,\n })\n );\n });\n });\n }, []);\n\n useEffect(() => {\n //console.log(\"Current Value of isVisualLoading:\", isVisualLoading);\n }, [isVisualLoading]);\n\n const handleClose = () => {\n dispatch(setVisualDialog({ status: false, id: \"\", search: \"\" }));\n };\n\n return (\n
\n {isVisualLoading ? (\n
\n
\n
\n \n {t(\"interactive.fullLogic\")}\n \n
\n
\n \n \n \n
\n
\n \n \n
\n ) : (\n \n )}\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport HelpOutlineIcon from \"@mui/icons-material/HelpOutline\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { styled } from \"@mui/material/styles\";\nimport ArrowForwardIosSharpIcon from \"@mui/icons-material/ArrowForwardIosSharp\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport InfoIcon from \"@mui/icons-material/Info\";\nimport EraseIcon from \"../../assets/icons/EraseIcon.svg\";\nimport TextField from \"@mui/material/TextField\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport AddCircleIcon from \"@mui/icons-material/AddCircle\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport ReportIcon from \"../../assets/icons/ReportIcon.svg\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { saveAs } from \"file-saver\";\nimport \"intro.js/introjs.css\";\nimport { Steps, Hints } from \"intro.js-react\";\nimport {\n setInteractiveDetails,\n getInteractiveNames,\n getAllMasterData,\n getAllDiagnosis,\n getAllProcedures,\n setSelectedFileToDownload,\n getZipFile,\n clearValues,\n errorMessageClose,\n setDiagnosis,\n setSelectionButton,\n setDiagnosisAdditionalCode,\n updateSelectedDiagnosis,\n diagnosisMoveUp,\n diagnosisMoveDown,\n deleteDiagnosis,\n deleteAdditionalDiagnosis,\n setProcedure,\n setProcedureAdditionalCode,\n updateSelectedProcedure,\n procedureMoveUp,\n procedureMoveDown,\n deleteProcedure,\n deleteAdditionalProcedure,\n getDiagnosisSearch,\n getProcedureSearch,\n setSearchStatus,\n setGender,\n setBirthValue,\n setValues,\n dateErrorClose,\n setDateToDefault,\n setPanel,\n clearPatientInformation,\n addToSpell,\n clearSpellInformation,\n clearEpisodesInformation,\n setInteractiveList,\n interactiveProcessResult,\n showPanels,\n setRequestType,\n setReportDialog,\n clearDiseaseInformation,\n clearResultInformation,\n clearAllInformation,\n setInteractiveLoading,\n handleErrorClose,\n clearOnContact,\n resetInteractive,\n} from \"./interactiveSlice\";\nimport InteractiveSelectionTree from \"./InteractiveSelectionTree\";\nimport DiagnosisTreeView from \"./DiagnosisTreeView\";\nimport ProcedureTreeView from \"./ProcedureTreeView\";\nimport Spells from \"./Spells\";\nimport Episodes from \"./Episodes\";\nimport Results from \"./Results\";\nimport Report from \"./Report\";\nimport { fabClasses } from \"@mui/material\";\nimport VisualDiagram from \"./VisualDiagram\";\nimport { redirectToLogin } from \".././authentication/authenticationSlice\";\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nexport default function Interactive() {\n const [open, setOpen] = useState(false);\n const [diagnosisSearchValue, setDiagnosisSearchValue] = useState(\"\");\n const [procedureSearchValue, setProcedureSearchValue] = useState(\"\");\n const [incrementDiagnosis, setIncrementDiagnosis] = useState(1);\n const [incrementAdditionalDiagnosis, setIncrementAdditionalDiagnosis] =\n useState(1);\n const [incrementProcedure, setIncrementProcedure] = useState(1);\n const [incrementAdditionalProcedure, setIncrementAdditionalProcedure] =\n useState(1);\n const [incrementInteractiveList, setIncrementInteractiveList] = useState(1);\n const [openDialog, setOpenDialog] = useState(false);\n const [dialogContent, setDialogContent] = useState(\"\");\n const [panelName, setPanelName] = useState(\"\");\n const [showSpells, setShowSpells] = useState(false);\n const [enabled, setEnabled] = useState(false);\n const [initialStep, setInitialStep] = useState(0);\n const [hintEnabled, setHintEnabled] = useState(false);\n const [stepCounter, setStepCounter] = useState(0);\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.interactive);\n const {\n selectedInteractiveObj,\n selectedInteractiveName,\n selectedInteractiveYear,\n blobToDownload,\n selectedFileType,\n fileNotExists,\n patientInfoPanel,\n diseasesPanel,\n episodesPanel,\n spellsPanel,\n resultsPanel,\n isChooseDiagnosis,\n isChooseDiagAdditional,\n diagnosis,\n diagnosisData,\n diagnosisSet,\n procedure,\n procedureData,\n isChooseProcedure,\n isChooseProcAdditional,\n procedureSet,\n diagnosisSearch,\n procedureSearch,\n patientInputs,\n gender,\n disableBirth,\n birthValue,\n enableBirthInfo,\n isMale,\n age,\n ageUnit,\n gestationAge,\n discharge,\n contactType,\n birthType,\n height,\n weight,\n hospitalisationMethod,\n reasonForContact,\n contactDays,\n contactDaysStartDate,\n contactDaysEndDate,\n disableContactReason,\n varighed,\n isYearGreaterThan2021,\n disableContactDays,\n dateError,\n interactiveList,\n updateSuccess,\n contactDaysNoProgress,\n resultError,\n errorMessage,\n reportDialog,\n visualDialog,\n isResultLoading,\n noVisualIDError,\n loadDiagAndProc,\n } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n\n useEffect(() => {\n dispatch(getInteractiveNames({ method: \"GET\", login: true })).then(() => {\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" })).then(() => { });\n });\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n return dispatch(resetInteractive());\n }, []);\n\n const handleDownload = (e) => {\n e.preventDefault();\n //console.log(\"selectedInteractiveName:\", selectedInteractiveName);\n if (selectedInteractiveName != \"\") {\n var eventValue = e.currentTarget.value;\n dispatch(setSelectedFileToDownload(eventValue));\n switch (eventValue) {\n case \"News\":\n var url =\n \"api/DownloadPdfFiles?Id=\" +\n selectedInteractiveObj.id +\n \"&selectionType=\" +\n \"Interactive\" +\n \"&selectedOption=\" +\n \"InteractiveNews\";\n break;\n case \"Guidance\":\n var url =\n \"api/DownloadPdfFiles?Id=\" +\n selectedInteractiveObj.id +\n \"&selectionType=\" +\n \"Interactive\" +\n \"&selectedOption=\" +\n \"InteractiveGuide\";\n break;\n }\n dispatch(getZipFile({ url: url, method: \"GET\" }));\n }\n };\n const handleQuickStartGuide = (e) => {\n setEnabled(true);\n };\n const onExit = () => {\n setEnabled(false);\n };\n const steps = [\n {\n element: \"#step1\",\n intro: t(\"interactive.intro1\"),\n position: \"bottom\",\n },\n {\n element: \"#step2\",\n intro: t(\"interactive.intro2\"),\n position: \"bottom\",\n },\n {\n element: \"#step3\",\n intro: t(\"interactive.intro3\"),\n position: \"bottom\",\n },\n {\n element: \"#step4\",\n intro: t(\"interactive.intro4\"),\n position: \"bottom\",\n },\n {\n element: \"#step5\",\n intro: t(\"interactive.intro5\"),\n position: \"bottom\",\n },\n {\n element: \"#step6\",\n intro: t(\"interactive.intro6\"),\n position: \"bottom\",\n },\n ];\n const stepOptions = {\n showBullets: true,\n showButtons: true,\n exitOnOverlayClick: true,\n keyboardNavigation: true,\n nextLabel: t(\"interactive.next\") + \"→\",\n prevLabel: \"←\" + t(\"interactive.back\"),\n skipLabel: t(\"interactive.skip\"),\n doneLabel: t(\"interactive.done\"),\n };\n const infoTip = [\n {\n element: \"#info1\",\n title: t(\"interactive.AboutInteractive\"),\n intro: t(\"interactive.info1\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info2\",\n title: t(\"interactive.AboutPatientInfo\"),\n intro: t(\"interactive.info2\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info3\",\n title: t(\"interactive.AboutDiseasesTreatment\"),\n intro: t(\"interactive.info3\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info4\",\n title: t(\"interactive.AboutEpisodes\"),\n intro: t(\"interactive.info4\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info5\",\n title: t(\"interactive.AboutSpells\"),\n intro: t(\"interactive.info5\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info6\",\n title: t(\"interactive.AboutResults\"),\n intro: t(\"interactive.info6\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n ];\n const handleHintClick = (count) => (e) => {\n setHintEnabled(true);\n setStepCounter(count);\n };\n const handleInfoClose = () => {\n setHintEnabled(false);\n };\n const handleClose = () => {\n setOpen(false);\n };\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedInteractiveObj) {\n dispatch(clearAllInformation());\n dispatch(\n setInteractiveDetails({\n id: selectedInteractiveObj.id,\n name: selectedInteractiveObj.interactiveName,\n year: selectedInteractiveObj.year,\n })\n );\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n setOpen(false);\n };\n\n const handlePanelChange = (panel) => (event, newExpanded) => {\n dispatch(setPanel(panel));\n };\n\n const handleClear = (panel) => (event, newExpanded) => {\n event.preventDefault();\n setPanelName(panel);\n if (panel === \"patientInfoPanel\") {\n setDialogContent(t(\"interactive.patientClear\"));\n } else if (panel === \"diseasesPanel\") {\n setDialogContent(t(\"interactive.diseaseClear\"));\n } else if (panel === \"spellsPanel\") {\n setDialogContent(t(\"interactive.spellClear\"));\n } else if (panel === \"episodesPanel\") {\n setDialogContent(t(\"interactive.episodesClear\"));\n } else if (panel === \"resultsPanel\") {\n setDialogContent(t(\"interactive.resultClear\"));\n } else if (panel === \"clearAll\") {\n setDialogContent(t(\"interactive.clearAllInfo\"));\n }\n setOpenDialog(true);\n };\n\n const handleOk = () => {\n setOpenDialog(false);\n if (panelName === \"patientInfoPanel\") {\n dispatch(clearPatientInformation());\n dispatch(getAllMasterData({ method: \"GET\" }));\n } else if (panelName === \"diseasesPanel\") {\n dispatch(clearDiseaseInformation());\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(getAllDiagnosis({ method: \"GET\" }));\n dispatch(getAllProcedures({ method: \"GET\" }));\n } else if (panelName === \"spellsPanel\") {\n dispatch(clearSpellInformation());\n } else if (panelName === \"episodesPanel\") {\n dispatch(clearEpisodesInformation());\n } else if (panelName === \"resultsPanel\") {\n dispatch(clearResultInformation());\n } else if (panelName === \"clearAll\") {\n dispatch(clearAllInformation());\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n };\n const handleDialogClose = () => {\n setOpenDialog(false);\n };\n\n //Patient Information Section\n const handleGenderChange = (e) => {\n dispatch(setGender(e.target.value));\n };\n\n const handleBirthChange = (e) => {\n dispatch(setBirthValue(e.target.value));\n };\n\n const handleAgeChange = (e) => {\n dispatch(setValues({ name: \"age\", value: e.target.value }));\n };\n\n const handleAgeUnitChange = (e) => {\n dispatch(setValues({ name: \"ageUnit\", value: e.target.value }));\n };\n\n const handleGestationAgeChange = (e) => {\n dispatch(setValues({ name: \"gestationAge\", value: e.target.value }));\n };\n\n const handleDischargeChange = (e) => {\n dispatch(setValues({ name: \"discharge\", value: e.target.value }));\n };\n\n const handleContactTypeChange = (e) => {\n dispatch(setValues({ name: \"contactType\", value: e.target.value }));\n if(e.target.value == \"6\"){\n dispatch(setSelectionButton({ name: \"diagnosis\", value: true }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n dispatch(clearOnContact());\n }\n if(diagnosis.length > 0 && e.target.value!= \"6\"){\n dispatch(setSelectionButton({ name: \"diagnosis\", value: false }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n }\n };\n\n const handleBirthTypeChange = (e) => {\n dispatch(setValues({ name: \"birthType\", value: e.target.value }));\n };\n\n const handleHeightChange = (e) => {\n dispatch(setValues({ name: \"height\", value: e.target.value }));\n };\n\n const handleWeightChange = (e) => {\n dispatch(setValues({ name: \"weight\", value: e.target.value }));\n };\n\n const handlePriorityChange = (e) => {\n dispatch(\n setValues({ name: \"hospitalisationMethod\", value: e.target.value })\n );\n };\n\n const handleContactReasonChange = (e) => {\n dispatch(setValues({ name: \"reasonForContact\", value: e.target.value }));\n };\n\n const handleContactDaysChange = (e) => {\n dispatch(setValues({ name: \"contactDays\", value: e.target.value }));\n };\n\n const handleContactStartDateChange = (val) => {\n dispatch(setValues({ name: \"contactDaysStartDate\", value: val }));\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n };\n\n const handleContactEndDateChange = (val) => {\n dispatch(setValues({ name: \"contactDaysEndDate\", value: val }));\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n };\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n function calculateDate() {\n var date1 = contactDaysStartDate;\n var date2 = contactDaysEndDate;\n if (date1 != null && date2 != null) {\n var oneDay = 24 * 60 * 60 * 1000;\n var duration = Math.round(\n Math.abs((date1.getTime() - date2.getTime()) / oneDay)\n );\n if (date1 > date2) {\n dispatch(setDateToDefault());\n } else {\n var contactDays = duration + 1;\n dispatch(setValues({ name: \"contactDays\", value: String(contactDays) }));\n }\n }\n }\n const handleDurationChange = (e) => {\n dispatch(setValues({ name: \"varighed\", value: e.target.value }));\n };\n\n function displayGestation() {\n if (patientInputs.length > 0 && isMale) {\n return Object.values(patientInputs[0].maleGestation).map((a) => {\n return {a.name[language]};\n });\n } else if (patientInputs.length > 0) {\n return Object.values(patientInputs[0].femaleGestation).map((a) => {\n return {a.name[language]};\n });\n } else {\n return null;\n }\n }\n\n //Diagnosis\n const selectDiagnosis = (e) => {\n setIncrementDiagnosis(incrementDiagnosis + 1);\n var tempData = [];\n if (diagnosis.length <= 0) {\n dispatch(\n setDiagnosis({\n uniqueID: incrementDiagnosis,\n type: \"A\",\n code: diagnosisData.code,\n Id: diagnosisData.id,\n name: diagnosisData.name,\n selected: true,\n })\n );\n } else {\n dispatch(\n setDiagnosis({\n uniqueID: incrementDiagnosis,\n type: \"B\",\n code: diagnosisData.code,\n Id: diagnosisData.id,\n name: diagnosisData.name,\n selected: false,\n })\n );\n }\n };\n\n if (diagnosisSet) {\n checkAdditionalDiagButton();\n }\n\n function checkAdditionalDiagButton() {\n if ((diagnosis.length > 0) && contactType!= \"6\" && isChooseDiagnosis == false) {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n } else {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n }\n }\n\n const selectDiagnosisAdditionalCode = (e) => {\n setIncrementAdditionalDiagnosis(incrementAdditionalDiagnosis + 1);\n var index = diagnosis.findIndex((item) => item.selected === true);\n dispatch(\n setDiagnosisAdditionalCode({\n index: index,\n uniqueID: incrementAdditionalDiagnosis,\n type: \"T\",\n code: diagnosisData.code,\n Id: diagnosisData.Id,\n name: diagnosisData.name,\n })\n );\n };\n\n const handleDiagnosisSelect = (item) => () => {\n var index = diagnosis.findIndex((a) => a.Id === item.Id);\n dispatch(updateSelectedDiagnosis({ index: index, value: true }));\n };\n const handleDiagnosisMoveUp = (index) => () => {\n dispatch(diagnosisMoveUp(index));\n };\n const handleDiagnosisMoveDown = (index) => () => {\n dispatch(diagnosisMoveDown(index));\n };\n const handleDeleteDiagnosis = (val) => () => {\n var index = diagnosis.findIndex((item) => item.uniqueID === val);\n dispatch(deleteDiagnosis({ index: index }));\n };\n\n const handleDeleteAdditionalDiagnosis = (diagID, codeID) => () => {\n var diagIndex = diagnosis.findIndex((item) => item.uniqueID === diagID);\n var addDiagIndex = diagnosis[diagIndex].additionalCode.findIndex(\n (a) => a.uniqueID === codeID\n );\n dispatch(\n deleteAdditionalDiagnosis({\n diagIndex: diagIndex,\n addDiagIndex: addDiagIndex,\n })\n );\n };\n\n const handleDiagnosisSearch = (event) => {\n setDiagnosisSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getDiagnosisSearch({\n method: \"GET\",\n search: event.target.value ?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setSearchStatus({ name: \"diagnosis\", value: true }));\n });\n }\n else if (event.target.value == \"\") {\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n }\n };\n const closeDiagnosisSearch = () => {\n setDiagnosisSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n };\n\n //Procedure\n const selectProcedure = (e) => {\n setIncrementProcedure(incrementProcedure + 1);\n dispatch(\n setProcedure({\n uniqueID: incrementProcedure,\n type: \"P\",\n code: procedureData.code,\n Id: procedureData.id,\n name: procedureData.name,\n selected: procedure.length <= 0 ? true : false,\n })\n );\n };\n\n if (procedureSet) {\n checkAdditionalProcButton();\n }\n function checkAdditionalProcButton() {\n if (procedure.length > 0) {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: false }));\n } else {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: true }));\n }\n }\n\n const selectProcedureAdditionalCode = (e) => {\n setIncrementAdditionalProcedure(incrementAdditionalProcedure + 1);\n var index = procedure.findIndex((item) => item.selected === true);\n dispatch(\n setProcedureAdditionalCode({\n index: index,\n uniqueID: incrementAdditionalProcedure,\n type: \"T\",\n code: procedureData.code,\n Id: procedureData.Id,\n name: procedureData.name,\n })\n );\n };\n\n const handleProcedureSelect = (item) => () => {\n var index = procedure.findIndex((a) => a.Id === item.Id);\n dispatch(updateSelectedProcedure({ index: index, value: true }));\n };\n\n const handleProcedureMoveUp = (index) => () => {\n dispatch(procedureMoveUp(index));\n };\n const handleProcedureMoveDown = (index) => () => {\n dispatch(procedureMoveDown(index));\n };\n const handleDeleteProcedure = (val) => () => {\n var index = procedure.findIndex((item) => item.uniqueID === val);\n dispatch(deleteProcedure({ index: index }));\n };\n\n const handleDeleteAdditionalProcedure = (procID, codeID) => () => {\n var procIndex = procedure.findIndex((item) => item.uniqueID === procID);\n var addProcIndex = procedure[procIndex].additionalCode.findIndex(\n (a) => a.uniqueID === codeID\n );\n dispatch(\n deleteAdditionalProcedure({\n procIndex: procIndex,\n addProcIndex: addProcIndex,\n })\n );\n };\n\n const handleProcedureSearch = (event) => {\n setProcedureSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getProcedureSearch({\n method: \"GET\",\n search: event.target.value ?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setSearchStatus({ name: \"procedure\", value: true }));\n });\n }\n else if (event.target.value == \"\") {\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n }\n };\n const closeProcedureSearch = () => {\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n };\n\n const handleAddToSpell = (e) => {\n if (diagnosis.length > 0 || (procedure.length> 0 && contactType == '6')) {\n setShowSpells(true);\n\n getPatientInputs(e.target.value);\n } else {\n setShowSpells(false);\n }\n };\n\n const handleRunQuery = (e) => {\n if (diagnosis.length > 0 || (procedure.length> 0 && contactType == '6')) {\n //setShowEpisodes(true);\n dispatch(setInteractiveLoading(true));\n getPatientInputs(e.target.value);\n } else {\n //setShowEpisodes(false);\n }\n };\n\n //Used to generate the interactive array from selected values\n function getPatientInputs(handler) {\n setIncrementInteractiveList(incrementInteractiveList + 1);\n var id = incrementInteractiveList;\n var genderText = patientInputs[0].gender.filter((a) => a.value == gender)[0]\n ?.name;\n var ageTypeText = patientInputs[0].unit.filter((a) => a.value == ageUnit)[0]\n ?.name;\n var contactTypeText = patientInputs[0].contactType.filter(\n (a) => a.value == contactType\n )[0].name;\n var hospWayText = patientInputs[0].hospitalisationMethod.filter(\n (a) => a.value == hospitalisationMethod\n )[0].name;\n var dischargeText = patientInputs[0].releaseMethod.filter(\n (a) => a.value == discharge\n )[0].name;\n var birthTypeText = patientInputs[0].birthType.filter(\n (a) => a.value == birthType\n )[0].name;\n var reasonForContactText = patientInputs[0].reasonForContact.filter(\n (a) => a.value == reasonForContact\n )[0].name;\n if (isMale) {\n var gestationText = patientInputs[0].maleGestation.filter(\n (a) => a.value == gestationAge\n )[0].name;\n } else {\n var gestationText = patientInputs[0].femaleGestation.filter(\n (a) => a.value == gestationAge\n )[0].name;\n }\n if (isYearGreaterThan2021)\n var varighedDescription = patientInputs[0].varighed.filter(\n (a) => a.value == varighed\n )[0].name;\n var intData = [];\n intData.push({\n id: incrementInteractiveList,\n age: age,\n ageTypeValue: ageUnit,\n ageTypeText: ageTypeText,\n contactTypeValue: contactType,\n contactTypeText: contactTypeText,\n genderValue: gender,\n genderText: genderText,\n isMale: isMale,\n isBirth: birthValue === \"Yes\" ? 1 : 0,\n birthTypeText: birthTypeText,\n birthTypeValue: birthType,\n height: height,\n weight: weight,\n hospWayText: hospWayText,\n hospWayValue: hospitalisationMethod,\n reasonForContactText: reasonForContactText,\n reasonForContactValue: reasonForContact,\n dischargeText: dischargeText,\n dischargeValue: discharge,\n maleGestationAgeValue: gestationAge,\n femaleGestationAgeValue: gestationAge,\n gestationText: gestationText,\n varighed: varighed,\n varighedDescription: varighedDescription,\n contactDays: parseInt(contactDays),\n contactDaysStartDate: contactDaysStartDate,\n contactDaysEndDate: contactDaysEndDate,\n diagnosis: diagnosis,\n procedure: procedure,\n expandCollapseValue: \"Collapse\",\n registrations: [],\n progress: [],\n results: [],\n });\n\n if (handler === \"AddToSpell\") {\n dispatch(addToSpell({ data: intData, handler: handler }));\n } else if (handler === \"RunQuery\") {\n dispatch(addToSpell({ data: intData, handler: handler }));\n var requestList = createRequestList(intData[0]);\n postInteractiveRequest(requestList, \"contact\", intData, handler);\n }\n }\n /* if (updateSuccess && showEpisodes) {\n createRequestList();\n } */\n function createRequestList(obj) {\n var reqData = [];\n\n let gestationAge = isMale\n ? {\n Code: obj.maleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n }\n : {\n Code: obj.femaleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n };\n let reasonForContact =\n obj.hospWayValue === \"1\"\n ? generateListItems(obj, \"ReasonForContact\")\n : null;\n let contactType = generateListItems(obj, \"ContactType\");\n var liggeDage = \"\";\n if (isYearGreaterThan2021) {\n if (obj.varighed == \"0\") {\n liggeDage = \"\";\n } else if (obj.varighed == \"1\") {\n liggeDage = \"1\";\n } else {\n liggeDage = \"12\";\n }\n }\n var diagnosis = [];\n obj.diagnosis.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n diagnosis.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n var procedure = [];\n obj.procedure.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n procedure.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n if (isYearGreaterThan2021) {\n reqData.push({\n RId: 1,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n LiggidageBedInDays: liggeDage,\n Varighed: {\n Code: obj.varighed,\n Description: obj.varighedDescription[language],\n Significance: \"\",\n },\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language]: null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n } else {\n reqData.push({\n RId: 1,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language]: null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n }\n return reqData;\n }\n\n function generateListItems(obj, col) {\n let retObj = {};\n if (col == \"ContactType\") {\n if (isYearGreaterThan2021) {\n if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"2\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"5\") {\n retObj.Code = \"1\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n } else {\n if (obj.contactTypeValue == \"3\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n }\n } else if (col == \"ReasonForContact\") {\n if (obj.reasonForContactValue == \"0\") {\n retObj.Code = \" \";\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.reasonForContactValue;\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n }\n }\n return retObj;\n }\n\n function postInteractiveRequest(requestList, type, data, handler) {\n var viewModel = {};\n let overWriteBedDays, overWriteVarighed;\n dispatch(setRequestType(type));\n if (type == \"episode\") {\n overWriteBedDays = contactDaysNoProgress;\n if (isYearGreaterThan2021) {\n //varighed\n overWriteVarighed = requestList.Varighed;\n }\n } else {\n overWriteBedDays = null;\n overWriteVarighed = null;\n }\n\n viewModel = {\n Name: selectedInteractiveObj.interactiveName,\n Version: selectedInteractiveObj.interactiveVersion,\n Year: selectedInteractiveObj.year,\n OverWriteBedDays: overWriteBedDays,\n OverWriteVarighed: overWriteVarighed,\n interactive: requestList,\n };\n\n dispatch(\n interactiveProcessResult({ method: \"POST\", body: viewModel })\n ).then(() => {\n //console.log(\"Res Run Query\");\n });\n }\n const handleReport = (e) => {\n if (resultsPanel) {\n dispatch(setReportDialog(true));\n }\n };\n\n if (blobToDownload && selectedFileType) {\n switch (selectedFileType) {\n case \"News\":\n saveAs(blobToDownload, \"Interactive News.pdf\");\n break;\n case \"Guidance\":\n saveAs(blobToDownload, \"Interactive Guidance.pdf\");\n break;\n }\n dispatch(clearValues());\n }\n\n if (patientInputs.length > 0) {\n //console.log(Object.values(patientInputs[0].contactType)[0].value);\n }\n\n if (!interactive.isSessionValid) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n return (\n
\n \n
\n \n
\n \n
\n
\n \n {t(\"interactive.Interactive\")}\n \n \n
\n
\n \n \n {t(\"interactive.news\")} (PDF)\n \n \n \n {t(\"interactive.guidance\")} (PDF)\n \n \n \n {t(\"interactive.quickStartGuide\")}\n \n \n \n {t(\"interactive.clearAll\")}\n \n
\n
\n \n
\n \n
\n \n {selectedInteractiveName == \"\"\n ? \"Select the interactive file\"\n : selectedInteractiveName + \" - \" + selectedInteractiveYear}\n \n {\n setOpen(true);\n }}\n >\n {t(\"Global.open_file\")}\n \n
\n \n \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
\n \n {t(\"interactive.patientInformation\")}\n \n \n
\n
\n \n \n {t(\"interactive.clear\")}\n \n
\n \n \n
\n 0 && gender == \"\"\n ? Object.values(patientInputs[0].gender)[0].value\n : gender\n }\n onChange={handleGenderChange}\n sx={{ width: \"10%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].gender).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n \n {t(\"Global.yes\")}\n {t(\"Global.no\")}\n \n \n 0 && ageUnit == \"\"\n ? Object.values(patientInputs[0].unit)[0].value\n : ageUnit\n }\n onChange={handleAgeUnitChange}\n sx={{ width: \"9%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].unit).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n \n {patientInputs.length > 0 ? displayGestation() : null}\n \n 0 && discharge == \"\"\n ? Object.values(patientInputs[0].releaseMethod)[0]\n .value\n : discharge\n }\n onChange={handleDischargeChange}\n sx={{ width: \"20%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].releaseMethod).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n 0 && contactType == \"\"\n ? Object.values(patientInputs[0].contactType)[0].value\n : contactType\n }\n onChange={handleContactTypeChange}\n sx={{ width: \"20%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].contactType).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n
\n {enableBirthInfo ? (\n
\n \n {t(\"interactive.motherInformation\")}\n \n
\n 0 && birthType == \"\"\n ? Object.values(patientInputs[0].birthType)[0]\n .value\n : birthType\n }\n onChange={handleBirthTypeChange}\n sx={{ width: \"50%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].birthType).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n cm\n ),\n }}\n onChange={handleHeightChange}\n sx={{ width: \"20%\" }}\n />\n kg\n ),\n }}\n onChange={handleWeightChange}\n sx={{ width: \"20%\" }}\n />\n
\n
\n ) : null}\n\n
\n 0 && hospitalisationMethod == \"\"\n ? Object.values(\n patientInputs[0].hospitalisationMethod\n )[1].value\n : hospitalisationMethod\n }\n onChange={handlePriorityChange}\n sx={\n isYearGreaterThan2021\n ? { width: \"15%\" }\n : { width: \"20%\" }\n }\n helperText={t(\"interactive.priority_helper\")}\n >\n {patientInputs.length > 0\n ? Object.values(\n patientInputs[0].hospitalisationMethod\n ).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n 0 && reasonForContact == \"\"\n ? Object.values(patientInputs[0].reasonForContact)[0]\n .value\n : reasonForContact\n }\n onChange={handleContactReasonChange}\n sx={\n isYearGreaterThan2021\n ? { width: \"15%\" }\n : { width: \"20%\" }\n }\n disabled={disableContactReason}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].reasonForContact).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n {isYearGreaterThan2021 ? (\n 0 && varighed == \"\"\n ? Object.values(patientInputs[0].varighed)[0].value\n : varighed\n }\n onChange={handleDurationChange}\n sx={{ width: \"15%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].varighed).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n ) : null}\n \n
\n \n \n handleContactStartDateChange(newValue)\n }\n disabled={isYearGreaterThan2021 && disableContactDays}\n className=\"interactive-date-picker\"\n sx={{ width: \"20%\" }}\n renderInput={(params) => }\n />\n \n \n \n handleContactEndDateChange(newValue)\n }\n sx={{ width: \"20%\" }}\n disabled={isYearGreaterThan2021 && disableContactDays}\n renderInput={(params) => }\n />\n \n
\n
\n
\n
\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
\n \n {t(\"interactive.diseasesTreatments\")}\n \n \n
\n
\n \n \n {t(\"interactive.clear\")}\n \n
\n \n \n
\n \n \n
\n \n {t(\"interactive.diagnosis\")}\n \n
\n \n \n {t(\"interactive.diagnosis\")}\n \n \n \n {t(\"interactive.additionalCode\")}\n \n
\n
\n \n ),\n endAdornment: (\n \n ),\n }}\n />\n {loadDiagAndProc ? (\n \n ) : null}\n
\n \n \n {t(\"interactive.selectedDiagnosis\")}\n \n
\n {diagnosis ?.map((item, index) => {\n return (\n
\n \n \n \n {item.type}  \n {item.name}\n \n \n
\n {diagnosis.length > 1 && (\n
\n {index === 0 ? (\n \n ) : (\n \n )}\n
\n )}\n \n
\n \n {item.additionalCode.map((b) => {\n return (\n \n \n {b.type}  \n {b.name}\n \n \n \n );\n })}\n
\n );\n })}\n
\n \n
\n \n \n
\n \n {t(\"interactive.procedure_and\")}\n \n
\n \n \n {t(\"interactive.procedure\")}\n \n \n \n {t(\"interactive.additionalCode\")}\n \n
\n
\n \n ),\n endAdornment: (\n \n ),\n }}\n />\n {loadDiagAndProc ? (\n \n ) : null}\n
\n \n \n {t(\"interactive.selectedProcedure\")}\n \n
\n {procedure ?.map((item, index) => {\n return (\n
\n \n \n \n {item.type}  \n {item.name}\n \n \n
\n {procedure.length > 1 && (\n
\n {index === 0 ? (\n \n ) : (\n \n )}\n
\n )}\n \n
\n \n {item.additionalCode.map((b) => {\n return (\n \n \n {b.type}  \n {b.name}\n \n \n \n );\n })}\n
\n );\n })}\n
\n \n
\n
\n
\n
\n 0 || \n (procedure.length> 0 && contactType == '6') \n ? false : true}\n >\n {t(\"interactive.addToSpell\")}\n \n \n 0 || \n (procedure.length> 0 && contactType == '6') \n ? false : true}\n >\n {t(\"interactive.runQuery\")}\n \n \n
\n
\n
\n
\n
\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
\n \n {t(\"interactive.episodes\")}\n \n \n
\n
\n \n \n {t(\"interactive.clear\")}\n \n
\n \n \n {episodesPanel ? : null}\n \n
\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
\n \n {t(\"interactive.spells\")}\n \n \n
\n
\n \n \n {t(\"interactive.clear\")}\n \n
\n \n \n {spellsPanel ? : null}\n \n
\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
\n \n {t(\"interactive.results\")}\n \n \n
\n
\n \n \n {t(\"interactive.reportView\")}\n \n \n \n {t(\"interactive.clear\")}\n \n
\n \n \n {resultsPanel ? : null}\n \n
\n
\n
\n
\n \n \n {t(\"interactive.Open_Interactive_File\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n
\n dispatch(errorMessageClose())}\n >\n dispatch(errorMessageClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"viewer.fileNotExists\")}\n \n \n dispatch(dateErrorClose())}\n >\n dispatch(dateErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(\"interactive.dateError\")}\n \n \n dispatch(dateErrorClose())}\n >\n dispatch(dateErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(errorMessage)}\n \n \n \n {t(\"interactive.clearAll\")}\n \n \n {dialogContent}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n dispatch(handleErrorClose())}\n >\n dispatch(handleErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {!noVisualIDError && t(errorMessage)}\n {noVisualIDError && t(\"interactive.noVisualError\")}\n \n \n theme.zIndex.drawer + 1 }}\n open={isResultLoading}\n >\n \n \n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { styled } from \"@mui/material/styles\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport Typography from \"@mui/material/Typography\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport FolderIcon from \"@mui/icons-material/Folder\";\nimport {\n setSelectedEditor,\n} from \"./editorSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n backgroundColor: \"var(--tree-view-bg-color)\",\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function InteractiveSelectionTree() {\n const dispatch = useDispatch();\n const editor = useSelector((state) => state.editor);\n const {\n editorCollection,\n yearsCollection,\n selectedEditorID,\n selectedEditorName,\n selectedEditorYear,\n } = editor;\n\n const [selectedValue, setSelectedValue] = useState(selectedEditorID);\n\n const handleSelection = (obj) => () => {\n setSelectedValue(obj.id);\n dispatch(setSelectedEditor(obj));\n };\n\n return (\n }\n defaultExpandIcon={}\n defaultEndIcon={
}\n sx={{ height: \"100%\", flexGrow: 1, maxWidth: 600, width: 360 }}\n >\n {yearsCollection.map((year) => {\n return (\n a.year == year).length\n }\n color=\"#1a73e8\"\n >\n {editorCollection\n .filter((a) => a.year == year)\n .map((x) => {\n let labelDate = x.createdDate != null ? x.createdDate : \"\";\n return (\n \n );\n })}\n \n );\n })}\n \n );\n}\n","export const editorEditValues = {\n ICD : [\"+\",\"-\",\"\"],\n INDM : [\"1\",\"2\",\"\"],\n OR : [\"+\",\"-\",\"\"],\n COMPL : [\"0\",\"1\",\"\"],\n DISCDISP : [\"E\",\"R\",\"\"],\n SEX : [\"M\",\"F\",\"-\",\"\"],\n INDLAEG : [\">1\",\"<:1\",\"\"],\n PATTYPE : [\"5\",\"6\",\"7\",\"8\",\"9\",\"\"],\n KONTAARS : [\"1\",\"\"]\n}","import React, { useState, useEffect } from 'react'\nimport { useSelector, useDispatch } from \"react-redux\";\nimport \"./Editor.css\";\nimport { useTranslation } from \"react-i18next\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport TextField from \"@mui/material/TextField\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Button from \"@mui/material/Button\";\nimport MenuItem from '@mui/material/MenuItem';\nimport { useForm } from \"react-hook-form\";\nimport { editorEditValues } from \"./editorEditValues\";\nimport { debounce } from \"@mui/material\";\nimport {\n clearStatus,\n setMasterSelectedEditorData,\n setSelectedEditorData,\n setDrgLogicComments,\n setOpenCellEdit,\n} from \"./editorSlice\";\n\nexport default function CellEdit(props) {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const editor = useSelector((state) => state.editor);\n const { register, handleSubmit, reset, formState: { errors }, } = useForm();\n const [masterData, setMasterData] = useState();\n const {\n selectedCellDetails,\n openCellEdit,\n selectedRows,\n masterSelectedEditorData,\n selectedEditorData,\n DrgLogicComments,\n } = editor;\n const apiRef = props.apiRef;\n const ruleId = selectedCellDetails.id\n const fieldName = selectedCellDetails.field.toUpperCase();\n let fieldValue = selectedCellDetails.value;\n\n useEffect(() => {\n setMasterData(editorEditValues[selectedCellDetails.field.toUpperCase()]);\n reset({ columnValue: selectedCellDetails.value });\n }, []);\n\n const handleClose = () => {\n dispatch(clearStatus());\n }\n\n const handleValidate = (fieldName) => (fieldValue) => {\n if (fieldName == \"MDC\") {\n if (fieldValue == \"\" || fieldValue == null) {\n return true;\n }\n else {\n var myRe = /^(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|98)$/g;\n var myArray = myRe.exec(fieldValue);\n if (myArray == null) {\n return t(\"Editor.invalid_mdc\");\n }\n else { return true; }\n }\n }\n if (fieldName == \"AGELIM\") {\n if (fieldValue == \"\" || fieldValue == null) {\n return true;\n }\n else {\n var myRe = /^[-]?[0-9]{1,5}$/g;\n var myArray = myRe.exec(fieldValue);\n if (myArray == null) {\n return t(\"Editor.invalid_agelim\");\n }\n else { return true; }\n }\n }\n if (fieldName == \"DRG\") {\n if (fieldValue == null || fieldValue == \"\") {\n return t(\"Editor.empty_drg\");\n }\n else {\n var myRe = /^[a-zA-Z0-9]{2,10}$/;\n var myArray = myRe.exec(fieldValue);\n if (myArray == null) {\n return t(\"Editor.invalid_drg\");\n }\n else { return true; }\n }\n\n }\n if (fieldName == \"RTC\") {\n if (fieldValue == null || fieldValue == \"\") {\n return t(\"Editor.empty_rtc\");\n }\n else {\n var myRe = /^[0-9]{1}$/g;\n var myArray = myRe.exec(fieldValue);\n if (myArray == null) {\n return t(\"Editor.invalid_rtc\");\n }\n else { return true; }\n }\n }\n if (fieldName == \"DOEDLIM\") {\n if (fieldValue == \"\" || fieldValue == null) {\n return true;\n }\n else {\n var myRe = /^[0-9]{1,10}$/g;\n var myArray = myRe.exec(fieldValue);\n if (myArray == null) {\n return t(\"Editor.invalid_doedlim\");\n }\n else { return true; }\n }\n }\n else { return true; }\n }\n\n const onSubmit = async (values) => {\n const cellName = selectedCellDetails.field;\n const cellValue = values?.columnValue;\n const comment = values?.comment_msg;\n let commentArray = [];\n if (selectedRows.length > 0) {\n for (let i = 0; i < selectedRows.length; i++) {\n apiRef.current.startCellEditMode({ id: selectedRows[i], field: cellName });\n const isValid = await apiRef.current.setEditCellValue({\n id: selectedRows[i],\n field: cellName,\n value: cellValue,\n debounceMs: 1 \n });\n if (isValid) {\n apiRef.current.stopCellEditMode({ id: selectedRows[i], field: cellName });\n }\n var commentData = {\n RuleNo: selectedRows[i],\n FieldName: fieldName,\n Comments: comment,\n }\n commentArray.push(commentData);\n }\n dispatch(setDrgLogicComments(commentArray));\n }\n else {\n apiRef.current.startCellEditMode({ id: ruleId, field: cellName });\n const isValid = await apiRef.current.setEditCellValue({\n id: ruleId,\n field: cellName,\n value: cellValue,\n debounceMs: 1\n });\n\n if (isValid) {\n apiRef.current.stopCellEditMode({ id: ruleId, field: cellName });\n }\n\n var commentData = {\n RuleNo: ruleId,\n FieldName: fieldName,\n Comments: comment,\n }\n dispatch(setDrgLogicComments(commentData));\n }\n const rows = apiRef.current.getRowModels();\n let updatedRows = [];\n for (let value of rows.values()) {\n updatedRows.push(value);\n }\n let updatedArray = [];\n updatedArray = masterSelectedEditorData.map(obj => updatedRows.find(o => o.ruleNo === obj.ruleNo) || obj);\n dispatch(setSelectedEditorData(updatedRows));\n dispatch(setMasterSelectedEditorData(updatedArray));\n dispatch(clearStatus());\n };\n\n return (\n
\n \n \n {selectedRows.length > 1 && (<>\n Edit {fieldName} for selected rows\n )}\n {selectedRows.length <= 1 && (<>\n {t(\"Global.edit\")} {fieldName} for {t(\"Editor.rule_no\")}: {selectedCellDetails.id}\n )}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
\n \n {masterData == undefined && (\n \n )}\n {masterData != undefined && masterData.length > 0 && (\n \n {masterData.map((item) => {\n return (\n \n {item}\n \n );\n })}\n \n )}\n \n \n \n \n \n \n
\n
\n
\n )\n}\n","import React, { useState, useEffect, useRef, useLayoutEffect } from 'react'\nimport { useSelector, useDispatch } from \"react-redux\";\nimport \"./Editor.css\";\nimport { useTranslation } from \"react-i18next\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Button from \"@mui/material/Button\";\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport FormControl from '@mui/material/FormControl';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Typography from \"@mui/material/Typography\";\nimport FormHelperText from '@mui/material/FormHelperText';\nimport Divider from \"@mui/material/Divider\";\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { List } from \"react-virtualized\";\n\nimport {\n clearStatus,\n setMasterSelectedEditorData,\n setSelectedGroupCode,\n GetGroupCodes,\n GetGroupCodesSubList,\n setDrgLogicComments,\n setGroupCodesFilter,\n setDiagonisFilter,\n setOpenCellEditContains,\n setSelectedEditorData,\n} from \"./editorSlice\";\n\nexport default function CellEditContains(props) {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const editor = useSelector((state) => state.editor);\n const {\n selectedEditorID,\n selectedCellDetails,\n selectedRows,\n masterGroupCodesList,\n groupCodesList,\n masterGroupCodesSubList,\n groupCodesSubList,\n openCellEditContains,\n masterSelectedEditorData,\n selectedEditorData,\n selectedGroupCode,\n DrgLogicComments,\n isLoading,\n SKSList,\n } = editor;\n const apiRef = props.apiRef;\n const { register, handleSubmit, reset, formState: { errors }, control } = useForm();\n const ruleId = selectedCellDetails.id\n let fieldName = selectedCellDetails.field.toUpperCase();\n let fieldValue = selectedCellDetails.value;\n const [value, setValue] = useState(\"allow\");\n const [remove, setRemove] = useState(false);\n const [searchValue, setSearchValue] = useState(\"\");\n const [searchMsg, setSearchMsg] = useState(\"\");\n\n useEffect(() => {\n if (fieldValue != \" \" && fieldValue != null) {\n if (fieldValue.includes(\"-\")) {\n setValue(\"disAllow\");\n dispatch(setSelectedGroupCode(fieldValue));\n fieldValue = fieldValue.slice(1, fieldValue.length);\n }\n else {\n dispatch(setSelectedGroupCode(fieldValue));\n }\n }\n if (fieldName != \"\") {\n if (fieldName.includes(\"PROCPRO\") || fieldName.includes(\"SECPROC\")) {\n fieldName = \"PROCPROP\";\n }\n if (fieldName.includes(\"DGPROP\") && fieldName != \"PDGPROP\") {\n fieldName = \"DGPROP\";\n }\n }\n let url = \"api/GetGroupCodes?groupCode=\" + fieldName + \"&drgLogicName=\" + selectedEditorID;\n console.log(url);\n dispatch(GetGroupCodes({ method: \"GET\", url: url }));\n\n if (fieldValue != \"\" && fieldValue != null) {\n let url = \"api/GetGroupCodesSubList?groupCode=\" + fieldName +\n \"&groupCodeSubList=\" + fieldValue + \"&drgLogicName=\" + selectedEditorID;\n dispatch(GetGroupCodesSubList({ method: \"GET\", url: url }));\n }\n reset({ sel_groupCode: fieldValue });\n }, []);\n\n const handleClose = () => {\n dispatch(clearStatus());\n }\n\n const handleAllowDisAllowChange = (event) => {\n if (event.target.value == \"allow\") {\n setValue('allow');\n if (selectedGroupCode.includes(\"-\")) {\n dispatch(setSelectedGroupCode(selectedGroupCode.slice(1, selectedGroupCode.length)));\n }\n }\n else if (event.target.value == \"disAllow\") {\n setValue(\"disAllow\");\n if (selectedGroupCode != null) {\n dispatch(setSelectedGroupCode(\"-\" + selectedGroupCode));\n }\n else if (selectedGroupCode == null) {\n dispatch(setSelectedGroupCode());\n }\n }\n }\n\n const handleGroupCodeChange = (event) => {\n reset({ sel_groupCode: event.target.value });\n if (value == \"allow\") {\n dispatch(setSelectedGroupCode(event.target.value));\n }\n else if (value == \"disAllow\") {\n dispatch(setSelectedGroupCode(\"-\" + event.target.value));\n }\n if (event.target.value != \"\" && event.target.value != null) {\n if (fieldName != \"\") {\n if (fieldName.includes(\"PROCPRO\") || fieldName.includes(\"SECPROC\")) {\n fieldName = \"PROCPROP\";\n }\n if (fieldName.includes(\"DGPROP\") && fieldName != \"PDGPROP\") {\n fieldName = \"DGPROP\";\n }\n }\n let url = \"api/GetGroupCodesSubList?groupCode=\" + fieldName +\n \"&groupCodeSubList=\" + event.target.value + \"&drgLogicName=\" + selectedEditorID;\n dispatch(GetGroupCodesSubList({ method: \"GET\", url: url }));\n }\n }\n\n const handleGroupCodesSearch = (event) => {\n const result = masterGroupCodesList.filter((item) => {\n return (\n item ?.toLowerCase().includes(event.target.value ?.toLowerCase())\n );\n });\n if (result.length == 0) {\n setSearchMsg(\"Searched value does not match with any of the field values\");\n }\n dispatch(setGroupCodesFilter(result));\n }\n\n const handleDiagnosisSearch = (event) => {\n const result = masterGroupCodesSubList.filter((item) => {\n return (\n item ?.name.includes(event.target.value) ||\n item ?.Description.toLowerCase().includes(event.target.value ?.toLowerCase())\n );\n });\n if (result.length == 0) {\n setSearchMsg(\"Searched value does not match with any of the field values\");\n }\n dispatch(setDiagonisFilter(result));\n }\n\n const onSubmit = async (values) => {\n const cellName = selectedCellDetails.field;\n const cellValue = selectedGroupCode;\n const comment = values.comment_msg;\n let commentArray = [];\n\n if (selectedRows.length > 0) {\n for (let i = 0; i < selectedRows.length; i++) {\n apiRef.current.startCellEditMode({ id: selectedRows[i], field: cellName });\n const isValid = await apiRef.current.setEditCellValue({\n id: selectedRows[i],\n field: cellName,\n value: cellValue,\n debounceMs: 1\n });\n if (isValid) {\n apiRef.current.stopCellEditMode({ id: selectedRows[i], field: cellName });\n }\n var commentData = {\n RuleNo: selectedRows[i],\n FieldName: fieldName,\n Comments: comment,\n debounceMs: 1\n }\n commentArray.push(commentData);\n }\n dispatch(setDrgLogicComments(commentArray));\n }\n else {\n apiRef.current.startCellEditMode({ id: ruleId, field: cellName });\n const isValid = await apiRef.current.setEditCellValue({\n id: ruleId,\n field: cellName,\n value: cellValue,\n debounceMs: 1\n });\n if (isValid) {\n apiRef.current.stopCellEditMode({ id: ruleId, field: cellName });\n }\n var commentData = {\n RuleNo: ruleId,\n FieldName: fieldName,\n Comments: comment,\n debounceMs: 1\n }\n dispatch(setDrgLogicComments(commentData));\n }\n const rows = apiRef.current.getRowModels();\n let updatedRows = [];\n for (let value of rows.values()) {\n updatedRows.push(value);\n }\n let updatedArray = [];\n updatedArray = masterSelectedEditorData.map(obj => updatedRows.find(o => o.ruleNo === obj.ruleNo) || obj);\n dispatch(setSelectedEditorData(updatedRows));\n dispatch(setMasterSelectedEditorData(updatedArray));\n dispatch(setOpenCellEditContains(false));\n dispatch(clearStatus());\n }\n\n const onRemove = async (values) => {\n const cellName = selectedCellDetails.field;\n const cellValue = null;\n const comment = values.comment_msg;\n let commentArray = [];\n\n if (selectedRows.length > 0) {\n for (let i = 0; i < selectedRows.length; i++) {\n apiRef.current.startCellEditMode({ id: selectedRows[i], field: cellName });\n const isValid = await apiRef.current.setEditCellValue({\n id: selectedRows[i],\n field: cellName,\n value: cellValue,\n debounceMs: 1\n });\n if (isValid) {\n apiRef.current.stopCellEditMode({ id: selectedRows[i], field: cellName });\n }\n var commentData = {\n RuleNo: selectedRows[i],\n FieldName: fieldName,\n Comments: comment,\n }\n commentArray.push(commentData);\n }\n dispatch(setDrgLogicComments(commentData));\n }\n else {\n apiRef.current.startCellEditMode({ id: ruleId, field: cellName });\n const isValid = await apiRef.current.setEditCellValue({\n id: ruleId,\n field: cellName,\n value: cellValue,\n debounceMs: 1\n });\n if (isValid) {\n apiRef.current.stopCellEditMode({ id: ruleId, field: cellName });\n }\n var commentData = {\n RuleNo: ruleId,\n FieldName: fieldName,\n Comments: comment,\n }\n dispatch(setDrgLogicComments(commentData));\n }\n const rows = apiRef.current.getRowModels();\n let updatedRows = [];\n for (let value of rows.values()) {\n updatedRows.push(value);\n }\n let updatedArray = [];\n updatedArray = masterSelectedEditorData.map(obj => updatedRows.find(o => o.ruleNo === obj.ruleNo) || obj);\n dispatch(setSelectedEditorData(updatedRows));\n dispatch(setMasterSelectedEditorData(updatedArray));\n dispatch(setSelectedGroupCode());\n dispatch(setOpenCellEditContains(false));\n dispatch(clearStatus());\n }\n\n const renderRow = ({ index, key, style }) => {\n let sksData = SKSList.length > 0 ? SKSList.find(x => x.code == groupCodesSubList[index].name) : null;\n return (
\n {groupCodesSubList[index].isDisabled ? (\n \n \n \n ) : null}\n
\n )\n }\n\n return (\n
\n \n \n {selectedRows.length > 1 && (<>\n Edit {fieldName} for selected rows\n )}\n {selectedRows.length <= 1 && (<>\n {t(\"Global.edit\")} {fieldName} for {t(\"Editor.rule_no\")}: {ruleId}\n )}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
\n \n
\n {selectedGroupCode != \"\" && (\n {fieldName} : {selectedGroupCode} \n )}\n {selectedGroupCode == \"\" && (\n {fieldName} : {t(\"Manager.Add\")} {fieldName} \n )}\n \n \n } label=\"Allow\" />\n } label=\"Disallow\" />\n \n \n
\n
\n
\n {t(\"Global.Group_Codes\")} {fieldName} \n ,\n // endAdornment: console.log(\"Yes it works\")}/>,\n }}\n />\n
\n {groupCodesList.length > 0 && (\n \n {\n return (\n \n {groupCodesList.map((option) => (\n }\n label={option}\n />\n ))}\n \n );\n }}\n />\n \n )}\n {groupCodesList.length == 0 && (\n {searchMsg}\n )}\n
\n {errors.sel_groupCode ?.type === 'required' && (fieldName + \" \" + \"is required\")} \n
\n
\n Diagnosis\n ,\n }}\n />\n
\n {/* {groupCodesSubList.map((item) => {\n return (\n {item ?.name} {item ?.Description}\n )\n })} */}\n {groupCodesSubList.length > 0 ? (\n \n ) : (\n <>\n {groupCodesSubList.length == 0 && (\n {searchMsg}\n )}\n \n )\n }\n
\n
\n
\n \n
\n \n \n \n \n \n
\n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
\n
\n )\n}\n\n\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { clearStatus } from \"./editorSlice\";\n\nfunction SharedComponent() {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const editor = useSelector((state) => state.editor);\n const {\n isSuccess,\n isFailed,\n isError,\n isServerError,\n isRowLocked,\n isRowUnlocked,\n isRowUnlockFailed,\n isPasted,\n isDuplicated,\n isDeleted,\n isSaveSuccess,\n isSaveFailed,\n isLogicLocked,\n isLogicUnlocked,\n isCountingCodeUpdated,\n isCountingCodeFileError,\n countingCodeUpdatedFailed,\n isRowLockedByStatus,\n isRowLockedBy,\n groupCodeExists,\n groupCodeEditWarning,\n subCodeExists,\n groupCodesUpdated,\n groupCodesWarningMessage,\n groupCodesUpdateWarning,\n saveGroupCodeError,\n isInfoBulkActions,\n existingSubCodes\n } = editor;\n\n const handleCloseSnackbar = () => {\n dispatch(clearStatus());\n };\n return (\n
\n \n \n {isSaveSuccess && t(\"Editor.SaveLogic_Success\")}\n {isRowLocked && t(\"Editor.isRowLocked\")}\n {isRowUnlocked && t(\"Editor.isRowUnLocked\")}\n {isPasted && t(\"Editor.isPasted\")}\n {isDuplicated && t(\"Editor.isDuplicated\")}\n {isDeleted && t(\"Editor.isDeleted\")}\n {isLogicLocked && t(\"Editor.isLogicLocked\")}\n {isLogicUnlocked && t(\"Editor.isLogicUnlocked\")}\n {isCountingCodeUpdated && t(\"ClassificationCode.countindCodeUpdated\")}\n {groupCodesUpdated && t(\"ClassificationCode.groupCodesUpdated\")}\n \n \n \n \n {isSaveFailed && t(\"Editor.SaveLogic_Failed\")}\n {isRowUnlockFailed && t(\"Editor.isRowUnLockFailed\")}\n {isCountingCodeFileError &&\n t(\"ClassificationCode.countingCodeFileError\")}\n {countingCodeUpdatedFailed &&\n t(\"ClassificationCode.countingCodeUpdateFailed\")}\n {groupCodeExists && t(\"ClassificationCode.groupCodeExists\")}\n {groupCodeEditWarning && t(\"ClassificationCode.groupCodeEditWarning\")}\n {subCodeExists && (t(\"ClassificationCode.subCodeExist\") + ' (' + existingSubCodes + ')')}\n {groupCodesUpdateWarning && groupCodesWarningMessage}\n {isInfoBulkActions && t(\"Editor.isInfoBulkActions\")}\n \n \n \n \n {isServerError && t(\"Global.server_error\")}\n {isRowLockedByStatus &&\n t(\"Editor.isRowLockedBy\") + \" \" + isRowLockedBy}\n {saveGroupCodeError && t(\"ClassificationCode.groupCodesError\")}\n \n \n
\n );\n}\n\nexport default SharedComponent;\n","import React, { useState, useEffect, useRef, useLayoutEffect } from \"react\";\nimport \"./Editor.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Divider from \"@mui/material/Divider\";\nimport { styled } from \"@mui/material/styles\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\n//import List from \"@mui/material/List\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemButton from \"@mui/material/ListItemButton\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport SharedComponent from \"./SharedComponent\";\nimport { List } from \"react-virtualized\";\n\nimport Checkbox from \"@mui/material/Checkbox\";\nimport CheckBoxOutlineBlankIcon from \"@mui/icons-material/CheckBoxOutlineBlank\";\nimport CheckBoxIcon from \"@mui/icons-material/CheckBox\";\n\nimport {\n getAllCodes,\n checkLockforClassificationCode,\n addnewGroupCode,\n setGroupCodeWarning,\n setSelectedGrpCode,\n setGrpCodeEditable,\n saveGroupCode,\n cancelEditGroupCode,\n setCurrentGroupCode,\n deleteGroupCode,\n GEtSKSForLogic,\n addnewSubCode,\n setSubCodeEditable,\n saveSubCode,\n cancelEditSubCode,\n setCurrentSubCode,\n deleteSubCode,\n saveGroupCodes,\n setgroupCodesWarning,\n setGroupCodesList,\n setSubCodesList,\n setExistingSubcodes\n} from \"./editorSlice\";\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nexport default function GroupCodes() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const { user, isViewerRole } = useSelector((state) => state.authentication);\n const editor = useSelector((state) => state.editor);\n const { language } = useSelector((state) => state.language);\n const {\n selectedEditorObj,\n selectedEditorID,\n selectedEditorName,\n selectedEditorYear,\n selectedEditorVersion,\n selectedGrpCode,\n grpCodeLoading,\n grpCodesList,\n grpCodesSubList,\n masterSelectedEditorData,\n currentEditGrpCode,\n currentEditSubCode,\n groupCodeLogs,\n masterAllGroupCodes,\n grpCodesListMaster,\n grpCodesSubListMaster,\n SKSList,\n isPublished,\n isPreProd,\n isTest,\n } = editor;\n\n const [SKSFilteredListSource, setSKSFilteredListSource] = useState([]);\n const [SKSFilteredList, setSKSFilteredList] = useState(SKSList);\n\n const [selectedSKSCodes, setSelectedSKSCodes] = useState([]);\n\n const [disabledGroupCode, setDisabledGroupCodes] = useState(false);\n\n const groupCodesArray = [\n \"DGALT\",\n \"DGCAT\",\n \"DGPROP\",\n \"POR\",\n \"DOR\",\n \"PDGPROP\",\n \"PROCPROP\",\n \"TILL\",\n \"ICD\",\n ];\n const [masterCodeValue, setMasterCodeValue] = useState(groupCodesArray[0]);\n const [groupCodeSearchValue, setGroupCodeSearchValue] = useState(\"\");\n const [subCodeSearchValue, setSubCodeSearchValue] = useState(\"\");\n const [saveConfirm, setSaveConfirm] = useState(false);\n\n const ref = useRef(null);\n const [classCodeListWidth, setClassCodeListwidth] = useState(500);\n const icon = ;\n const checkedIcon = ;\n const {\n register,\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm();\n const {\n register: register1,\n handleSubmit: handleAddNewGC,\n reset: reset1,\n formState: { errors: errors1 },\n } = useForm();\n const {\n register: register2,\n handleSubmit: handleEditGC,\n reset: reset2,\n formState: { errors: errors2 },\n } = useForm();\n const [deleteConfirm, setDeleteConfirm] = useState(false);\n const {\n register: register3,\n handleSubmit: handleDeleteGC,\n reset: reset3,\n formState: { errors: errors3 },\n } = useForm();\n const {\n register: register4,\n handleSubmit: handleAddSubCode,\n reset: reset4,\n formState: { errors: errors4 },\n } = useForm();\n const {\n register: register5,\n handleSubmit: editSubCode,\n reset: reset5,\n formState: { errors: errors5 },\n } = useForm();\n const {\n register: register6,\n handleSubmit: deleteSubCodeEvent,\n reset: reset6,\n formState: { errors: errors6 },\n } = useForm();\n const [addNewCode, setAddNewCode] = useState(false);\n const [addNewSubCode, setAddNewSubCode] = useState(false);\n const [deleteSubCodeConfirm, setDeleteSubCodeConfirm] = useState(false);\n\n useLayoutEffect(() => {\n setClassCodeListwidth(ref.current.offsetWidth);\n }, []);\n\n useEffect(() => {\n dispatch(\n getAllCodes({\n method: \"GET\",\n groupCode: groupCodesArray[0],\n drgLogicID: selectedEditorID,\n })\n ).then((r) => {\n if (selectedGrpCode != null) {\n dispatch(\n checkLockforClassificationCode({\n method: \"GET\",\n emailID: user[0][\"email\"],\n drgLogicID: selectedEditorID,\n masterGroupCode: groupCodesArray[0],\n groupCode: selectedGrpCode,\n })\n );\n }\n });\n //dispatch(GEtSKSForLogic({ method: \"GET\" }));\n }, []);\n\n const handleGroupCodeSearch = (event) => {\n setGroupCodeSearchValue(event.target.value);\n\n const result = grpCodesListMaster.filter((item) => {\n return item.name\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase());\n });\n dispatch(setGroupCodesList(result));\n };\n const handleSubCodeSearch = (event) => {\n setSubCodeSearchValue(event.target.value);\n const result = grpCodesSubListMaster.filter((item) => {\n return (\n item.name ?.toLowerCase().includes(event.target.value ?.toLowerCase()) ||\n item.Description ?.toLowerCase().includes(\n event.target.value ?.toLowerCase()\n )\n );\n });\n dispatch(setSubCodesList(result));\n };\n const closeSearch = () => {\n setGroupCodeSearchValue(\"\");\n dispatch(setGroupCodesList(grpCodesListMaster));\n };\n const closeSearchSubCode = () => {\n setSubCodeSearchValue(\"\");\n dispatch(setSubCodesList(grpCodesSubListMaster));\n }\n const handleMasterCodeChange = (e) => {\n setGroupCodeSearchValue(\"\");\n setMasterCodeValue(e.target.value);\n if([\"ICD\",\"POR\",\"DOR\"].includes(e.target.value)){\n setDisabledGroupCodes(true);\n }\n else{\n setDisabledGroupCodes(false)\n }\n dispatch(\n getAllCodes({\n method: \"GET\",\n groupCode: e.target.value,\n drgLogicID: selectedEditorID,\n })\n ).then((r) => {\n if (selectedGrpCode != null) {\n dispatch(\n checkLockforClassificationCode({\n method: \"GET\",\n emailID: user[0][\"email\"],\n drgLogicID: selectedEditorID,\n masterGroupCode: e.target.value,\n groupCode: selectedGrpCode,\n })\n );\n }\n });\n };\n\n const handleItemSelect = (event, item) => {\n dispatch(setSelectedGrpCode(item.name));\n if (selectedGrpCode != null) {\n dispatch(\n checkLockforClassificationCode({\n method: \"GET\",\n emailID: user[0][\"email\"],\n drgLogicID: selectedEditorID,\n masterGroupCode: masterCodeValue,\n groupCode: item,\n })\n );\n }\n };\n\n const handleAddGroupCode = (e) => {\n if (e.currentTarget.value == \"groupCode\") {\n setGroupCodeSearchValue(\"\");\n dispatch(setGroupCodesList(grpCodesListMaster));\n setAddNewCode(true);\n } else if (e.currentTarget.value == \"groupCodeSubList\") {\n setSubCodeSearchValue(\"\");\n dispatch(setSubCodesList(grpCodesSubListMaster));\n setSKSFilteredListSource([]);\n setSelectedSKSCodes([]);\n setSKSFilteredList(SKSList);\n setAddNewSubCode(true);\n }\n };\n\n const onAddNewCode = (values) => {\n const newGrpCode = values.addGroupCode;\n var isGrpCodeExists = grpCodesList.findIndex(\n (item) => item.name == newGrpCode.toUpperCase()\n );\n if (isGrpCodeExists < 0) {\n var log = {\n DRGLogicID: selectedEditorID,\n Comments: language == \"en\" ? \"Added Group code\" : \"Tilføjet gruppekode\",\n masterGroupCode: masterCodeValue,\n GroupCode: \"\",\n OldValue: \"\",\n NewValue: newGrpCode.toUpperCase(),\n UserComments: values.comment_msg,\n };\n\n dispatch(\n addnewGroupCode({ newGrpCode: newGrpCode.toUpperCase(), log: log })\n );\n setAddNewCode(false);\n reset1();\n } else {\n dispatch(setGroupCodeWarning(\"groupCodeExist\"));\n }\n };\n\n const handleEditGroupCode = (e, item) => {\n //Disabled check for OR and ICD\n if (item.isDisabled) {\n var columns = [];\n // Get all the rules to check the value\n var drgRules = masterSelectedEditorData;\n for (var prop in drgRules[0]) {\n columns.push(prop);\n }\n // Get all distinct columns and get all realted columns for DGPROP and PROCPROP/Secprop\n var pdgprop = columns.filter(\n (item) => item.includes(\"dgpro\") && item != \"pdgprop\"\n );\n var procpro = columns.filter(\n (item) => item.includes(\"procpr\") || item.includes(\"secpro\")\n );\n var index = -1;\n if (masterCodeValue == \"DGPROP\") {\n for (let p = 0; p < pdgprop.length; p++) {\n index = drgRules.findIndex(\n (a) =>\n a[pdgprop[p]] == item.name || a[pdgprop[p]] == \"-\" + item.name\n );\n if (index >= 0) {\n break;\n }\n }\n } else if (masterCodeValue == \"PROCPROP\") {\n for (let p = 0; p < procpro.length; p++) {\n index = drgRules.findIndex(\n (a) =>\n a[procpro[p]] == item.name || a[procpro[p]] == \"-\" + item.name\n );\n if (index >= 0) {\n break;\n }\n }\n } else {\n index = drgRules.findIndex(\n (a) =>\n a[masterCodeValue.toLowerCase()] == item.name ||\n a[masterCodeValue.toLowerCase()] == \"-\" + item.name\n );\n }\n if (e.currentTarget.value == \"Edit\") {\n dispatch(setGrpCodeEditable(item.name));\n } else if (e.currentTarget.value == \"Delete\") {\n dispatch(setCurrentGroupCode(item.name));\n setDeleteConfirm(true);\n }\n\n /* if (index < 0) {\n dispatch(setGrpCodeEditable(item.name));\n } else {\n dispatch(setGroupCodeWarning(\"groupCodeEditWarning\"));\n } */\n }\n };\n\n const onEditGroupCode = (values) => {\n const updatedCode = values.updatedGroupCode;\n var isGrpCodeExists = grpCodesList.findIndex(\n (item) => item.name == updatedCode.toUpperCase()\n );\n if (isGrpCodeExists < 0) {\n var log = {\n DRGLogicID: selectedEditorID,\n Comments:\n language == \"en\" ? \"Modified Group code\" : \"Ændret gruppekode\",\n masterGroupCode: masterCodeValue,\n GroupCode: \"\",\n OldValue: currentEditGrpCode.toUpperCase(),\n NewValue: updatedCode.toUpperCase(),\n UserComments:\n language == \"en\" ? \"Modified Group code\" : \"Ændret gruppekode\",\n };\n\n dispatch(\n saveGroupCode({\n newCode: updatedCode.toUpperCase(),\n name: currentEditGrpCode,\n log: log,\n })\n );\n\n reset2();\n } else {\n dispatch(setGroupCodeWarning(\"groupCodeExist\"));\n }\n };\n\n const handleGrpCodeCancel = (e, name) => {\n dispatch(cancelEditGroupCode(name));\n reset2();\n };\n\n const onDeleteGroupCode = (values) => {\n const comment = values.comment_msg;\n var log = {\n DRGLogicID: selectedEditorID,\n Comments: language == \"en\" ? \"Deleted Group code\" : \"Slettet gruppekode\",\n masterGroupCode: masterCodeValue,\n GroupCode: \"\",\n OldValue: currentEditGrpCode.toUpperCase(),\n NewValue: \"\",\n UserComments: comment,\n };\n dispatch(\n deleteGroupCode({\n name: currentEditGrpCode,\n masterGroupCode: masterCodeValue,\n selectedGroupCode: selectedGrpCode,\n log: log,\n })\n );\n if (selectedGrpCode != null) {\n dispatch(\n checkLockforClassificationCode({\n method: \"GET\",\n emailID: user[0][\"email\"],\n drgLogicID: selectedEditorID,\n masterGroupCode: masterCodeValue,\n groupCode: selectedGrpCode,\n })\n );\n setDeleteConfirm(false);\n reset3();\n }\n };\n\n const onAddNewSubCode = (values) => {\n\n var addedSubCodes = [];\n\n var existingSubCodes = '';\n\n const newSubCodeText = \"\";\n\n for (let i = 0; i < selectedSKSCodes.length; i++) {\n\n const newSubCode = selectedSKSCodes[i].code;\n\n\n // var grpCodeIndex = grpCodesList.findIndex(\n // (i) => i.name == selectedGrpCode.toUpperCase()\n // );\n if (grpCodesSubList.length >= 0) {\n var isGrpCodeExists = grpCodesSubList.findIndex(\n (item) => item.name.toUpperCase() == newSubCode.toUpperCase()\n );\n\n if (isGrpCodeExists != -1) {\n if (existingSubCodes == '') {\n\n existingSubCodes = newSubCode\n\n }\n else {\n existingSubCodes = existingSubCodes + ', ' + newSubCode\n }\n\n }\n\n addedSubCodes.push(newSubCode)\n }\n }\n\n const comments = values.comment_msg;\n\n if (existingSubCodes.length == 0) {\n\n for (let i = 0; i < addedSubCodes.length; i++) {\n\n if (grpCodesSubList.length > 0) {\n\n var log = {\n DRGLogicID: selectedEditorID,\n Comments:\n language == \"en\"\n ? \"Added Diagnosis/Procedure code\"\n : \"Tilføjet diagnose/procedurekode\",\n masterGroupCode: masterCodeValue,\n GroupCode: selectedGrpCode.toUpperCase(),\n OldValue: \"\",\n NewValue: addedSubCodes[i].toUpperCase(),\n UserComments: comments,\n };\n\n dispatch(\n addnewSubCode({\n newDgCode: addedSubCodes[i],\n newDgCodeText: newSubCodeText,\n selectedGrpCode: selectedGrpCode,\n newSubList: false,\n log: log,\n })\n );\n\n\n } else {\n var log = {\n DRGLogicID: selectedEditorID,\n Comments:\n language == \"en\"\n ? \"Added Diagnosis/Procedure code\"\n : \"Tilføjet diagnose/procedurekode\",\n masterGroupCode: masterCodeValue,\n GroupCode: selectedGrpCode.toUpperCase(),\n OldValue: \"\",\n NewValue: addedSubCodes[i].toUpperCase(),\n UserComments: comments,\n };\n\n dispatch(\n addnewSubCode({\n newDgCode: addedSubCodes[i],\n newDgCodeText: newSubCodeText,\n selectedGrpCode: selectedGrpCode,\n newSubList: true,\n log: log,\n })\n );\n }\n\n }\n setAddNewSubCode(false);\n reset4();\n\n }\n else {\n\n dispatch(setExistingSubcodes(existingSubCodes));\n\n dispatch(setGroupCodeWarning(\"subCodeExist\"));\n\n }\n\n };\n\n const handleEditSubCode = (e, item) => {\n if (e.currentTarget.value == \"Edit\") {\n dispatch(setSubCodeEditable(item));\n } else if (e.currentTarget.value == \"Delete\") {\n dispatch(setCurrentSubCode(item.name));\n setDeleteSubCodeConfirm(true);\n }\n };\n const onEditSubCode = (values) => {\n const updatedSubCode = values.updatedSubCode;\n var isGrpCodeExists = grpCodesSubList.findIndex(\n (b) => b.name == updatedSubCode.toUpperCase()\n );\n if (isGrpCodeExists < 0) {\n var log = {\n DRGLogicID: selectedEditorID,\n Comments:\n language == \"en\"\n ? \"Modified Diagnosis/Procedure code\"\n : \"Ændret gruppekode\",\n masterGroupCode: masterCodeValue,\n GroupCode: selectedGrpCode,\n OldValue: currentEditSubCode.name.toUpperCase(),\n NewValue: updatedSubCode.toUpperCase(),\n UserComments:\n language == \"en\"\n ? \"Modified Diagnosis/Procedure code\"\n : \"Ændret gruppekode\",\n };\n\n dispatch(\n saveSubCode({\n name: currentEditSubCode.name,\n updatedCode: updatedSubCode,\n log: log,\n })\n );\n\n reset5();\n } else {\n dispatch(setGroupCodeWarning(\"subCodeExist\"));\n }\n };\n const handleSubCodeCancel = (e, name) => {\n dispatch(cancelEditSubCode(name));\n reset5();\n };\n const onDeleteSubCode = (values) => {\n const comment = values.comment_msg;\n var log = {\n DRGLogicID: selectedEditorID,\n Comments:\n language == \"en\"\n ? \"Deleted Diagnosis/Procedure code\"\n : \"Slettet diagnose/procedurekode\",\n masterGroupCode: masterCodeValue,\n GroupCode: selectedGrpCode.toUpperCase(),\n OldValue: currentEditSubCode.toUpperCase(),\n NewValue: \"\",\n UserComments: comment,\n };\n\n dispatch(\n deleteSubCode({\n name: currentEditSubCode,\n masterGroupCode: masterCodeValue,\n selectedGroupCode: selectedGrpCode,\n log: log,\n })\n );\n setDeleteSubCodeConfirm(false);\n reset6();\n };\n\n const handleSaveGroupCodes = (e) => {\n setSaveConfirm(true);\n };\n\n const onSaveConfirm = (values) => {\n const comment = values.comment_msg;\n var date = new Date();\n if (\n masterCodeValue == \"ICD\" ||\n masterCodeValue == \"POR\" ||\n masterCodeValue == \"DOR\"\n ) {\n var data = masterAllGroupCodes;\n /* var grpCodeLogs = groupCodeLogs;\n grpCodeLogs.forEach((element) => {\n element.UserComments = comment;\n }); */\n\n let groupCodesLogList = {\n DRGLogicID: selectedEditorID,\n Name: selectedEditorName,\n Version: selectedEditorVersion,\n ModifiedBy: user[0][\"email\"],\n ModifiedOn: date.toString(),\n Comment: comment,\n LogicComments: groupCodeLogs,\n };\n\n var postData = { codes: data, logs: groupCodesLogList };\n dispatch(\n saveGroupCodes({\n method: \"POST\",\n body: postData,\n drgLogicID: selectedEditorID,\n masterGroupCode: masterCodeValue,\n })\n ).then(() => {\n dispatch(\n getAllCodes({\n method: \"GET\",\n groupCode: masterCodeValue,\n drgLogicID: selectedEditorID,\n })\n ).then((r) => {\n if (selectedGrpCode != null) {\n dispatch(\n checkLockforClassificationCode({\n method: \"GET\",\n emailID: user[0][\"email\"],\n drgLogicID: selectedEditorID,\n masterGroupCode: groupCodesArray[0],\n groupCode: selectedGrpCode,\n })\n );\n }\n });\n });\n } else {\n // Get all the rules to check the value\n console.log(\"break_point\");\n var drgRules = masterSelectedEditorData;\n var index = 0;\n var columns = [];\n for (var prop in drgRules[0]) {\n columns.push(prop);\n }\n // Get all distinct columns and get all realted columns for DGPROP and PROCPROP/Secprop\n var pdgprop = columns.filter(\n (item) => item.includes(\"dgpro\") && item != \"pdgprop\"\n );\n var procpro = columns.filter(\n (item) => item.includes(\"procpr\") || item.includes(\"secpro\")\n );\n\n var notExistGroupCode = \"\";\n if (masterCodeValue == \"DGPROP\") {\n for (let p = 0; p < pdgprop.length; p++) {\n for (let d = 0; d < masterAllGroupCodes.length; d++) {\n var editorMastercode = drgRules[d][pdgprop[p]];\n if (editorMastercode != null) {\n if (editorMastercode.substring(0, 1) == \"-\")\n editorMastercode = editorMastercode.substring(1);\n index = masterAllGroupCodes.findIndex(\n (a) => a.name == editorMastercode\n );\n if (index == -1) notExistGroupCode = editorMastercode;\n }\n if (index < 0) break;\n }\n }\n } else if (masterCodeValue == \"PROCPROP\") {\n for (let p = 0; p < procpro.length; p++) {\n for (let d = 0; d < drgRules.length; d++) {\n var editorMastercode = drgRules[d][procpro[p]];\n if (editorMastercode != null) {\n if (editorMastercode.substring(0, 1) == \"-\")\n editorMastercode = editorMastercode.substring(1);\n index = masterAllGroupCodes.findIndex(\n (a) => a.name == editorMastercode\n );\n if (index == -1) notExistGroupCode = editorMastercode;\n }\n if (index < 0) break;\n }\n }\n } else {\n for (let d = 0; d < drgRules.length; d++) {\n var editorMastercode = drgRules[d][masterCodeValue.toLowerCase()];\n if (editorMastercode != null) {\n if (editorMastercode.substring(0, 1) == \"-\")\n editorMastercode = editorMastercode.substring(1);\n index = masterAllGroupCodes.findIndex(\n (a) => a.name == editorMastercode\n );\n if (index == -1) notExistGroupCode = editorMastercode;\n }\n if (index < 0) break;\n }\n }\n if (index >= 0) {\n /* var grpCodeLogs = groupCodeLogs;\n grpCodeLogs.forEach((element) => {\n element.UserComments = comment;\n });\n */\n let groupCodesLogList = {\n DRGLogicID: selectedEditorID,\n Name: selectedEditorName,\n Version: selectedEditorVersion,\n ModifiedBy: user[0][\"email\"],\n ModifiedOn: date.toString(),\n Comment: comment,\n LogicComments: groupCodeLogs,\n };\n var data = masterAllGroupCodes;\n var postData = { codes: data, logs: groupCodesLogList };\n setGroupCodeSearchValue(\"\");\n setSubCodeSearchValue(\"\");\n dispatch(\n saveGroupCodes({\n method: \"POST\",\n body: postData,\n drgLogicID: selectedEditorID,\n masterGroupCode: masterCodeValue,\n })\n ).then(() => {\n dispatch(\n getAllCodes({\n method: \"GET\",\n groupCode: masterCodeValue,\n drgLogicID: selectedEditorID,\n })\n ).then((r) => {\n if (selectedGrpCode != null) {\n dispatch(\n checkLockforClassificationCode({\n method: \"GET\",\n emailID: user[0][\"email\"],\n drgLogicID: selectedEditorID,\n masterGroupCode: groupCodesArray[0],\n groupCode: selectedGrpCode,\n })\n );\n }\n });\n });\n } else {\n let message = \"\";\n if (notExistGroupCode.length > 0) {\n message =\n language == \"en\"\n ? \"The group code \" +\n notExistGroupCode +\n \" is mapped to DRG Logic in editor. so you can't make any changes to \" + masterCodeValue\n : \"Gruppekoden \" +\n notExistGroupCode +\n \" er tilknyttet til en DRG Logik i Editor, så du kan ikke foretage nogen ændringer for \" + masterCodeValue;\n } else {\n message =\n language == \"en\"\n ? \"This group code is mapped to a DRG Logic in the Editor so you cannot make any changes to DGALT.\"\n : \"Denne gruppekode er tilknyttet til en DRG Logik i Editor, så du kan ikke foretage nogen ændringer for DGALT.\";\n }\n dispatch(setgroupCodesWarning(message));\n setGroupCodeSearchValue(\"\");\n setSubCodeSearchValue(\"\");\n dispatch(\n getAllCodes({\n method: \"GET\",\n groupCode: masterCodeValue,\n drgLogicID: selectedEditorID,\n })\n ).then((r) => {\n if (selectedGrpCode != null) {\n dispatch(\n checkLockforClassificationCode({\n method: \"GET\",\n emailID: user[0][\"email\"],\n drgLogicID: selectedEditorID,\n masterGroupCode: groupCodesArray[0],\n groupCode: selectedGrpCode,\n })\n );\n }\n });\n }\n }\n setSaveConfirm(false);\n reset();\n };\n\n const handleClose = () => {\n setSaveConfirm(false);\n reset();\n setAddNewCode(false);\n reset1();\n setDeleteConfirm(false);\n reset3();\n setAddNewSubCode(false);\n reset4();\n reset5();\n setDeleteSubCodeConfirm(false);\n reset6();\n };\n\n const SearchSKSCodes = (value) => {\n if(value.length > 3 && value.charAt(value.length-1) == \"*\"){\n setSelectedSKSCodes(SKSFilteredListSource);\n }else{\n var keyLength = value.length;\n var searchValue = value.toUpperCase();\n if (SKSList.length > 0) {\n setSKSFilteredList(SKSList.filter((x) => x.code.substring(0, keyLength) == searchValue));\n if (keyLength > 2) {\n setSKSFilteredListSource(SKSList.filter((x) => x.code.substring(0, keyLength) == searchValue));\n }\n else {\n setSKSFilteredListSource([]);\n }\n }\n }\n\n };\n\n const renderRow = ({ index, key, style }) => {\n let sksData = SKSList.length > 0 ? SKSList.find(x => x.code == grpCodesSubList[index].name) : null;\n\n return (
\n {grpCodesSubList[index].isDisabled ? (\n \n \n handleEditSubCode(event, grpCodesSubList[index])\n }\n >\n \n \n \n handleEditSubCode(event, grpCodesSubList[index])\n }\n >\n \n \n \n }\n >\n \n \n ) : (\n
\n \n \n handleSubCodeCancel(event, grpCodesSubList[index].name)\n }\n >\n {t(\"Global.cancel\")}\n \n \n \n }\n sx={{ cursor: \"pointer\" }}\n >\n \n \n \n )}\n
)\n }\n\n return (\n
\n \n \n
\n \n {t(\"ClassificationCode.groupCodes\")}\n \n
\n \n {groupCodesArray ? (\n groupCodesArray.map((code) => (\n {code}\n ))\n ) : (\n
\n )}\n \n {!isViewerRole && (\n \n \n {t(\"Editor.AddCode\")}\n \n )}\n
\n
\n \n ,\n endAdornment: (\n \n ),\n }}\n />\n \n {grpCodesList ?.map((item) => {\n return item.isDisabled ? (\n \n handleEditGroupCode(event, item)}\n >\n \n \n handleEditGroupCode(event, item)}\n >\n \n \n \n }\n sx={{ cursor: \"pointer\", paddingRight: \"75px !important\" }}\n >\n handleItemSelect(event, item)}\n >\n \n \n \n ) : (\n
\n \n \n handleGrpCodeCancel(event, item.name)\n }\n >\n {t(\"Global.cancel\")}\n \n \n \n }\n sx={{ cursor: \"pointer\" }}\n >\n \n \n \n );\n })}\n
\n
\n \n \n
\n \n {t(\"ClassificationCode.Classification_Codes\")}\n \n {!isViewerRole && (\n
\n \n \n {t(\"Editor.AddCode\")}\n \n
\n )}\n
\n \n ,\n endAdornment: (\n \n ),\n }}\n />\n\n \n
\n \n \n {!isViewerRole && (\n
\n \n {t(\"Global.save\")}\n \n
\n )}\n\n \n \n {t(\"Global.Message\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
\n \n \n \n \n \n \n \n
\n
\n\n \n \n {t(\"Editor.AddCode\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
\n \n \n \n \n \n \n \n \n
\n
\n \n \n {t(\"Editor.DeleteGroupCodeConfirm\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
\n \n \n \n \n \n \n \n
\n \n\n \n \n {t(\"Editor.AddCode\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
\n \n {/* {SKSList.length > 0 &&\n 0 ? SKSList : SKSList}\n // options={groupCodesArray}\n renderInput={(params) => (\n \n )}\n />\n } */}\n {/* */}\n setSelectedSKSCodes(value)}\n multiple\n value= {selectedSKSCodes}\n limitTags={3}\n id=\"checkboxes-tags-demo\"\n options={SKSFilteredListSource}\n disableCloseOnSelect\n getOptionLabel={(option) => option.code}\n renderOption={(props, option, { selected }) => (\n
  • \n \n {option.code}\n
  • \n )}\n style={{ width: 500 }}\n renderInput={(params) => (\n SearchSKSCodes(e.target.value)}\n placeholder={t(\"Global.search\")}\n />\n )}\n />\n\n \n
    \n \n \n \n \n
    \n
    \n\n \n \n {t(\"Editor.DeleteCodeConfirm\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
    \n \n \n \n \n \n \n \n
    \n \n\n theme.zIndex.drawer + 1,\n }}\n open={grpCodeLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Editor.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { getCountingCodes, updateCountingCodes } from \"./editorSlice\";\nimport CodeMirror from \"@uiw/react-codemirror\";\nimport { oneDark } from \"@codemirror/theme-one-dark\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport SharedComponent from \"./SharedComponent\";\nimport GroupCodes from \"./GroupCodes\";\nimport { useHistory } from \"react-router-dom\";\n\nexport default function ClassificationCodes() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const { user, isViewerRole } = useSelector((state) => state.authentication);\n const editor = useSelector((state) => state.editor);\n const { language } = useSelector((state) => state.language);\n const history = useHistory();\n\n const {\n selectedEditorObj,\n selectedEditorID,\n selectedEditorName,\n selectedEditorYear,\n selectedEditorVersion,\n countingCodes,\n grpCodeLoading,\n } = editor;\n const [value, setValue] = useState(\"groupCodes\");\n\n const [saveConfirm, setSaveConfirm] = useState(false);\n const [updatedCountingCode, setUpdatedCountingCode] = useState(\"\");\n const {\n register,\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm();\n\n useEffect(() => {\n dispatch(\n getCountingCodes({\n method: \"GET\",\n drgLogicID: selectedEditorID,\n })\n );\n }, []);\n\n const handleTabChange = (event, newValue) => {\n setValue(newValue);\n };\n\n //COUNTING CODE\n const handleCountingCodeChange = (value, viewUpdate) => {\n setUpdatedCountingCode(value);\n };\n const handleSaveCountingCodes = (e) => {\n setSaveConfirm(true);\n };\n const onSaveConfirm = (values) => {\n const comment = values.comment_msg;\n let logicComments = [];\n var log = {\n DRGLogicID: selectedEditorID,\n Comments:\n language == \"en\"\n ? \"Modified Counting code by \" + user[0][\"fullName\"]\n : \"Ændret tællekode af \" + user[0][\"fullName\"],\n masterGroupCode: \"Counting Code\",\n GroupCode: \"\",\n OldValue: \"\",\n NewValue: \"\",\n };\n\n logicComments.push(log);\n var date = new Date();\n let countingCodeLogList = {\n DRGLogicID: selectedEditorID,\n Name: selectedEditorName,\n Version: selectedEditorVersion,\n ModifiedBy: user[0][\"email\"],\n ModifiedOn: date.toString(),\n Comment: comment,\n LogicComments: logicComments,\n };\n var data = {\n logicID: selectedEditorID,\n logicName: selectedEditorName,\n versionNo: selectedEditorVersion,\n cntCodes: updatedCountingCode,\n logs: countingCodeLogList,\n };\n dispatch(updateCountingCodes({ method: \"POST\", body: data })).then((r) => {\n dispatch(\n getCountingCodes({\n method: \"GET\",\n drgLogicID: selectedEditorID,\n })\n );\n setSaveConfirm(false);\n reset();\n });\n };\n\n const handleClose = () => {\n setSaveConfirm(false);\n reset();\n };\n\n return (\n
    \n \n
    \n \n {t(\"ClassificationCode.Classification_Codes\")}:{\" \"}\n {selectedEditorYear +\n \" - \" +\n selectedEditorName +\n \" - \" +\n selectedEditorVersion}\n \n history.push(\"/editor\")}\n >\n {t(\"Editor.BackToEditor\")}\n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {!isViewerRole && (\n
    \n \n {t(\"Global.save\")}\n \n
    \n )}\n
    \n \n \n
    \n \n \n {t(\"Global.Message\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
    \n \n \n \n \n \n \n \n
    \n
    \n\n \n theme.zIndex.drawer + 1,\n }}\n open={grpCodeLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useHistory, useLocation, Prompt } from \"react-router-dom\";\nimport \"./Editor.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { styled } from \"@mui/material/styles\";\nimport { makeStyles } from \"@mui/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Menu from \"@mui/material/Menu\";\nimport Typography from \"@mui/material/Typography\";\nimport ButtonGroup from \"@mui/material/ButtonGroup\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport LockIcon from \"@mui/icons-material/Lock\";\nimport LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport PreviewIcon from \"@mui/icons-material/Preview\";\nimport ContentCopyIcon from \"@mui/icons-material/ContentCopy\";\nimport ContentPasteIcon from \"@mui/icons-material/ContentPaste\";\nimport FileCopyIcon from \"@mui/icons-material/FileCopy\";\nimport SettingsIcon from \"@mui/icons-material/Settings\";\nimport FilterAltIcon from \"@mui/icons-material/FilterAlt\";\nimport TextField from \"@mui/material/TextField\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport EditorSelectionTree from \"./EditorSelectionTree\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { DataGrid, useGridApiContext } from \"@mui/x-data-grid\";\nimport {\n DataGridPro,\n GridToolbar,\n GridActionsCellItem,\n GRID_CHECKBOX_SELECTION_COL_DEF,\n useGridApiRef,\n} from \"@mui/x-data-grid-pro\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport Grow from \"@mui/material/Grow\";\nimport Popper from \"@mui/material/Popper\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport MenuList from \"@mui/material/MenuList\";\nimport ClickAwayListener from \"@mui/material/ClickAwayListener\";\nimport CellEdit from \"./CellEdit\";\nimport CellEditContains from \"./CellEditContains\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport SharedComponent from \"./SharedComponent\";\nimport {\n GetDRGLogicList,\n GetDRGLogic,\n CheckDrgLogicLockStatus,\n GetEditorName,\n GetLockedRows,\n GetPublishAndPreProd,\n setEditorDetails,\n DrgLogicLock,\n LockDrgRules,\n DeleteLockedRows,\n setMasterSelectedEditorData,\n setSelectedEditorData,\n setSelectedEditorRule,\n GetGroupCodes,\n setSelectedGroupCode,\n GEtSKSForLogic,\n setOnCellDoubleClick,\n setOpenCellEdit,\n setOpenCellEditContains,\n SaveDrgRule,\n SaveAsDrgRule,\n CheckDrgLogicExists,\n clearStatus,\n setMetaData,\n setSelectionModel,\n setIsPaste,\n setIsDuplicate,\n setIsDelete,\n setDrgLogicComments,\n setReadOnly,\n setSatusMessages,\n GetLockedRow,\n resetEditor,\n setUnSavedData,\n setSearchFilter\n} from \"./editorSlice\";\nimport ClassificationCodes from \"./ClassificationCodes\";\nimport { redirectToLogin } from \".././authentication/authenticationSlice\";\n\nfunction escapeRegExp(value) {\n return value.toString().replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\nconst StyledMenu = styled((props) => (\n \n))(({ theme }) => ({\n \"& .MuiPaper-root\": {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomLeftRadius: 6,\n borderBottomRightRadius: 6,\n marginTop: theme.spacing(1),\n minWidth: 125,\n backgroundColor: \"#FFFFFF\",\n border: \"1px solid #E0E0E0\",\n color: \" #000000\",\n \"& .MuiMenu-list\": {\n padding: \"4px 0\",\n },\n \"& .MuiMenuItem-root\": {\n fontStyle: \"normal\",\n fontSize: \"14px\",\n fontStretch: \"normal\",\n \"& .MuiSvgIcon-root\": {\n fontSize: 18,\n color: theme.palette.text.secondary,\n marginRight: theme.spacing(1.5),\n },\n \"&:active\": {\n backgroundColor: \"#0D3062\",\n },\n },\n },\n}));\n\nexport default function Editor() {\n const { t } = useTranslation(\"language\");\n const history = useHistory();\n const dispatch = useDispatch();\n const { user, isViewerRole } = useSelector((state) => state.authentication);\n const editor = useSelector((state) => state.editor);\n const {\n isLoading,\n editorCollection,\n yearsCollection,\n selectedEditorObj,\n selectedEditorID,\n selectedEditorName,\n selectedEditorYear,\n selectedEditorVersion,\n masterSelectedEditorData,\n selectedEditorData,\n selectedLockedRows,\n lockBtnText,\n selectedEditorRule,\n selectedGroupCode,\n openCellEdit,\n openCellEditContains,\n DrgLogicComments,\n isPublished,\n isPreProd,\n isTest,\n isDrgLogicExists,\n selectionModel,\n isDelete,\n isDuplicate,\n isPaste,\n isSelectedRow,\n isClassificationCodesEnabled,\n isEditor,\n isViewer,\n metaData,\n selectedEditorPerson,\n isEditorEditable,\n selectedCellDetails,\n isUnSavedData,\n isSearchFilter,\n } = editor;\n const [open, setOpen] = useState(false);\n const [pageSize, setPageSize] = useState(100);\n const [page, setPage] = useState(0);\n const apiRef = useGridApiRef();\n const [openView, setOpenView] = useState(false);\n const [openEmptyLogic, setOpenEmptyLogic] = useState(false);\n const [cellDetails, setCellDetails] = useState({});\n const [saveAsLogic, setSaveAsLogic] = useState(false);\n const {\n register,\n handleSubmit,\n reset,\n formState: { errors },\n control,\n } = useForm();\n const {\n register: register1,\n handleSubmit: handleSubmit1,\n reset: reset1,\n formState: { errors: errors1 },\n } = useForm();\n const [anchorEl, setAnchorEl] = useState(null);\n const openBulkActions = Boolean(anchorEl);\n const [openWarning, setOpenWarning] = useState(false);\n const [pRow, setPRow] = useState({});\n const [searchValue, setSearchValue] = useState(\"\");\n const [unSavedWarning, setUnSavedWarning] = useState(false);\n const [lastLocation, setLastLocation] = useState();\n const [confirmedNavigation, updateConfirmedNavigation] = useState(false);\n const [openLogicCall, setOpenLogicCall] = useState(false);\n const [handleRefreshCall, setHandleRefreshCall] = useState(false);\n\n useEffect(() => {\n if (selectedEditorID == \"\") {\n let url =\n \"api/GetDRGLogicList?userId=\" +\n user[0][\"email\"] +\n \"&isAdmin=\" +\n user[0].isAdmin;\n dispatch(GetDRGLogicList({ method: \"GET\", url: url })).then(() => {\n dispatch(GetDRGLogic({ method: \"GET\" })).then(() => {\n dispatch(CheckDrgLogicLockStatus({ method: \"GET\" }));\n dispatch(GetEditorName({ method: \"GET\" }));\n dispatch(GetLockedRows({ method: \"GET\" }));\n dispatch(GetPublishAndPreProd({ method: \"GET\" })).then(() => {\n dispatch(setReadOnly(user));\n dispatch(GEtSKSForLogic({ method: \"GET\" }));\n });\n });\n });\n } else {\n let url =\n \"api/GetDRGLogicList?userId=\" +\n user[0][\"email\"] +\n \"&isAdmin=\" +\n user[0].isAdmin;\n dispatch(GetDRGLogicList({ method: \"GET\", url: url })).then(() => {\n dispatch(GetDRGLogic({ method: \"GET\" })).then(() => {\n dispatch(CheckDrgLogicLockStatus({ method: \"GET\" }));\n dispatch(GetEditorName({ method: \"GET\" }));\n dispatch(GetLockedRows({ method: \"GET\" }));\n dispatch(GetPublishAndPreProd({ method: \"GET\" })).then(() => {\n dispatch(setReadOnly(user));\n dispatch(GEtSKSForLogic({ method: \"GET\" }));\n });\n });\n });\n }\n return () => {\n }\n }, []);\n\n useEffect(() => {\n if (isDrgLogicExists == false) {\n setSaveAsLogic(false);\n dispatch(clearStatus());\n reset();\n\n var date = new Date();\n let drgLogicLog = [];\n\n drgLogicLog.push({\n DRGLogicID: selectedEditorID,\n Name: metaData ?.Name,\n Version: metaData ?.version,\n Year: metaData ?.Year,\n ModifiedBy: user[0][\"email\"],\n ModifiedOn: date.toString(),\n LogicComments: [],\n });\n\n var data = {\n pdata: masterSelectedEditorData,\n drgLogicName: selectedEditorID,\n drgMetaData: metaData,\n drgLogicLog: drgLogicLog[0],\n };\n let url = \"api/Editor/SaveAsDrgRule\";\n dispatch(SaveAsDrgRule({ method: \"POST\", url: url, body: data }));\n }\n }, [isDrgLogicExists]);\n\n useEffect(() => {\n if (isEditorEditable == true) {\n if (selectedCellDetails.isEditable == true) {\n if (selectedCellDetails ?.logicType == \"contains\") {\n dispatch(setOpenCellEditContains(true));\n } else {\n dispatch(setOpenCellEdit(true));\n }\n }\n }\n }, [isEditorEditable]);\n\n const handleClose = () => {\n setOpen(false);\n setOpenView(false);\n setOpenEmptyLogic(false);\n setSaveAsLogic(false);\n setOpenWarning(false);\n reset();\n reset1();\n dispatch(clearStatus());\n setUnSavedWarning(false);\n setLastLocation();\n setOpenLogicCall(false);\n setHandleRefreshCall(false);\n };\n\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedEditorObj) {\n dispatch(\n setEditorDetails({\n id: selectedEditorObj.id,\n name: selectedEditorObj.name,\n year: selectedEditorObj.year,\n version: selectedEditorObj.version,\n })\n );\n dispatch(GetDRGLogic({ method: \"GET\" })).then(() => {\n dispatch(CheckDrgLogicLockStatus({ method: \"GET\" }));\n dispatch(GetEditorName({ method: \"GET\" }));\n dispatch(GetLockedRows({ method: \"GET\" }));\n dispatch(GetPublishAndPreProd({ method: \"GET\" })).then(() => {\n dispatch(setReadOnly(user));\n dispatch(GEtSKSForLogic({ method: \"GET\" }));\n });\n });\n }\n setSearchValue(\"\");\n setPageSize(100);\n setPage(0);\n setOpen(false);\n apiRef.current.restoreState({\n pagination: {\n page: 0,\n },\n });\n };\n\n const handleRefresh = (e) => {\n e.preventDefault();\n if (isUnSavedData) {\n setUnSavedWarning(true);\n setHandleRefreshCall(true);\n } else {\n refreshTrigger();\n }\n };\n\n function refreshTrigger() {\n dispatch(GetDRGLogic({ method: \"GET\" })).then(() => {\n dispatch(CheckDrgLogicLockStatus({ method: \"GET\" }));\n dispatch(GetEditorName({ method: \"GET\" }));\n dispatch(GetLockedRows({ method: \"GET\" }));\n dispatch(GetPublishAndPreProd({ method: \"GET\" })).then(() => {\n dispatch(setReadOnly(user));\n dispatch(GEtSKSForLogic({ method: \"GET\" }));\n });\n });\n apiRef.current.restoreState({\n pagination: {\n page: 0,\n },\n });\n }\n\n const requestSearch = async (event) => {\n dispatch(setSearchFilter(true));\n await setSearchValue(event.target.value);\n const filteredRows = masterSelectedEditorData.filter((row) => {\n return (\n row ?.drg ?.toLowerCase() ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.regel\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.rtc ?.toLowerCase() ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.icd ?.toLowerCase() ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.indm ?.toLowerCase() ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgcat\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.mdc ?.toLowerCase() ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.pdgprop\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.or ?.toLowerCase() ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.procprO1\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.secproC1\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.secproC2\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgproP1\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgproP2\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgproP3\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgproP4\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.agelim\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.compl\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgalt\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.discdisp\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.sex ?.toLowerCase() ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.till ?.toLowerCase() ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.doedlim\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.indlaeg\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.pattype\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.kontaars\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.visit\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.secproC3\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.secproC4\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.secproC5\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgproP5\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgproP6\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.dgproP7\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.diagraM1\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.diagraM2\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.diagraM3\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase()) ||\n row ?.diagraM4\n ?.toLowerCase()\n ?.includes(event.target.value ?.toLowerCase())\n );\n });\n await dispatch(setSelectedEditorData(filteredRows));\n dispatch(setSearchFilter(false));\n };\n\n const columns = [\n {\n field: \"ruleNo\",\n headerName: \"Rule No\",\n width: 80,\n editable: false,\n renderCell: ({ id }) => {\n const isInLockMode = selectedLockedRows.some(\n (item) => item.ruleNo == id\n );\n if (isInLockMode) {\n return (\n
    \n
    \n \n
    \n
    {id}
    \n
    \n );\n }\n return (\n
    \n
    \n
    {id}
    \n
    \n );\n },\n },\n {\n field: \"drg\",\n headerName: \"DRG\",\n editable: true,\n },\n {\n field: \"regel\",\n headerName: \"REGEL\",\n editable: false,\n },\n {\n field: \"rtc\",\n headerName: \"RTC\",\n editable: true,\n },\n {\n field: \"icd\",\n headerName: \"ICD\",\n editable: true,\n },\n {\n field: \"indm\",\n headerName: \"INDM\",\n editable: true,\n },\n {\n field: \"dgcat\",\n headerName: \"DGCAT\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"mdc\",\n headerName: \"MDC\",\n editable: true,\n },\n {\n field: \"pdgprop\",\n headerName: \"PDGPROP\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"or\",\n headerName: \"OR\",\n editable: true,\n },\n {\n field: \"procprO1\",\n headerName: \"PROCPRO1\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"secproC1\",\n headerName: \"SECPROC1\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"secproC2\",\n headerName: \"SECPROC2\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"dgproP1\",\n headerName: \"DGPROP1\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"dgproP2\",\n headerName: \"DGPROP2\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"dgproP3\",\n headerName: \"DGPROP3\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"dgproP4\",\n headerName: \"DGPROP4\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"agelim\",\n headerName: \"AGELIM\",\n editable: true,\n },\n {\n field: \"compl\",\n headerName: \"COMPL\",\n editable: true,\n },\n {\n field: \"dgalt\",\n headerName: \"DGALT\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"discdisp\",\n headerName: \"DISCDISP\",\n editable: true,\n },\n {\n field: \"sex\",\n headerName: \"SEX\",\n editable: true,\n },\n {\n field: \"till\",\n headerName: \"TILL\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"doedlim\",\n headerName: \"DOEDLIM\",\n editable: true,\n },\n {\n field: \"indlaeg\",\n headerName: \"INDLAEG\",\n editable: true,\n },\n {\n field: \"pattype\",\n headerName: \"PATTYPE\",\n editable: true,\n },\n {\n field: \"kontaars\",\n headerName: \"KONTAARS\",\n editable: true,\n },\n {\n field: \"visit\",\n headerName: \"VISIT\",\n editable: true,\n },\n\n {\n field: \"secproC3\",\n headerName: \"SECPROC3\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"secproC4\",\n headerName: \"SECPROC4\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"secproC5\",\n headerName: \"SECPROC5\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"dgproP5\",\n headerName: \"DGPROP5\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"dgproP6\",\n headerName: \"DGPROP6\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"dgproP7\",\n headerName: \"DGPROP7\",\n editable: true,\n logic: \"contains\",\n },\n {\n field: \"diagraM1\",\n headerName: \"DIAGRAM1\",\n editable: true,\n },\n {\n field: \"diagraM2\",\n headerName: \"DIAGRAM2\",\n editable: true,\n },\n {\n field: \"diagraM3\",\n headerName: \"DIAGRAM3\",\n editable: true,\n },\n {\n field: \"diagraM4\",\n headerName: \"DIAGRAM4\",\n editable: true,\n },\n {\n field: \"actions\",\n type: \"actions\",\n width: 50,\n renderHeader: () => ,\n getActions: (params) => {\n const isInLockMode = selectedLockedRows.some(\n (item) => item.ruleNo == params.id\n );\n if (\n isInLockMode &&\n isPublished == false &&\n isPreProd == false &&\n isTest == false &&\n isViewer == false &&\n lockBtnText != \"Logic Locked\"\n ) {\n return [\n }\n label={t(\"Editor.Unlock_Row\")}\n onClick={UnlockRow(params.id)}\n showInMenu\n />,\n }\n label={t(\"Editor.View\")}\n onClick={ViewRow(params)}\n showInMenu\n />,\n }\n label={t(\"Editor.Copy\")}\n onClick={CopyRow(params.id)}\n showInMenu\n />,\n : <>}\n label={t(\"Editor.Paste\")}\n onClick={PasteRow(params.id)}\n showInMenu={isPaste}\n />,\n }\n label={t(\"Editor.Duplicate\")}\n onClick={DuplicateRow(params.id)}\n showInMenu\n />,\n // }\n // label=\"Delete\"\n // onClick={DeleteRow(params.id)}\n // showInMenu\n // />,\n ];\n }\n if (\n !isInLockMode &&\n isPublished == false &&\n isPreProd == false &&\n isTest == false &&\n isViewer == false &&\n lockBtnText != \"Logic Locked\"\n ) {\n return [\n }\n label={t(\"Editor.Lock_Row\")}\n onClick={LockRow(params.id)}\n showInMenu\n />,\n }\n label={t(\"Editor.View\")}\n onClick={ViewRow(params)}\n showInMenu\n />,\n }\n label={t(\"Editor.Copy\")}\n onClick={CopyRow(params.id)}\n showInMenu\n />,\n : <>}\n label={t(\"Editor.Paste\")}\n onClick={PasteRow(params.id)}\n showInMenu={isPaste}\n />,\n }\n label={t(\"Editor.Duplicate\")}\n onClick={DuplicateRow(params.id)}\n showInMenu\n />,\n }\n label={t(\"Editor.Delete\")}\n onClick={DeleteRow(params.id)}\n showInMenu\n />,\n ];\n }\n return [\n }\n label={t(\"Editor.View\")}\n onClick={ViewRow(params)}\n showInMenu\n />,\n ];\n },\n },\n ];\n\n const handleLockUnlockLogic = () => {\n var date = new Date();\n var data = {\n DRGLogicID: selectedEditorID,\n EmailID: user[0][\"email\"],\n CreatedOn: date,\n };\n let url = \"api/DrgLogicLock?strLockUnlock=\" + lockBtnText;\n dispatch(DrgLogicLock({ method: \"POST\", url: url, body: data }));\n };\n\n const handleBulkLockRows = () => {\n setAnchorEl(null);\n if (selectionModel != null && selectionModel.length > 0) {\n const rules = selectionModel.map(selectRule);\n function selectRule(ruleNo) {\n const rule = selectedEditorData.filter(\n (item) => item.ruleNo == ruleNo\n )[0];\n return rule;\n }\n if (rules != null && rules.length > 0) {\n var date = new Date();\n var EditorRowLock = [];\n rules.forEach((element) => {\n EditorRowLock.push({\n DRGLogicID: selectedEditorID,\n ruleNo: element.ruleNo,\n CreatedByUser: user[0][\"email\"],\n CreatedDate: date.toString(),\n });\n });\n dispatch(LockDrgRules({ method: \"POST\", body: EditorRowLock }));\n dispatch(clearStatus());\n }\n } else {\n console.log(\"Please select atleast one row to perform bulk actions\");\n dispatch(setSatusMessages({ method: \"info_bulkactions\" }));\n }\n };\n\n const handleBulkUnlockRows = () => {\n setAnchorEl(null);\n if (selectionModel != null && selectionModel.length > 0) {\n const rules = selectionModel.map(selectRule);\n function selectRule(ruleNo) {\n const rule = selectedEditorData.filter(\n (item) => item.ruleNo == ruleNo\n )[0];\n return rule;\n }\n if (rules != null && rules.length > 0) {\n var date = new Date();\n var EditorRowLock = [];\n rules.forEach((element) => {\n EditorRowLock.push({\n DRGLogicID: selectedEditorID,\n ruleNo: element.ruleNo,\n });\n });\n let url = \"api/UnlockRows\";\n dispatch(\n DeleteLockedRows({ method: \"POST\", url: url, body: EditorRowLock })\n );\n dispatch(clearStatus());\n }\n } else {\n console.log(\"Please select atleast one row to perform bulk actions\");\n dispatch(setSatusMessages({ method: \"info_bulkactions\" }));\n }\n // let url =\n // \"api/DeleteLockedRows?DRGLogicID=\" +\n // selectedEditorID +\n // \"&CreatedBy=\" +\n // user[0][\"email\"] +\n // \"&RuleNo=0\";\n // dispatch(DeleteLockedRows({ method: \"GET\", url: url }));\n };\n\n const LockRow = (id) => () => {\n var date = new Date();\n var EditorRowLock = [];\n var data = {\n DRGLogicID: selectedEditorID,\n ruleNo: id,\n CreatedByUser: user[0][\"email\"],\n CreatedDate: date.toString(),\n };\n EditorRowLock.push(data);\n dispatch(LockDrgRules({ method: \"POST\", body: EditorRowLock }));\n };\n\n const UnlockRow = (id) => () => {\n let url =\n \"api/DeleteLockedRows?DRGLogicID=\" +\n selectedEditorID +\n \"&CreatedBy=\" +\n user[0][\"email\"] +\n \"&RuleNo=\" +\n id;\n dispatch(DeleteLockedRows({ method: \"GET\", url: url }));\n };\n\n const ViewRow = (params) => () => {\n console.log(params);\n dispatch(setSelectedEditorRule(params));\n setOpenView(true);\n };\n\n const CopyRow = (id) => () => {\n const row = selectedEditorData.filter((item) => item.ruleNo == id)[0];\n dispatch(setIsPaste(row));\n };\n\n const PasteRow = (id) => () => {\n setOpenWarning(true);\n const pRow = selectedEditorData.filter((item) => item.ruleNo == id)[0];\n setPRow(pRow);\n };\n\n const DeleteRow = (id) => () => {\n setOpenWarning(true);\n const row = selectedEditorData.filter((item) => item.ruleNo == id)[0];\n dispatch(setIsDelete(row));\n };\n\n const DuplicateRow = (id) => () => {\n setOpenWarning(true);\n const row = selectedEditorData.filter((item) => item.ruleNo == id)[0];\n dispatch(setIsDuplicate(row));\n };\n\n const onWarning = (values) => {\n setSearchValue(\"\");\n const comment = values.comment_msg;\n var i;\n var ruleValue = 0;\n let pdata = JSON.parse(JSON.stringify([...masterSelectedEditorData]));\n if (isSelectedRow != null) {\n var row = JSON.parse(JSON.stringify(isSelectedRow));\n }\n let tRow = row;\n if (isPaste) {\n pdata.splice(parseInt(pRow.ruleNo) - 1, 0, tRow);\n if (pRow.ruleNo == 1) {\n ruleValue = 1;\n } else {\n ruleValue = parseInt(pRow.ruleNo) - 1;\n }\n for (i = ruleValue; i <= pdata.length; i++) {\n if (i == 0) {\n pdata[0].ruleNo = i.toString();\n pdata[0].regel = i.toString();\n } else {\n pdata[i - 1].ruleNo = i.toString();\n pdata[i - 1].regel = i.toString();\n }\n }\n var commentData = {\n RuleNo: parseInt(pRow.ruleNo).toString(),\n FieldName: null,\n Comments: comment,\n OldValue: null,\n NewValue: null,\n };\n dispatch(setDrgLogicComments(commentData));\n dispatch(setSelectedEditorData(pdata));\n dispatch(setMasterSelectedEditorData(pdata));\n setPRow({});\n dispatch(setSatusMessages({ method: \"Pasted\", status: true }));\n }\n if (isDuplicate) {\n pdata.splice(parseInt(tRow.ruleNo) - 1, 0, tRow);\n if (tRow.ruleNo == 1) {\n ruleValue = 1;\n } else {\n ruleValue = parseInt(tRow.ruleNo) - 1;\n }\n for (i = ruleValue; i <= pdata.length; i++) {\n if (i == 0) {\n pdata[0].ruleNo = i.toString();\n pdata[0].regel = i.toString();\n } else {\n pdata[i - 1].ruleNo = i.toString();\n pdata[i - 1].regel = i.toString();\n }\n }\n var commentData = {\n RuleNo: (parseInt(tRow.ruleNo) + 1).toString(),\n FieldName: null,\n Comments: comment,\n OldValue: null,\n NewValue: null,\n };\n dispatch(setDrgLogicComments(commentData));\n dispatch(setSelectedEditorData(pdata));\n dispatch(setMasterSelectedEditorData(pdata));\n dispatch(setSatusMessages({ method: \"Duplicated\", status: true }));\n }\n if (isDelete) {\n pdata.splice(parseInt(tRow.ruleNo) - 1, 1);\n if (tRow.ruleNo == 1) {\n ruleValue = 1;\n } else {\n ruleValue = parseInt(tRow.ruleNo) - 1;\n }\n for (i = ruleValue; i <= pdata.length; i++) {\n if (i == 0) {\n pdata[0].ruleNo = i.toString();\n pdata[0].regel = i.toString();\n } else {\n pdata[i - 1].ruleNo = i.toString();\n pdata[i - 1].regel = i.toString();\n }\n }\n var commentData = {\n RuleNo: parseInt(tRow.ruleNo).toString(),\n FieldName: null,\n Comments: comment,\n OldValue: null,\n NewValue: null,\n };\n dispatch(setDrgLogicComments(commentData));\n dispatch(setSelectedEditorData(pdata));\n dispatch(setMasterSelectedEditorData(pdata));\n dispatch(setSatusMessages({ method: \"Deleted\", status: true }));\n }\n\n setOpenWarning(false);\n // dispatch(clearStatus());\n reset1();\n };\n\n const handleBulkActionsClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleBulkActionsClose = () => {\n setAnchorEl(null);\n };\n\n // const handleFilter = () => {\n // console.log(\"Working Handle Filter\");\n // }\n\n const handleOnCellDoubleClick = (params) => {\n if (selectionModel.length <= 1) {\n if (\n isPublished == false &&\n isPreProd == false &&\n isTest == false &&\n isViewer == false &&\n lockBtnText != \"Logic Locked\"\n ) {\n if (isEditor) {\n let url =\n \"api/GetLockedRows?DrgLogicID=\" +\n selectedEditorID +\n \"&RuleNo=\" +\n params ?.id;\n dispatch(GetLockedRow({ method: \"GET\", url: url }));\n dispatch(\n setOnCellDoubleClick({\n id: params.id,\n field: params.field,\n value: params.value,\n selectedRows: selectionModel,\n isEditable: params.isEditable,\n logicType: params ?.colDef ?.logic,\n })\n );\n } else {\n if (params.isEditable == true) {\n dispatch(\n setOnCellDoubleClick({\n id: params.id,\n field: params.field,\n value: params.value,\n selectedRows: selectionModel,\n })\n );\n if (params ?.colDef ?.logic == \"contains\") {\n dispatch(setOpenCellEditContains(true));\n } else {\n dispatch(setOpenCellEdit(true));\n }\n }\n }\n }\n }\n // if (isEditor && lockBtnText == \"Logic Locked\") {\n // let url =\n // \"api/GetLockedRows?DrgLogicID=\" +\n // selectedEditorID +\n // \"&RuleNo=\" +\n // params?.id;\n // dispatch(GetLockedRow({ method: \"GET\", url: url }));\n // }\n };\n\n // function EditToolbar(props) {\n // \n // }\n\n const handleSaveLogic = () => {\n setSearchValue(\"\");\n var date = new Date();\n let drgLogicLog = [];\n\n var metaData = {\n Editor_name: selectedEditorPerson,\n ID: selectedEditorID,\n Name: selectedEditorName,\n version: selectedEditorVersion,\n Year: selectedEditorYear,\n };\n dispatch(setMetaData(metaData));\n\n drgLogicLog.push({\n DRGLogicID: selectedEditorID,\n Name: selectedEditorName,\n Version: selectedEditorVersion,\n Year: selectedEditorYear,\n ModifiedBy: user[0][\"email\"],\n ModifiedOn: date.toString(),\n LogicComments: DrgLogicComments,\n drgLogicName: selectedEditorID,\n });\n\n var data = {\n pdata: masterSelectedEditorData,\n drgLogicName: selectedEditorID,\n drgMetaData: metaData,\n drgLogicLog: drgLogicLog[0],\n };\n let url = \"api/Editor/SaveDrgRule\";\n dispatch(setUnSavedData(false));\n dispatch(SaveDrgRule({ method: \"POST\", url: url, body: data }));\n };\n\n const handleSaveAsLogic = () => {\n setSaveAsLogic(true);\n dispatch(clearStatus());\n };\n\n const onSubmit = (values) => {\n let url =\n \"api/CheckDrgLogicExists?drgLogicName=\" +\n values.name +\n \"&drgLogicVersion=\" +\n values.version +\n \"&drgLogicYear=\" +\n values.year;\n dispatch(CheckDrgLogicExists({ method: \"GET\", url: url }));\n\n var metaData = {\n Editor_name: selectedEditorPerson,\n ID: selectedEditorID,\n Name: values.name,\n version: values.version,\n Year: values.year,\n };\n dispatch(setMetaData(metaData));\n };\n\n if (!editor.isSessionValid) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n useEffect(() => {\n if (confirmedNavigation) {\n history.push(lastLocation.pathname);\n updateConfirmedNavigation(false);\n }\n }, [confirmedNavigation]);\n\n const handleBlockedNavigation = (location) => {\n if (!confirmedNavigation) {\n setLastLocation(location);\n setUnSavedWarning(true);\n return false;\n }\n return true;\n }\n\n const onDiscard = async (e) => {\n e.preventDefault();\n setUnSavedWarning(false);\n dispatch(setUnSavedData(false));\n if (lastLocation) {\n updateConfirmedNavigation(true);\n }\n if (openLogicCall) {\n setOpen(true);\n dispatch(clearStatus());\n }\n if (handleRefreshCall) {\n refreshTrigger();\n }\n }\n\n return (\n
    \n \n
    \n
    \n \n {t(\"Editor.editor\")}\n \n
    \n
    \n {/* {isClassificationCodesEnabled == true && ( */}\n history.push(\"/groupcodes\")}\n >\n {t(\"Editor.Classification_Code\")}\n \n {/* )} */}\n history.push(\"/logs\")}\n >\n {t(\"Editor.Show_Log\")}\n \n {isPublished == false &&\n isPreProd == false &&\n isTest == false &&\n isViewer == false &&\n lockBtnText != \"Logic Locked\" && (\n \n {t(\"Global.save\")}\n \n )}\n {!isViewerRole && (\n \n {t(\"Global.Save_as\")}\n \n )}\n {lockBtnText == \"Lock Logic\" && user[0].isAdmin == true && (\n \n {t(\"Editor.Lock_Logic\")}\n \n )}\n {lockBtnText == \"Unlock Logic\" && user[0].isAdmin == true && (\n \n {t(\"Editor.Unlock_Logic\")}\n \n )}\n {lockBtnText == \"Logic Locked\" && (\n \n {t(\"Editor.Logic_Locked\")}\n \n )}\n
    \n
    \n \n
    \n
    \n
    \n
    \n {(lockBtnText == \"Unlock Logic\" ||\n lockBtnText == \"Logic Locked\") && }\n \n {selectedEditorName == \"\"\n ? \"Select the editor logic\"\n : selectedEditorName +\n \" - \" +\n selectedEditorVersion +\n \" - \" +\n selectedEditorYear +\n (isPublished == true\n ? \" - \" + t(\"Editor.Published_Version\")\n : \" \") +\n (isPreProd == true\n ? \" - \" + t(\"Editor.Hearing_Version\")\n : \" \") +\n (isTest == true ? \" - \" + \"Test\" : \" \")}\n \n
    \n \n {selectedEditorData.length} {t(\"Global.Total\")}\n \n
    \n {\n if (isUnSavedData) {\n setUnSavedWarning(true);\n setOpenLogicCall(true);\n } else {\n setOpen(true);\n dispatch(clearStatus());\n }\n }}\n >\n {t(\"Global.open_logic\")}\n \n
    \n\n
    \n ,\n }}\n />\n {isPublished == false &&\n isPreProd == false &&\n isTest == false &&\n isViewer == false &&\n lockBtnText != \"Logic Locked\" && (\n
    \n }\n >\n {t(\"Editor.Grid_Actions\")}\n \n \n \n {t(\"Editor.Lock_Rows\")}\n \n \n {t(\"Editor.Unlock_Rows\")}\n \n \n
    \n )}\n {/* \n \n {t(\"Global.filter\")}\n */}\n \n {t(\"Editor.Refresh\")}\n \n
    \n
    \n
    \n row.ruleNo}\n checkboxSelection = {isPublished == false && isPreProd == false && isTest == false && isViewer == false ? true: false}\n disableSelectionOnClick\n onSelectionModelChange={(newSelectionModel) => {\n dispatch(setSelectionModel(newSelectionModel));\n }}\n selectionModel={selectionModel}\n pageSize={pageSize}\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\n rowsPerPageOptions={[100, 500, 1000]}\n pagination\n initialState={{\n pinnedColumns: {\n left: [GRID_CHECKBOX_SELECTION_COL_DEF.field, \"ruleNo\"],\n right: [\"actions\"],\n },\n pagination: {\n page: 0,\n },\n }}\n apiRef={apiRef}\n onCellDoubleClick={handleOnCellDoubleClick}\n onCellEditStart={(params, event) =>\n (event.defaultMuiPrevented = true)\n }\n onCellEditStop={(params, event) => (event.defaultMuiPrevented = true)}\n experimentalFeatures={{ newEditingApi: true }}\n componentsProps={{\n pagination: {\n labelRowsPerPage: t(\"Global.row_per_page\")\n }\n }}\n // isCellEditable={(params) => console.log(params)}\n // components={{\n // Toolbar: EditToolbar,\n // }}\n // componentsProps={{\n // toolbar: { apiRef },\n // }}\n />\n
    \n {openCellEdit == true && }\n {openCellEditContains == true && }\n \n \n {t(\"Editor.drg_logic_file\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n {t(\"Global.Viewing_Rule_No\")} {selectedEditorRule.id}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n
    \n \n DRG\n \n {selectedEditorRule.row ?.drg}\n \n \n \n REGEL\n \n {selectedEditorRule.row ?.regel}\n \n \n \n RTC\n \n {selectedEditorRule.row ?.rtc}\n \n \n \n ICD\n \n {selectedEditorRule.row ?.icd}\n \n \n \n INDM\n \n {selectedEditorRule.row ?.indm}\n \n \n \n DGCAT\n \n {selectedEditorRule.row ?.dgcat}\n \n \n \n MDC\n \n {selectedEditorRule.row ?.mdc}\n \n \n \n PDGPROP\n \n {selectedEditorRule.row ?.pdgprop}\n \n \n \n OR\n \n {selectedEditorRule.row ?.or}\n \n \n \n PROCPRO1\n \n {selectedEditorRule.row ?.procprO1}\n \n \n \n SECPROC1\n \n {selectedEditorRule.row ?.secproC1}\n \n \n \n SECPROC2\n \n {selectedEditorRule.row ?.secproC2}\n \n \n \n DGPROP1\n \n {selectedEditorRule.row ?.dgproP1}\n \n \n \n DGPROP2\n \n {selectedEditorRule.row ?.dgproP2}\n \n \n \n DGPROP3\n \n {selectedEditorRule.row ?.dgproP3}\n \n \n \n DGPROP4\n \n {selectedEditorRule.row ?.dgproP4}\n \n \n \n AGELIM\n \n {selectedEditorRule.row ?.agelim}\n \n \n \n COMPL\n \n {selectedEditorRule.row ?.compl}\n \n \n \n DGALT\n \n {selectedEditorRule.row ?.dgalt}\n \n \n \n DISCDISP\n \n {selectedEditorRule.row ?.discdisp}\n \n \n \n SEX\n \n {selectedEditorRule.row ?.sex}\n \n \n \n TILL\n \n {selectedEditorRule.row ?.till}\n \n \n \n DOEDLIM\n \n {selectedEditorRule.row ?.doedlim}\n \n \n \n INDLAEG\n \n {selectedEditorRule.row ?.indlaeg}\n \n \n \n PATTYPE\n \n {selectedEditorRule.row ?.pattype}\n \n \n \n KONTAARS\n \n {selectedEditorRule.row ?.kontaars}\n \n \n \n VISIT\n \n {selectedEditorRule.row ?.visit}\n \n \n \n SECPROC3\n \n {selectedEditorRule.row ?.secproC3}\n \n \n \n SECPROC4\n \n {selectedEditorRule.row ?.secproC4}\n \n \n \n SECPROC5\n \n {selectedEditorRule.row ?.secproC5}\n \n \n \n DGPROP5\n \n {selectedEditorRule.row ?.dgproP5}\n \n \n \n DGPROP6\n \n {selectedEditorRule.row ?.dgproP6}\n \n \n \n DGPROP7\n \n {selectedEditorRule.row ?.dgproP7}\n \n \n \n DIAGRAM1\n \n {selectedEditorRule.row ?.diagraM1}\n \n \n \n DIAGRAM2\n \n {selectedEditorRule.row ?.diagraM2}\n \n \n \n DIAGRAM3\n \n {selectedEditorRule.row ?.diagraM3}\n \n \n \n DIAGRAM4\n \n {selectedEditorRule.row ?.diagraM4}\n \n \n
    \n
    \n
    \n \n {t(\"Global.Save_as\")}\n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n {isDrgLogicExists == true && (\n \n {t(\"Editor.isDrgLogicExists\")}\n \n )}\n \n \n \n \n \n \n
    \n\n \n \n {isDelete == true && t(\"Manager.Warning\")}\n {isPaste == true && t(\"Manager.Warning2\")}\n {isDuplicate == true && t(\"Manager.Warning1\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n {t(\"Global.warning\")}\n \n {t(\"Editor.unSavedWarning\")}\n \n \n \n \n \n \n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Editor.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport TableRow from \"@mui/material/TableRow\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { styled } from \"@mui/material/styles\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport Button from \"@mui/material/Button\";\nimport {\n getDRGLogicLogs,\n setdrgLogicLogs,\n GetGroupCodesLog,\n setgroupCodesLogs,\n clearBackToEditor,\n} from \"./editorSlice\";\n\nexport default function ChangeLogs() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const { user } = useSelector((state) => state.authentication);\n const editor = useSelector((state) => state.editor);\n const { language } = useSelector((state) => state.language);\n const {\n selectedEditorObj,\n selectedEditorID,\n selectedEditorName,\n selectedEditorYear,\n selectedEditorVersion,\n logsLoading,\n masterDRGLogicLogs,\n drgLogicLogs,\n groupCodesLogs,\n masterGroupCodesLogs,\n } = editor;\n const [value, setValue] = useState(\"drgLogic\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(5);\n const history = useHistory();\n\n useEffect(() => {\n dispatch(\n getDRGLogicLogs({\n method: \"GET\",\n drgLogicID: selectedEditorID,\n })\n ).then(() => {\n dispatch(\n GetGroupCodesLog({\n method: \"GET\",\n drgLogicID: selectedEditorID,\n })\n );\n });\n }, []);\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n setPage(0);\n };\n const requestSearch = (event) => {\n if (value == \"groupCode\") {\n const result = masterGroupCodesLogs.filter((log) => {\n return (\n log.modifiedBy\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase()) ||\n log ?.groupCode\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase()) ||\n log ?.comments\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase())\n );\n });\n dispatch(setgroupCodesLogs(result));\n } else {\n const result = masterDRGLogicLogs.filter((log) => {\n return (\n log.modifiedBy\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase()) ||\n log.fieldName\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase()) ||\n log.comments\n ?.toLowerCase()\n .includes(event.target.value ?.toLowerCase())\n );\n });\n dispatch(setdrgLogicLogs(result));\n }\n };\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n const handleBackToEditor = (e) => {\n e.preventDefault();\n dispatch(clearBackToEditor());\n history.push(\"/editor\");\n }\n\n return (\n
    \n \n
    \n \n {t(\"ChangeLogs.ChangeLog\")}:{\" \"}\n {selectedEditorYear +\n \" - \" +\n selectedEditorName +\n \" - \" +\n selectedEditorVersion}\n \n \n {t(\"Editor.BackToEditor\")}\n \n
    \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n {t(\"Global.drgLogicFiles\")}\n \n \n {drgLogicLogs.length} {t(\"Global.Total\")}\n \n
    \n
    \n
    \n \n ),\n }}\n />\n
    \n
    \n
    \n \n \n \n \n \n {t(\"ChangeLogs.Modified_On\")}\n \n \n {t(\"ChangeLogs.Modified_By\")}\n \n \n {t(\"ChangeLogs.Rule_No\")}\n \n \n {t(\"ChangeLogs.Field_Name\")}\n \n \n {t(\"ChangeLogs.Old_Value\")}\n \n \n {t(\"ChangeLogs.New_Value\")}\n \n \n {t(\"ChangeLogs.Comments\")}\n \n \n \n {logsLoading ? (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n {drgLogicLogs\n .slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage\n )\n .map((log) => {\n return (\n \n \n {log.modifiedOn}\n \n \n {log.modifiedBy}\n \n \n {log.ruleNo}\n \n \n {log.fieldName}\n \n \n {log.oldValue}\n \n \n {log.newValue}\n \n \n {log.comments}\n \n \n );\n })}\n \n )}\n \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n {t(\"ChangeLogs.groupCodes\")}\n \n \n {groupCodesLogs.length} {t(\"Global.Total\")}\n \n
    \n
    \n
    \n \n ),\n }}\n />\n
    \n
    \n
    \n \n \n \n \n \n {t(\"ChangeLogs.Modified_On\")}\n \n \n {t(\"ChangeLogs.Modified_By\")}\n \n \n {t(\"ChangeLogs.Master_Code\")}\n \n \n {t(\"ChangeLogs.groupCodes\")}\n \n \n {t(\"ChangeLogs.Old_Value\")}\n \n \n {t(\"ChangeLogs.New_Value\")}\n \n \n {t(\"ChangeLogs.Comments\")}\n \n \n \n {logsLoading ? (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n {groupCodesLogs\n .slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage\n )\n .map((log) => {\n return (\n \n \n {log.modifiedOn}\n \n \n {log.modifiedBy}\n \n \n {log ?.masterGroupCode}\n \n \n {log ?.groupCode}\n \n \n {log ?.oldValue}\n \n \n {log ?.newValue}\n \n \n {log ?.comments}\n \n \n );\n })}\n \n )}\n \n \n \n
    \n
    \n \n \n
    \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./IdleTimeOut.css\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Button from \"@mui/material/Button\";\nimport { onLogout } from \"../authentication/authenticationSlice\";\nimport { useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport IdleJs from \"idle-js\";\n\nexport default function IdleTimeOut() {\n const { t } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const [logoutTimerValue, setLogoutTimerValue] = useState(3600000);\n const [open, setOpen] = useState(false);\n const oneHour = 1000 * 60 * 60;\n const tenMinutes = 1000 * 60 * 10;\n const thirtySeconds = 1000 * 30;\n\n const handleOnIdle = () => {\n setOpen(true);\n setLogoutTimerValue(thirtySeconds); // Set 30 second logout timer\n };\n\n const handleStayLoggedIn = () => {\n if (logoutTimerValue) {\n setLogoutTimerValue(oneHour);\n }\n idleInstance.reset(); // Reset idle timer\n setOpen(false);\n };\n\n // Initialize idle-js instance\n const idleInstance = new IdleJs({\n idle: tenMinutes, // allowed idle time is 10 minutes\n onIdle: handleOnIdle,\n keepTracking: true,\n startAtIdle: false,\n });\n\n useEffect(() => {\n idleInstance.start(); // Start the idle tracker\n return () => {\n idleInstance.stop(); // Cleanup on component unmount\n };\n }, []);\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n setLogoutTimerValue((prevValue) => Math.max(0, prevValue - 1000)); // Decrease timer by 1 second\n }, 1000);\n return () => clearInterval(intervalId);\n }, []);\n\n // If the logoutTimerValue reaches 0, the user will get logged out due to inactivity\n useEffect(() => {\n if (logoutTimerValue === 0) {\n dispatch(onLogout({ method: \"GET\" })); // Trigger logout when timer runs out\n }\n }, [logoutTimerValue]);\n\n return (\n
    \n \n \n {t(\"Global.Session\", {\n seconds: `${Math.round(logoutTimerValue / 1000)}`,\n })}\n \n {t(\"Global.Timeout_Session\")}\n \n \n {t(\"Global.Stay_Logged_In\")}\n \n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport TextField from \"@mui/material/TextField\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport Card from \"@mui/material/Card\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport \"./Profile.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { useForm } from \"react-hook-form\";\nimport { useHistory } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { UpdateProfile, clearStatus } from \"./profileSlice\";\nimport { getUserDetails } from \"../authentication/authenticationSlice\";\nimport {redirectToLogin} from \".././authentication/authenticationSlice\";\nimport RegisterUser from \"../registerUser/RegisterUser\";\nimport registerUserSlice from \"../registerUser/registerUserSlice\";\n\nexport default function Profile() {\n const { t } = useTranslation(\"language\");\n const history = useHistory();\n const dispatch = useDispatch();\n const { user } = useSelector((state) => state.authentication);\n const {\n register,\n handleSubmit,\n reset,\n formState: { errors },\n } = useForm();\n const [isEdit, setIsEdit] = useState(false);\n const { isSuccess, isFailed, isError, isServerError,isSessionValid } = useSelector((state) => state.profile);\n\n const defaultValues = {\n email: user[0] ?.email,\n organization: user[0] ?.organization,\n firstName: user[0] ?.firstName,\n lastName: user[0] ?.lastName,\n phone: user[0] ?.phoneNumber,\n }\n\n console.log(isEdit);\n useEffect(() => {\n reset(defaultValues);\n }, []);\n\n const handleClose = () => {\n dispatch(clearStatus());\n };\n\n const handleOnCancel = () => (event) => {\n event.preventDefault();\n setIsEdit(false);\n reset(defaultValues);\n }\n const onSubmit = (values) => {\n let user = {};\n user.Email = values.email;\n user.Organization = values.organization;\n user.FirstName = values.firstName;\n user.LastName = values.lastName;\n user.PhoneNumber = values.phone;\n user.UserName = values.email;\n\n setTimeout(() => {\n updateProfile(user);\n }, 400);\n };\n\n if(!isSessionValid){\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n return (\n
    \n \n
    \n
    \n \n {t(\"Profile.my_profile\")}\n \n
    \n
    \n ()[\\]\\\\.,;:\\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,}))$/,\n message: t(\"registerUser.Email_Validation\"),\n },\n })}\n error={Boolean(errors.email)}\n helperText={errors ?.email ?.message}\n inputProps={{ maxLength: 60 }}\n required\n />\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n {isEdit &&\n
    \n \n {t(\"registerUser.cancel\")}\n \n
    \n }\n
    \n {isEdit &&\n \n {t(\"Global.save\")}\n \n }\n {!isEdit &&\n setIsEdit(true)}\n >\n {t(\"Global.edit\")}\n \n }\n
    \n
    \n
    \n
    \n \n \n {t(\"Profile.success\")}\n \n \n \n \n {t(\"Profile.failed\")}\n \n \n \n \n {isServerError && t(\"Manager_Common.server_error\")}\n \n \n
    \n );\n async function updateProfile(user) {\n let body = user;\n console.log(body);\n let url = \"home/api/UpdateProfile\";\n dispatch(UpdateProfile({ method: \"POST\", url: url, body: user })).then(() => {\n dispatch(getUserDetails({ method: \"GET\" })).then(() => {\n setIsEdit(false);\n });\n });\n }\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./DRGTest.css\";\nimport { makeStyles } from \"@mui/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport IQVIALogo from \"../../assets/logos/logo-iqvia.svg\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n loadlogic,\n setSelectedYear,\n setMasterFilterData,\n setFilterData,\n setSelectedDRGLogic,\n downloadLogic,\n setPage,\n getCountries,\n GetDRGFrontPageContent,\n setEnvironment,\n} from \"./publicPageSlice\";\nimport parse from 'html-react-parser';\n\nconst useStyles = makeStyles({\n input: {\n color: \"white\",\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n cssLabel: {\n color: \"white\",\n \"&.Mui-focused\": {\n color: \"#23A5EB\",\n },\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n root: {\n \"& .MuiSvgIcon-root\": {\n color: \"white\",\n },\n },\n});\n\nexport default function DRGTest() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const publicPage = useSelector((state) => state.publicPage);\n const {\n data,\n selectedYear,\n distinctUploadYear,\n masterfilterdata,\n selectedDRGLogic,\n selectedDRGLogicID,\n isLoading,\n countries,\n drgFrontPageContent,\n isValidData,\n isInvalidData\n } = publicPage;\n const queryParams = new URLSearchParams(window.location.search);\n const year = queryParams.get(\"year\");\n const drgId = queryParams.get(\"id\");\n const [languageVal, setLanguageVal] = useState(\"1\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Test\"));\n dispatch(setSelectedYear(year));\n dispatch(setSelectedDRGLogic(drgId));\n dispatch(setPage(\"test\"));\n dispatch(getCountries({ method: \"GET\" }));\n let selectedGrpCodeValue = \"DrgUserMap.csv\";\n let url =\n \"Public/getLogicNameAndVersion?&selectedGrpCodeVal=\" + selectedGrpCodeValue;\n dispatch(loadlogic({ method: \"GET\", url: url })).then(() => {\n dispatch(GetDRGFrontPageContent({ method: \"GET\" }));\n });\n }, []);\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedYear(value));\n if (value) {\n const result = data.filter((item) => {\n return item.Year == value;\n });\n dispatch(setMasterFilterData(result));\n dispatch(setFilterData(result));\n }\n };\n const handleLogicSelect = (e) => {\n const id = e.target.value;\n dispatch(setSelectedDRGLogic(id));\n };\n const exportSelectedLogic = (id) => (e) => {\n let selectedID = id;\n let url = \"Public/ExportLogic?&drgLogicID=\" + selectedID;\n dispatch(downloadLogic({ method: \"GET\", url: url }));\n };\n const classes = useStyles();\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n localStorage.setItem(\"language\", language.name);\n dispatch(GetDRGFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {/* \"IQVIA-Logo\" */}\n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n \n {t(\"publisher.DRG_Logic\")}\n \n \n {t(\"Manager.Year\")}: {selectedYear}\n \n \n {t(\"Manager_Common.Name\")}: {masterfilterdata[0] ?.Name}\n \n {/* \n {distinctUploadYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n \n {masterfilterdata?.map((data) => {\n return (\n \n {data.Name}\n \n );\n })}\n */}\n \n \n Download\n \n
    \n\n \n {drgFrontPageContent != \"\" &&\n \n
    \n {parse(drgFrontPageContent)}\n
    \n
    \n }\n
    \n
    \n )}\n {/*
    \n \n © 2022 IQVIA. All Rights Reserved.\n \n
    */}\n {isInvalidData && (\n
    The link you accessed has no data or expired
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
    \n );\n}\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAABSCAYAAAAW50WuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA9NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcFJpZ2h0czpNYXJrZWQ9IkZhbHNlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YWFmZDM1NzktMWZiMS02YjQxLTlkZDgtOTViMmM2MTJkOThiIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjcyNTZFNDc4NzYzMTExRTk4OEY3QkY4RjVFNjg5RjJDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjcyNTZFNDc3NzYzMTExRTk4OEY3QkY4RjVFNjg5RjJDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmQxYzIxMmFmLTA4MmMtZWQ0MC04NmZjLWQ5N2M4ZGJiNzBiMiIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjA0YWJlMDViLWYxNDMtY2E0Yy1iY2ZkLTQ5YzViMDYyOTc3YyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PogVSaEAABmGSURBVHja7J15lFXVlcbPe/VqooAqkHkwiiA4kkJBjYoKjkQ0HZU22lltt3a6jelkrV6rk5i2/7A7HdPpJL06rsTEJErjrHHoKE5oEBAUwVkwyKzFPBZV1lz1+ux+v9N31+XeN1S9EjFnr7Wh3nt3OHef7+zz7X2Gm0in08aLl8+ipOSfxLU/7e11+lu9zeo0q7dbvdeb1suhlmQRr1VjdYjVCm9WL58az90LGQ6g91h9x+rHVuusjrI62Opaq63ezF4ON3CXW73I6pVW11k9wmo/q7OsXm211OoPrK7yZvZyuIG7zOoIqydYHcrnUry2UJQG/vfi5bADt1CQx6yutNpo9TzAvtTqZqtVVt/zJvZyOIK7CzpywOrlVmfCwQXU9wPydm9iL4drQDne6t9Z/ZLVo6yWWB1ndaLVu6w+bLXZm9nL4QjuM61+3Wql+k5y3tP5brHVjd7MXj6t4BaqIZmQJDSj3upOaEn/ELDD5yX4u4qgs4rvJD24Da7uxcsnBu4y/hcw11r9M6unm0yaT/j1u1ZftLoEgG6xOjp0DWkEb1tNQ1dm4c0dddlq9RmrT3MNuVen1Q5fJV6KJQmZW8Lwu4wsTjaZ1J77/BWrJ1mtVueIt91HwPgsGZIb4N8GgD5v9SFAfym/1aiGI8fstvqU1UX0AHutvmZ1k68WL8UE9wT7919YPd/qGLxrO57WAOZXrG4A9HL8sSYzMvkEWZMr+f4pvPslVs82mZShpATroCVTaTCuoWy3OsDqfqvrCUSftNrmq8dLMWjJdWQ9ZMj8j3jVs9Rx4qF/AoUowSOfSpbkfDxxG95XBnLOAMAC9AVWV9MQhNqcYvVHVo/GY4tHf4NzJgJ0OfYlXz1eigHuOQB7I8DbA0UZwO/yeS2cW+Qjq6/Cu28iY1KGJz6R339hdZ7JjFT+f0/BNbVXFiryPavfsHot/H6mB7eX3oqbFTiY/+vw3JsJFA1ZkWMAe1gkaPxXq3+AcoyBwvzS6s9DwDYA+zyONQScwrE/5L4NeP6Bvmq8FAvcDshHwpvl873QkwMAsCHmGtIgfg1ADUB/IObYVjj2Bj6vhLMLPTkeitJidZevGi/FoiWS3fgcdGId3Pm3eNHrAN3+0LmT4NwDAOt66IZ47qsIOCUIfc5kcuMO3C1cbyk8fik8/j0a0GbO8+KlKOB+AOohM/qGQkXEw/7GZEYhhQN/x2RGHB1YL7P6LSjGenqBNBkSyY2P5O8P4ecnkEGRa421+kOrj3N/4evDrO6w+gge3YuXooBbshWSl/43qzdDE8Qbvwk9uY1sigzEdJIBEc89gvM/bzKpw3YyIk4kM+IWNFxH8CkjmvNNJt0nDWkqmZevWV0I4Ot91XgpFucWj7sMwAnvngtlmA4QbwdwkqqbTcAnwNeTokpDwBZZDV+vxdNX4JVl1EiG8GXw5y6yJfL5MeMHcbwUGdwGvn2r1X8ic3EatGMYAeN9cOPj4NniYX+HJ4+S7WRM3ofyjCNQ/Qn0RkYuvw7/FlD/tdVHjV+W5qUPwJ0mGBT+/S8mM//jfGjDbrh2C1mN08iS/Nhk5m6HRxM3wqnvo3GcAwVaYzIDQgb+LalDGej5Z4JID2wvfQJuJy1kTx4H8LV8v4GArxLu/JdkVm6Bp6/nOJkMdaPVOwD2zQSRXYBesi4TaCSbaEzrfVV46auAMiyNAHwOHlZGEQebYHClFu8uQeWL0JgWftuCp5e5JleQOXFTX4+Gs58LwJ+H63vx8omBuxNPvQqOfSWe94AJ5mDLuVcBcKEwTfB2yY5cTwblSMDutrUaZPXLANttB7HdV4OXTxLcIrvg2UI9PgagHymgJk33edhL8NBd/C7efgWf0yFuLxkTmTn4eug3L14+EXALKPuRzXC7SIUXEyTIoCQAeRefk+pz+PgU35cbvzuVl0MEbgGfjE6ebIq/it01ig98FXg5FOCWQZkxZDz6So7wVeClrySZw7uW9vH9S3wVeDkUnrudALIv51bv8VXg5VCAWwZbZARyqOmbnaPk3n67NS+HBNySt15ggqmsxRahPX4rBy+HBNwCaL8C3ctnMqD04sWD24sXD24vXjy4vXjx4Pbipajg9g3CO6rDQvLZn1sGcWRPE1nBLgsWZBsGWZgggzwyFVYW9sq0WJkFKNs8yLYNMmdElozJsrKoXadkTxOZESj7o8g+JZJTl7z3BO5nuJ7M9f7IdF+nmaI87jjZOmIrf8to6lEm2AZOSydlkqV0MsdcD0zJNANZyT8GkGwywUZFGjxy31GcK/fdxXWruW//HLZ0z9NGWcUO5RHHdVBWGcHdZqLHA6Q+jqTcg7FLE3Uiz7iDc5u4h6xjrTHBwhEnXZSnETs25HiGY0yw64GILBzXr2SU6w/iuLI88NUFhurUNUqo37HqGlKu9TxfUcAtG17KlgvXYEg5Ph0qmCzuvQHjyCLg75rMSncxlOwcuyJ0TVledifHysp6WdGzGvB82+qfc5w0IFlfeUsIaAKKb1Amub+8DvB2fpO9UWR7iqkmmF7rKtNteL/cZBYiv6AMJZX+Vav/ABDknv8VKrc0gL81mSV2AjrZRu4BwCMrk2Rx9RR136jBL1np/32e5yTscCTHlqiyNmG/pZR1oek+5iDnyILqOYAoXC8ChPuxi6ySGoadL+BeKeXp23keOe5/uN+OGDwI0GQB+VWUVe75NhhZrZzAWdx7hAnm+Osp0CmeV86XHRTuMZk9Kj9SdXw99nZb/cnCGVmy+JI5eCp1weCWtZKyV8nfmMzqmigpwYNoAAzCgw2PabluA57+yuMYBTLn/eR/WeL2UAjcSTzlMHWcvvaQGA9ahkcXYJzKMU8A8CS/HRFxTRNqWP0pcz8FkGz31dLfBJPFyrBRXFlr6A1OokecTwOVcsrSvW9i6yipMd33VC8x3ZcJhu/l9nmcTO95qzl4hzGRSZRHl3kK56xW35Vjy3w8d1nILq785+K5tVP8gsksgmnsLbhraOlSAbIm8vcms+axjfOqeIBtJlg/2WWCvUwaTfS2D53KYzaHWmFLBCW6HMO5vQjTHNekulR97Sb+3gx4d/JZKvccgC1L52RHWVkN9A7XbEXLTfzIbKt6tnblLTtV2cXrPYknDO/j8gZUzNnqY2woXulFzk1g8wtNZp+Y0+kBX8HW43iOQdAV2XR0EWUoAShDuf8uda8WytvAvV5TDe5M7iP3nU1dLwnRIbHLaVxb6u0ADTpFz7WM+6Wx6S00sGYcynkAtM0Er3jsZ4K3cOxT9xplgpcgbOUegwH3r4sB7mrV+oVT3Uv3GPbc5ab4c0TauKY8vOxv8pwCd74iRpkL73dedz0VOBaQj6YiiiGOUkgFP0j3WRH6rT3ETY2y71wAmaAid9JzjsY7DgDcUv6RnCfHzIugfim0PVS+BOAWJ3U334uNF0Mnz8OpncA1NYgqaATDoA/SIE+kdzkTCrnLBK9wvBN8tAD+MQrcT2KjfhzfocpaRe/gGMECnv3LOKXRWWhT3hG2/q05hshrT1lM2QnoWjHKTBXE5DuJq4MyN6M78H5vq8C2LEvjivLa+cyOdBzW9VAfA5JGE78vS7sqaxPB1RLVMCtVY0grG7TF2L8DUEX1nI7ntqoA+3l6FVfvA83Bc/mHQFsqKZfQpFcpl1sMHsZFg3o27QBdr9vI323qmUbhoUvoHaTRvKx63ykRPWLB4NYFGsMN3auvU6ZvZTdAXI6hLsGrFALuRERmoF1lA0oifteUbDCU4Qj+HhmThQlLOccO4jynNSZ+8UdUWTtVYwoHi/UKcNN6UC9R9d6syhK2TRJvPorPG+mZVlC2IWR+Unk+XzbcjYX+JLn+21DMZhrW2VliwLxpiXtHjXQ98sKm78HHVgC8lXSTXX0A7nLScWvo9o4hwHgCY3YVAPBCxHm6i+GWJQpcKXhpXANzZRpJ9mCWytYk4NoSHL+VZ1nDgEiodOJ6xZdvI35YSb28Tr10Fvjs2ZzGEJzbAAXujQCvkYY8mRhhVS/rYRz1begZtuJgxG5noCNMHu83zQbuBsh7PwJLqewZcNXLoA4SRDycpcJ6A+59dEezVUAyg3v2huMncuRcDc/4+YhjU1mAoPdmuRRwJdQ9t9ATvdXLcktlP07mYgZebDjpz8ugXytIr71bJLsIz55OvazD8XTxTGto9FPw7qt6UTdjcKYlUJUV0JYtNFoB9tE421dz9eK5tnZYAO9ZwAXHQ+qd1lKZ36WrLNaiBl2Rkns9hRYtoHk/xDuLKQlFi7aHus8kHmNIjnOl+9xA40ypfPCumPRaT4LtZeStn4EOjAdYrl6mUt6f4+F6a6sxBHlJMjOv8/2HJBmOp4c9rpf3mUTZDY3mLRPslyMxyI3Y9GQa9HZ6r7PoNSpwfPL//lQehlyCDucCJ0ARzuE78eq/oiBdeXR1XXl6jHI459N479nwy3NUuq7QBcya0iRi8vaGAOsxNdDgcvhfpYElsoBbPOdvsEep+r6FbEghZY0DZTMZjsWqXk6EOnwR/n2JKez15HH3quLa/VW9nEpuu5LvOwjOj4VC9HRt7HE0FBd0nglFkTr7nEp3TuVe2wHyKSQd+oMZoU9bCgkMd6CLCSb+HcCVEGg4cOuovrMXRi1RXd8faJ3ioa5ROfRUnkDW35Vkua8r+7v0GFpKFefOBu56FQz3pNFp/p/OgzLoelkECM6ih6nOQb/inIz++xgCPCezoShuA6Z+JhhFHAfwn+sBsF3jqOGzcPj/UJmUKpXdcnHgYhrBEjJMZdhNGmBDLnAnYkCwR6UGk1S8eze8HmIdFBGljzTBfIoOc/DATRjgUthnacVX8n+d6oIKkUEq0m7LEpjG9TjpXnrBQqRGBXDpPOulATrkKjiVJ7+uUgB1yws7FbinqAZXie3DTqwEcE+FxhaaaDiJ3sBdM0EvkAiVq4zvJ/KMzcqZ6OdKp3K0pDPIha4y3SfUHKfSQi69loar7lFAuoqu4131AFco3rrXBBthJmNSVmK4tXjvGVTCURhzX5byVxKItvHQ1WQwapXHayogVZYy+c28q+C+m1U+1hn9AM8cbij9OcflwUcQHJ7M510qLTiE508rbm9UjthN/moIOY60eo5hHJcgpz0dSuMa/Q517njK1kEdLCN2KFV0ZBoB/xDsW2kKmOCEOKphoG/3Ya9yVS4JJq+n0TsK82bc+EM2cMsDfQsw1WGsVh5qojJ8A4FFmod2Q6luR9exVLShUk4DALugMo15dL2ddEELaRz5cG0xxM2ULwHQJqmueqEp7r7gOhUo8z7mqG40obj8AwBcc+rJlNW9xLYaRzAAmy9QTkOe4QbsuoNzWrnHeOomAdfeEvL0aXqEq6mHBECcgNc1nLMCMI3lfinq6XdkappUr5rC+YxTjmcCOChkTEJ6h9HcZzFxSz117XqHCTSiyVCTWsBdcLZkKIY6PssxG8k916kKfhHeN4cHvTjmPKnkF0IP6LrhwebgTTLFgPPxaA7cR1A5mhfXqN9mRtzbpeTmmmAWWhLwlyuvH1UBVeraumsuVY1mIAMNcQ1gvgleIz5YedxREcdvxp7zTDBwMwDgT8lSL3WAcI16voGUtwJQ1IbOacTZ3IPndG+mczb8GNDvjrjfUjJbteBlFilDvd31QNVLlYfseizxTBmNeKkJhth177OJMk7GeZ2Nh28tFNxu3sJZAL0cI7nJSm6L48dCBRCD/icgmkmllSoKUweoHzXd9+buIsXkJmNtCrX8NrjVPLyJ6+bXh2KBxaoCNF9z86NfB2B6QyA39/wlyroupvd4D8PXU74OlTpcpCokrhd6VVGhPXjyEWGuyDFi39dI9+kNQ4WKPEhv6Wzrsjrt2FRs8IgqTzP3jhocasWO68hMLVJ8u5PUax0ecksWrLyAY2mmrvQsvwM8SyW/bw2BuxrQynEy7WJlluzdfBPMCt0GhiPBnUin0yZx7U/jeGcK4w3Ay7gU3D7F6eLmW5SaYCpoNcavp1JbY4LBChPMTW6LuLbzPDrj0W6CuSAlqhHGec72mOuWKhrRZqLnl5SrbtJN7krncV+jGnebOqcipiGk1bO156iXanqdDuy71xw8DyZstyi7dJruczzc85bxXa7gv0zZz82S1Hu5lyln2hKqf2f7RMS5UQ65jGfpyHZsNnB78XJYi19358WD24sXD24vXj4lku/wewWRbkoFDG5ViRsk0b/HBQNusWgLQUQpf2fbcLMcdUFSODByOVy3ur0zx3XSWcqlA7FSE6wyajX55WzDdnIBrAu89UBKhYleRJxQQa2+rw7YWmICchekumfp8uDOLpI4l3SgjAgNxNiNZEzeJHUkhpY5BxNNMPrm5kskVA/hprLKvI2hXHedOXgehwakTFSSvPkCUj+SQx2t0l8O3DKAJHnhFSZ6GdJ07tcakaEoJ8sg6aw/8jwyQUwGDNbwjLlG3GTQS1Kfx5PFcI1YritrQBeaYDRRjpUBrqoIkCYpn6TuZMpvE/UkU3BPo/EsM8HqFC1jsNc2yrzHgzueskhi/SaAIZ7kgAlGpYZjwPcx4iy0M4vHkMqUgZM3OG6WCXLMUTPmJJ/99xwjwJPcpmz9MIXydYS8nQBQctGyaDY8eUdmE35NnZNW50m5ZGBJcsdrOUZGwGQNo+R+V+YAt4DuH01mGLoLEHfQaNwzr1PgPspk3ntfrbxzQtWJ2x5ipQlGAwXcf4Xd3WrzvaFyyIiiDE9LzvgdD+7sdEAmKn3JZAY+ZBVJvQlesyeDD1updAG+rJj+QHluGUW7iu+ewdBlXONDztvK9cXrbwjRkwF8L8C5m3Mm4vUqKc8GBW7pjmV+wgUA4gPTfbrncHqL500wUJFQXf5eGpmjNW6Dn6E57CQ55osoq4DxCROshJFy1vD33tCzjaX8Yrfdqizac7eo72o4R8YNzrV6vskMhGkaVkkvt93kt63Cnyy4BSynAjhZkXNPjms9Gvp8AZUgI1MydXFnxDlPccylnL9B/Saz0S4DKE9BO9wKDQHtz8zBqz6kQc3Fg54cArdbkCoU6Bd52EY8rxtty7UE63i88i/zsJNrjFIWGXGVzWh25XG8WyG+E9BLD7bYdB/l7TTB4t+uP3Vw51r9Xg4V6ckKkkrVvVbFHCNzPF4EHOeaYJhevI7MG5A5B8+ag7dfKIm55nr4tnjdQTEgKTOFr600OTx3FT3Rth44l8o8j3VlXwiop0EX/RvhegBut2lMOV1zoWlDvX4w7lwJAOfjca4wwcJQ4buX07DE027Jcn0T8lxuEn22uczFTIG6rSME5KNMYW9FLqQsboqAxBRP0ptcA3XyUiAtkS5wE0HlV+hGV5j8ly3lI2mCy5fJZJxCYDmNAEqCwndN9gW54edxiybaIo5PQSOOAZApBZxmuvxCV4271ehXEswZPOvmLHTGBZAD4chtJpgplzDB3idNMU7nFTz4hdTPRk9DCgN3C0HbSIA3gYh/LTThZSL2zl6WQWacPQINuYjgaga88cEYPpo20e+hryXg3B+RKWinWxeueiblTqpzJa15aw8oWCsB88k8ww9ooOvwsq+ag2e5tWN7CZZluV5DqKFJI5ONJJfE0KB6bHY+KcXXqBcveYLbrbxowYgSrB1tgvm6KwH/U6Z3u061mmC/jTPwZCPg40tN99ltLhMzglTaWiq7DaC6LdIeN73bYqBQkbJ+nyC6lmeQ7Mkl9DyPQK/2F7HOluO9Jbd+HrZIe0jnB27nYRahNXinWjzsJaTXJOX2di8Nu4tsyS0ESatIqdVHdMldBIuXm2CXpAGUL01jmwel0lJKI5AG+d8xtKShlw1UVHLXJ5CWnIlOwpsvV2Xp4POPAWYULTFZ6JikFu+nF3K74bZ5epI/uLXsh0tKBb5AKu44gr/3TO82ymkmK3I1AdJq+HZnRACchOfeBT1KAJ6bCOYejOnOXTptNxy5s49sKg1yGfHJYsr0BejSclWWNAGzcPOtPbhPJ8/5Mp5btnT40IM7v2xJNm++igxGBZ6qGKm1HfQC0og2mOghdDfAUU8D+z3d/Z1w1FYqeUKOILZQAKR7aKePVEOqLuK1nUhP8zBZrYt57oQHeOGeW0uF6lqL9ZZht/uom2iUTbrg+R2K1txHlmU23fyPImIBN8GqEEB15FGeOCkx3VdvR3nf9l7a7SV6ilNMsDtru4d27mHlS8kwrMNbdsBvTyeDss8E78OJogHu9RD5eHa3/4lTE3NNl8MODy9Ll3wHfFdeqfE+PFSfWwmNuggAJBUIm2gUO1XgWk4QfSENqEQd30qGJUmjGkQZ3L4h/aAj07HbtlAjK+PaM8kYlahyGujKRgXU8Os+tPeW3msiAa0f1MkD3OIF5gAWqTS3y5OsXj4WAD4N3+6K8cTtJlhnmI+4KaKdWby7S+FFXVOoym+tfgeAv2OCldytVPwMum+dCuwHzbqDQM6VI0EQ/U26fmevSkD8bXjzF2nsuwFbF9ccjx3dvBtNWdz8mxuxrW44SWKH+0ywB6PbpD3K1i+TVpymaEnagzs7Z1xGRY7FM6VMsJH7Q/C93THnSzT/GpWaT7eehp8uN8E+J2E5gLdMxWQ23AuoZKRwHAHvBybY2MetsE6Ent1xeb0yfDvBc5kJNp/RdMP1SPto4KMB8yQafiveXnLgd5tgGwlDA3oF4If3PEwqTajnqqM+NkU8927SgrVQxjWmb14KcFjJ/y0Q9uLlsyj/K8AAweUjHlV8hmkAAAAASUVORK5CYII=\"","import React, { useState, useEffect } from \"react\";\nimport \"./DRGHearing.css\";\nimport { makeStyles } from \"@mui/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport Logo from \"../../assets/logos/drg-logo.png\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n loadlogic,\n setSelectedYear,\n setMasterFilterData,\n setFilterData,\n setSelectedDRGLogic,\n downloadLogic,\n setPage,\n getCountries,\n GetDRGFrontPageContent,\n setEnvironment,\n} from \"./publicPageSlice\";\nimport parse from 'html-react-parser';\n\nconst useStyles = makeStyles({\n input: {\n color: \"white\",\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n cssLabel: {\n color: \"white\",\n \"&.Mui-focused\": {\n color: \"#23A5EB\",\n },\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n root: {\n \"& .MuiSvgIcon-root\": {\n color: \"white\",\n },\n },\n});\n\nexport default function DRGHearing() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const publicPage = useSelector((state) => state.publicPage);\n const {\n data,\n selectedYear,\n distinctUploadYear,\n masterfilterdata,\n selectedDRGLogic,\n selectedDRGLogicID,\n isLoading,\n countries,\n drgFrontPageContent,\n isValidData,\n isInvalidData\n } = publicPage;\n const queryParams = new URLSearchParams(window.location.search);\n const year = queryParams.get(\"year\");\n const [languageVal, setLanguageVal] = useState(\"1\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Hearing\"));\n // dispatch(setSelectedYear(year));\n dispatch(setPage(\"hearing\"));\n dispatch(getCountries({ method: \"GET\" }));\n let selectedGrpCodeValue = \"DrgUserMap.csv\";\n let url =\n \"Public/getLogicNameAndVersion?&selectedGrpCodeVal=\" + selectedGrpCodeValue;\n dispatch(loadlogic({ method: \"GET\", url: url })).then(() => {\n dispatch(GetDRGFrontPageContent({ method: \"GET\" }));\n });\n }, []);\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedYear(value));\n if (value) {\n const result = data.filter((item) => {\n return item.Year == value;\n });\n dispatch(setMasterFilterData(result));\n dispatch(setFilterData(result));\n }\n };\n\n const handleLogicSelect = (e) => {\n const id = e.target.value;\n dispatch(setSelectedDRGLogic(id));\n };\n const exportSelectedLogic = (id) => (e) => {\n let selectedID = id;\n let url = \"Public/ExportLogic?&drgLogicID=\" + selectedID;\n dispatch(downloadLogic({ method: \"GET\", url: url }));\n };\n\n const classes = useStyles();\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n localStorage.setItem(\"language\", language.name);\n dispatch(GetDRGFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {/* \"Logo\" */}\n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n \n {t(\"publisher.DRG_Logic\")}\n \n \n {t(\"publisher.Hearing\")}\n \n \n {t(\"Manager.Year\")}: {selectedYear}\n \n {/* \n {distinctUploadYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n */}\n {/* \n {masterfilterdata?.map((data) => {\n return (\n \n {data.Name}\n \n );\n })}\n */}\n \n \n Download\n \n
    \n\n \n {drgFrontPageContent != \"\" &&\n \n
    \n {parse(drgFrontPageContent)}\n
    \n
    \n }\n
    \n
    \n )}\n {/*
    \n \n © 2022 Independent Hospital Pricing Authoriy. All Rights Reserved.\n \n
    */}\n {isInvalidData && (\n
    The link you accessed has no data or expired
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./DRGHearing.css\";\nimport { makeStyles } from \"@mui/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport Logo from \"../../assets/logos/drg-logo.png\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n loadlogic,\n setSelectedYear,\n setMasterFilterData,\n setFilterData,\n setSelectedDRGLogic,\n downloadLogic,\n setPage,\n getCountries,\n GetDRGFrontPageContent,\n setEnvironment,\n} from \"./publicPageSlice\";\nimport parse from 'html-react-parser';\n\nconst useStyles = makeStyles({\n input: {\n color: \"white\",\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n cssLabel: {\n color: \"white\",\n \"&.Mui-focused\": {\n color: \"#23A5EB\",\n },\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n root: {\n \"& .MuiSvgIcon-root\": {\n color: \"white\",\n },\n },\n});\n\nexport default function DRGProd() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const publicPage = useSelector((state) => state.publicPage);\n const {\n data,\n selectedYear,\n distinctUploadYear,\n masterfilterdata,\n selectedDRGLogic,\n selectedDRGLogicID,\n isLoading,\n prodData,\n prodYear,\n countries,\n drgFrontPageContent,\n isValidData,\n isInvalidData\n } = publicPage;\n const [languageVal, setLanguageVal] = useState(\"1\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Production\"));\n dispatch(setPage(\"prod\"));\n dispatch(getCountries({ method: \"GET\" }));\n let selectedGrpCodeValue = \"DrgUserMap.csv\";\n let url =\n \"Public/getLogicNameAndVersion?&selectedGrpCodeVal=\" + selectedGrpCodeValue;\n dispatch(loadlogic({ method: \"GET\", url: url })).then(() => {\n dispatch(GetDRGFrontPageContent({ method: \"GET\" }));\n });\n }, []);\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedYear(value));\n if (value) {\n const result = prodData.filter((item) => {\n return item.Year == value;\n });\n dispatch(setMasterFilterData(result));\n dispatch(setFilterData(result));\n dispatch(GetDRGFrontPageContent({ method: \"GET\" }));\n }\n };\n const handleLogicSelect = (e) => {\n const id = e.target.value;\n dispatch(setSelectedDRGLogic(id));\n };\n const exportSelectedLogic = (id) => (e) => {\n let selectedID = id;\n let url = \"Public/ExportLogic?&drgLogicID=\" + selectedID;\n dispatch(downloadLogic({ method: \"GET\", url: url }));\n };\n\n const classes = useStyles();\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n localStorage.setItem(\"language\", language.name);\n dispatch(GetDRGFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {/* \"Logo\" */}\n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n \n {t(\"publisher.DRG_Logic\")}\n \n \n {prodYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n {/* \n {masterfilterdata?.map((data) => {\n return (\n \n {data.Name}\n \n );\n })}\n */}\n \n \n Download\n \n
    \n\n \n {drgFrontPageContent != \"\" &&\n \n
    \n {parse(drgFrontPageContent)}\n
    \n
    \n }\n
    \n
    \n )}\n {/*
    \n \n © 2022 Independent Hospital Pricing Authoriy. All Rights Reserved.\n \n
    */}\n {isInvalidData && (\n
    The link you accessed has no data or expired
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./DRGTest.css\";\nimport { makeStyles } from \"@mui/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport IQVIALogo from \"../../assets/logos/logo-iqvia.svg\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getAllGrouperData,\n setSelectedGrouperYear,\n setSelectedGrouper,\n downloadGrouper,\n setGrouperPage,\n GetGrouperFrontPageContent,\n setEnvironment,\n getCountries,\n} from \"./publicPageSlice\";\nimport parse from 'html-react-parser';\n\nconst useStyles = makeStyles({\n input: {\n color: \"white\",\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n cssLabel: {\n color: \"white\",\n \"&.Mui-focused\": {\n color: \"#23A5EB\",\n },\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n root: {\n \"& .MuiSvgIcon-root\": {\n color: \"white\",\n },\n },\n});\n\nexport default function GrouperTest() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const publicPage = useSelector((state) => state.publicPage);\n const {\n selectedGrouperYear,\n selectedGrouperID,\n selectedGrouperName,\n isLoading,\n countries,\n grouperFrontPageContent,\n isValidData,\n isInvalidData\n } = publicPage;\n const queryParams = new URLSearchParams(window.location.search);\n const year = queryParams.get(\"year\");\n const grouperId = queryParams.get(\"id\");\n const [languageVal, setLanguageVal] = useState(\"1\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Test\"));\n dispatch(setSelectedGrouperYear(year));\n dispatch(setSelectedGrouper(grouperId));\n dispatch(setGrouperPage(\"test\"));\n dispatch(getCountries({ method: \"GET\" }));\n dispatch(getAllGrouperData({ method: \"GET\" })).then(() => {\n dispatch(GetGrouperFrontPageContent({ method: \"GET\" }));\n });\n }, []);\n\n const exportSelectedGrouper = (id) => (e) => {\n let selectedID = id;\n let url = \"Public/GetGrouper?id=\" + selectedID;\n dispatch(downloadGrouper({ method: \"GET\", url: url }));\n };\n const classes = useStyles();\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n localStorage.setItem(\"language\", language.name);\n dispatch(GetGrouperFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n \n Grouper\n \n \n {t(\"Manager.Year\")}: {selectedGrouperYear}\n \n \n {t(\"Manager_Common.Name\")}: {selectedGrouperName}\n \n\n \n \n Download\n \n
    \n\n \n {grouperFrontPageContent != \"\" &&\n \n
    \n {parse(grouperFrontPageContent)}\n
    \n
    \n }\n
    \n
    \n )}\n {/*
    \n \n © 2022 IQVIA. All Rights Reserved.\n \n
    */}\n {isInvalidData && (\n
    The link you accessed has no data or expired
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./DRGHearing.css\";\nimport { makeStyles } from \"@mui/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport Logo from \"../../assets/logos/drg-logo.png\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getAllGrouperData,\n setSelectedGrouperYear,\n setSelectedGrouper,\n downloadGrouper,\n setGrouperPage,\n GetGrouperFrontPageContent,\n setEnvironment,\n getCountries,\n} from \"./publicPageSlice\";\nimport parse from \"html-react-parser\";\n\nconst useStyles = makeStyles({\n input: {\n color: \"white\",\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n cssLabel: {\n color: \"white\",\n \"&.Mui-focused\": {\n color: \"#23A5EB\",\n },\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n root: {\n \"& .MuiSvgIcon-root\": {\n color: \"white\",\n },\n },\n});\n\nexport default function GrouperHearing() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const publicPage = useSelector((state) => state.publicPage);\n const {\n selectedGrouperYear,\n selectedGrouperID,\n selectedGrouperName,\n isLoading,\n countries,\n grouperFrontPageContent,\n isValidData,\n isInvalidData,\n } = publicPage;\n const queryParams = new URLSearchParams(window.location.search);\n const year = queryParams.get(\"year\");\n const [languageVal, setLanguageVal] = useState(\"2\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Hearing\"));\n // dispatch(setSelectedGrouperYear(year));\n dispatch(setGrouperPage(\"hearing\"));\n dispatch(getCountries({ method: \"GET\" }));\n dispatch(getAllGrouperData({ method: \"GET\" })).then(() => {\n dispatch(GetGrouperFrontPageContent({ method: \"GET\" }));\n });\n }, []);\n\n const exportSelectedGrouper = (id) => (e) => {\n let selectedID = id;\n let url = \"Public/GetGrouper?id=\" + selectedID;\n dispatch(downloadGrouper({ method: \"GET\", url: url }));\n };\n const classes = useStyles();\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n localStorage.setItem(\"language\", language.name);\n dispatch(GetGrouperFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n \n {country.name === \"en\"\n ? t(\"contentUpload.english\")\n : t(\"contentUpload.danish\")}\n \n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n \n Grouper\n \n \n {t(\"publisher.Hearing\")}\n \n \n {t(\"Manager.Year\")}: {selectedGrouperYear}\n \n {/* \n Name: {selectedGrouperName}\n */}\n\n \n \n Download\n \n
    \n \n {grouperFrontPageContent != \"\" && (\n \n
    \n {parse(grouperFrontPageContent)}\n
    \n
    \n )}\n
    \n
    \n )}\n {/*
    \n \n © 2022 IQVIA. All Rights Reserved.\n \n
    */}\n {isInvalidData && (\n
    \n {\" \"}\n \n {\" \"}\n The link you accessed has no data or expired{\" \"}\n \n
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./DRGHearing.css\";\nimport { makeStyles } from \"@mui/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport Logo from \"../../assets/logos/drg-logo.png\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getAllGrouperData,\n setSelectedGrouperYear,\n setSelectedGrouper,\n downloadGrouper,\n setGrouperPage,\n setMasterGrouperData,\n GetGrouperFrontPageContent,\n setEnvironment,\n getCountries,\n} from \"./publicPageSlice\";\nimport parse from \"html-react-parser\";\n\nconst useStyles = makeStyles({\n input: {\n color: \"white\",\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n cssLabel: {\n color: \"white\",\n \"&.Mui-focused\": {\n color: \"#23A5EB\",\n },\n \"&.Mui-disabled\": {\n color: \"white\",\n \"-webkit-text-fill-color\": \"white\",\n },\n },\n root: {\n \"& .MuiSvgIcon-root\": {\n color: \"white\",\n },\n },\n});\n\nexport default function GrouperProd() {\n const { t, i18n } = useTranslation(\"language\");\n const dispatch = useDispatch();\n const publicPage = useSelector((state) => state.publicPage);\n const {\n selectedGrouperYear,\n selectedGrouperID,\n selectedGrouperName,\n prodGrouperData,\n prodGrouperYear,\n isLoading,\n countries,\n grouperFrontPageContent,\n isValidData,\n isInvalidData,\n } = publicPage;\n const [languageVal, setLanguageVal] = useState(\"2\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Production\"));\n dispatch(setGrouperPage(\"prod\"));\n dispatch(getCountries({ method: \"GET\" }));\n dispatch(getAllGrouperData({ method: \"GET\" })).then(() => {\n dispatch(GetGrouperFrontPageContent({ method: \"GET\" }));\n });\n }, []);\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n dispatch(setSelectedGrouperYear(value));\n if (value) {\n const result = prodGrouperData.filter((item) => {\n return item.year == value;\n });\n dispatch(setMasterGrouperData(result));\n dispatch(GetGrouperFrontPageContent({ method: \"GET\" }));\n }\n };\n const exportSelectedGrouper = (id) => (e) => {\n let selectedID = id;\n let url = \"Public/GetGrouper?id=\" + selectedID;\n dispatch(downloadGrouper({ method: \"GET\", url: url }));\n };\n const classes = useStyles();\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n localStorage.setItem(\"language\", language.name);\n dispatch(GetGrouperFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {/* \"Logo\" */}\n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n \n {country.name === \"en\"\n ? t(\"contentUpload.english\")\n : t(\"contentUpload.danish\")}\n \n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n Grouper\n \n {prodGrouperYear.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n {/* \n Name: {selectedGrouperName}\n */}\n\n \n \n Download\n \n
    \n\n \n {grouperFrontPageContent != \"\" && (\n \n
    \n {parse(grouperFrontPageContent)}\n
    \n
    \n )}\n
    \n
    \n )}\n {/*
    \n \n © 2022 Independent Hospital Pricing Authoriy. All Rights Reserved.\n \n
    */}\n {isInvalidData && (\n
    \n {\" \"}\n \n {\" \"}\n The link you accessed has no data or expired{\" \"}\n \n
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isLoading}\n >\n \n \n
    \n );\n}\n","export default __webpack_public_path__ + \"static/media/EraseIconPublic.62e50caf.svg\";","export default __webpack_public_path__ + \"static/media/ReportIconPublic.c9348234.svg\";","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { styled } from \"@mui/material/styles\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport Typography from \"@mui/material/Typography\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport FolderIcon from \"@mui/icons-material/Folder\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport {\n getInteractiveNames,\n setSelectedInteractive,\n} from \"./publicInteractiveSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n backgroundColor: \"var(--tree-view-bg-color)\",\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n {/* {labelInfo === \"Selected\" ? (\n \n ) : null} */}\n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function InteractiveSelectionTree() {\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.publicInteractive);\n const {\n interactiveCollection,\n yearsCollection,\n selectedInteractiveID,\n selectedInteractiveName,\n selectedInteractiveYear,\n } = interactive;\n const [selectedValue, setSelectedValue] = useState(selectedInteractiveID);\n\n useEffect(() => {\n //dispatch(getInteractiveNames({ method: \"GET\", login: true }));\n }, []);\n const handleSelection = (obj) => () => {\n setSelectedValue(obj.id);\n dispatch(setSelectedInteractive(obj));\n };\n\n return (\n }\n defaultExpandIcon={}\n defaultEndIcon={
    }\n sx={{ height: \"100%\", flexGrow: 1, maxWidth: 600, width: 360 }}\n >\n {yearsCollection.map((year) => {\n return (\n a.year == year).length\n }\n color=\"#1a73e8\"\n //bgColor=\"#e8f0fe\"\n >\n {interactiveCollection\n .filter((a) => a.year == year)\n .map((x) => {\n let labelDate = x.createdDate != null ? x.createdDate : \"\";\n return (\n \n );\n })}\n \n );\n })}\n \n );\n}\n","import React from \"react\";\nimport \"./Interactive.css\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n setChildrenStatus,\n getAllDiagnosis,\n setSelectionButton,\n setDiagnosisData,\n} from \"./publicInteractiveSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n }\n collapseIcon={}\n label={\n \n \n \n {labelText}\n \n {labelInfo === \"Selected\" ? (\n \n ) : null}\n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nconst { useState, useCallback } = React;\n\nfunction MyTreeItem(props) {\n const [childNodes, setChildNodes] = useState(null);\n const [expanded, setExpanded] = React.useState([]);\n const [selectedValue, setSelectedValue] = useState(\"\");\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.publicInteractive);\n const { diagnosis, diagnosisData, contactType } = interactive;\n const { id, name, node } = props;\n\n const handleChange = (event, nodes) => {\n const expandingNodes = nodes.filter((x) => !expanded.includes(x));\n setExpanded(nodes);\n if (expandingNodes[0]) {\n const parentId = expandingNodes[0];\n if (node.hasChildren) {\n dispatch(setChildrenStatus({ name: \"diagnosis\", value: true }));\n dispatch(getAllDiagnosis({ method: \"GET\", parentId: parentId })).then(\n (res) => {\n setChildNodes(\n res ?.payload ?.map((node) => (\n \n ))\n );\n }\n );\n }\n }\n };\n const handleTreeSelection = (obj) => () => {\n if ((obj.isSelectable == true || obj.isSelectable.toLowerCase() == \"true\") && contactType != \"6\") {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: false }));\n if (diagnosis.length > 0) {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n }\n dispatch(setDiagnosisData(obj));\n } else {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: true }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n }\n };\n let labelInfo = \"\";\n let bgColor = \"#fff\";\n if (node.isSelectable.toLowerCase() == \"true\" && id === diagnosisData.id) {\n bgColor = \"#e8f0fe\";\n } else {\n bgColor = \"#fff\";\n }\n\n return (\n }\n defaultExpandIcon={}\n expanded={expanded}\n onNodeToggle={handleChange}\n sx={{ width: \"98%\" }}\n >\n {/*The node below should act as the root node for now */}\n }\n collapseIcon={}\n onClick={handleTreeSelection(node)}\n >\n {node.isLeaf.toLowerCase() == \"true\"\n ? childNodes\n : childNodes || [
    ]}\n \n \n );\n}\n\nexport default function DiagnosisTreeView(props) {\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.publicInteractive);\n const { diagnosisParentCollection, diagnosisSearchTree, diagnosisSearch } =\n interactive;\n if (props.search && diagnosisSearch) {\n return (\n
    \n {diagnosisSearchTree ?.map((b) => {\n return ;\n })}\n
    \n );\n } else {\n return (\n
    \n {diagnosisParentCollection ?.map((b) => {\n return ;\n })}\n
    \n );\n }\n}\n","import React from \"react\";\nimport \"./Interactive.css\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n setChildrenStatus,\n getAllProcedures,\n setSelectionButton,\n setProcedureData,\n} from \"./publicInteractiveSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n }\n collapseIcon={}\n label={\n \n \n \n {labelText}\n \n {labelInfo === \"Selected\" ? (\n \n ) : null}\n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nconst { useState, useCallback } = React;\n\nfunction MyTreeItem(props) {\n const [childNodes, setChildNodes] = useState(null);\n const [expanded, setExpanded] = React.useState([]);\n const [selectedValue, setSelectedValue] = useState(\"\");\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.publicInteractive);\n const { procedure, procedureData } = interactive;\n const { id, name, node } = props;\n\n const handleChange = (event, nodes) => {\n const expandingNodes = nodes.filter((x) => !expanded.includes(x));\n setExpanded(nodes);\n if (expandingNodes[0]) {\n const parentId = expandingNodes[0];\n if (node.hasChildren) {\n dispatch(setChildrenStatus({ name: \"procedures\", value: true }));\n dispatch(getAllProcedures({ method: \"GET\", parentId: parentId })).then(\n (res) => {\n setChildNodes(\n res ?.payload ?.map((node) => (\n \n ))\n );\n }\n );\n }\n }\n };\n const handleTreeSelection = (obj) => () => {\n if (obj.isSelectable == true || obj.isSelectable.toLowerCase() == \"true\") {\n dispatch(setSelectionButton({ name: \"procedure\", value: false }));\n if (procedure.length > 0) {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: false }));\n }\n dispatch(setProcedureData(obj));\n } else {\n dispatch(setSelectionButton({ name: \"procedure\", value: true }));\n dispatch(setSelectionButton({ name: \"procAdditional\", value: true }));\n }\n };\n let labelInfo = \"\";\n let bgColor = \"#fff\";\n if (node.isSelectable.toLowerCase() && id === procedureData.id) {\n bgColor = \"#e8f0fe\";\n } else {\n bgColor = \"#fff\";\n }\n\n return (\n }\n defaultExpandIcon={}\n expanded={expanded}\n onNodeToggle={handleChange}\n sx={{ width: \"98%\" }}\n >\n {/*The node below should act as the root node for now */}\n }\n collapseIcon={}\n onClick={handleTreeSelection(node)}\n >\n {node.isLeaf.toLowerCase() == \"true\"\n ? childNodes\n : childNodes || [
    ]}\n \n \n );\n}\n\nexport default function ProcedureTreeView(props) {\n const dispatch = useDispatch();\n const interactive = useSelector((state) => state.publicInteractive);\n const { proceduresParentCollection, procedureSearchTree, procedureSearch } =\n interactive;\n if (props.search && procedureSearch) {\n return (\n
    \n {procedureSearchTree ?.map((b) => {\n return ;\n })}\n
    \n );\n } else {\n return (\n
    \n {proceduresParentCollection ?.map((b) => {\n return ;\n })}\n
    \n );\n }\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport KeyboardArrowLeftIcon from \"@mui/icons-material/KeyboardArrowLeft\";\nimport KeyboardArrowRightIcon from \"@mui/icons-material/KeyboardArrowRight\";\nimport MoreVertIcon from \"@mui/icons-material/MoreVert\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport TextField from \"@mui/material/TextField\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport gsap from \"gsap\";\nimport {\n spellMoveLeft,\n spellMoveRight,\n deleteSpell,\n setValues,\n interactiveProcessResult,\n setRequestList,\n showPanels,\n setRequestType,\n setInteractiveLoading,\n clearResultInformation,\n} from \"./publicInteractiveSlice\";\n\nexport default function Spells() {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.publicInteractive);\n const {\n patientInputs,\n spellsList,\n isYearGreaterThan2021,\n contactDaysNoProgress,\n spellVarighed,\n selectedInteractiveObj,\n isMale,\n } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n let scrl = useRef(null);\n const [scrollX, setscrollX] = useState(0);\n const [scrolEnd, setscrolEnd] = useState(false);\n\n //Slide click\n const slide = (shift) => {\n scrl.current.scrollLeft += shift;\n setscrollX(scrollX + shift);\n if (\n Math.floor(scrl.current.scrollWidth - scrl.current.scrollLeft) <=\n scrl.current.offsetWidth\n ) {\n setscrolEnd(true);\n } else {\n setscrolEnd(false);\n }\n };\n\n //Anim\n const anim = (e) => {\n gsap.from(e.target, { scale: 1 });\n gsap.to(e.target, { scale: 1.5 });\n };\n const anim2 = (e) => {\n gsap.from(e.target, { scale: 1.5 });\n gsap.to(e.target, { scale: 1 });\n };\n\n const scrollCheck = () => {\n setscrollX(scrl.current.scrollLeft);\n if (\n Math.floor(scrl.current.scrollWidth - scrl.current.scrollLeft) <=\n scrl.current.offsetWidth\n ) {\n setscrolEnd(true);\n } else {\n setscrolEnd(false);\n }\n };\n const handleSpellMoveLeft = (id) => () => {\n var index = spellsList.findIndex((item) => item.id === id);\n dispatch(spellMoveLeft(index));\n };\n const handleSpellMoveRight = (id) => () => {\n var index = spellsList.findIndex((item) => item.id === id);\n dispatch(spellMoveRight(index));\n };\n const handleDeleteSpell = (val) => () => {\n dispatch(deleteSpell(val));\n };\n const handleContactDaysChange = (e) => {\n dispatch(\n setValues({ name: \"contactDaysNoProgress\", value: e.target.value })\n );\n };\n const handleDurationChange = (e) => {\n dispatch(setValues({ name: \"spellVarighed\", value: e.target.value }));\n };\n const handleRunRequest = (e) => {\n dispatch(setInteractiveLoading(true));\n let count = 1;\n let requestList = [];\n spellsList.forEach((ele) => {\n var request = createRequestList(ele.val[0], count);\n dispatch(setRequestList(request[0]));\n requestList.push(request[0]);\n count++;\n });\n postInteractiveRequest(requestList, \"episode\");\n };\n\n function createRequestList(obj, rid) {\n var reqData = [];\n\n let gestationAge = obj.isMale\n ? {\n Code: obj.maleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n }\n : {\n Code: obj.femaleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n };\n let reasonForContact =\n obj.hospWayValue === \"1\"\n ? generateListItems(obj, \"ReasonForContact\")\n : null;\n let contactType = generateListItems(obj, \"ContactType\");\n var liggeDage = \"\";\n if (isYearGreaterThan2021) {\n if (obj.varighed == \"0\") {\n liggeDage = \"\";\n } else if (obj.varighed == \"1\") {\n liggeDage = \"1\";\n } else {\n liggeDage = \"12\";\n }\n }\n var diagnosis = [];\n obj.diagnosis.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n diagnosis.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n var procedure = [];\n obj.procedure.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n procedure.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n if (isYearGreaterThan2021) {\n reqData.push({\n RId: rid,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n LiggidageBedInDays: liggeDage,\n Varighed: {\n Code: obj.varighed,\n Description: obj.varighedDescription[language],\n Significance: \"\",\n },\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language]: null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n } else {\n reqData.push({\n RId: rid,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language]: null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n }\n\n return reqData;\n }\n\n function generateListItems(obj, col) {\n let retObj = {};\n if (col == \"ContactType\") {\n if (isYearGreaterThan2021) {\n if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"2\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"5\") {\n retObj.Code = \"1\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n } else {\n if (obj.contactTypeValue == \"3\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n }\n } else if (col == \"ReasonForContact\") {\n if (obj.reasonForContactValue == \"0\") {\n retObj.Code = \" \";\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.reasonForContactValue;\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n }\n }\n return retObj;\n }\n\n function postInteractiveRequest(requestList, type) {\n var viewModel = {};\n let overWriteBedDays, overWriteVarighed;\n dispatch(setRequestType(type));\n if (type == \"episode\") {\n overWriteBedDays = contactDaysNoProgress;\n if (isYearGreaterThan2021) {\n //varighed\n overWriteVarighed = requestList[0].Varighed;\n }\n } else {\n overWriteBedDays = null;\n overWriteVarighed = null;\n }\n\n viewModel = {\n Name: selectedInteractiveObj.interactiveName,\n Version: selectedInteractiveObj.interactiveVersion,\n Year: selectedInteractiveObj.year,\n OverWriteBedDays: overWriteBedDays,\n OverWriteVarighed: overWriteVarighed,\n interactive: requestList,\n };\n\n dispatch(\n interactiveProcessResult({ method: \"POST\", body: viewModel })\n ).then(() => {\n //console.log(\"Res Run Req\");\n });\n }\n\n return (\n
    \n {spellsList.length > 0 ? (\n
    \n
    \n \n {t(\"interactive.Episode\")}   {spellsList.length}\n \n
    \n {scrollX !== 0 && (\n slide(-50)}\n onMouseEnter={(e) => anim(e)}\n onMouseLeave={(e) => anim2(e)}\n />\n )}\n {!scrolEnd && (\n slide(+50)}\n onMouseEnter={(e) => anim(e)}\n onMouseLeave={(e) => anim2(e)}\n />\n )}\n
    \n
    \n\n
      \n {spellsList?.map((a, index) => {\n return (\n
    • \n \n
      \n \n {t(\"interactive.Episode\")}   {index + 1}\n \n
      \n {index != 0 ? (\n \n ) : (\n \n )}\n\n {index != spellsList.length - 1 ? (\n \n ) : (\n \n )}\n \n
      \n
      \n
      \n \n {t(\"interactive.primaryDiagnosis\")}: \n \n \n {a?.val[0].diagnosis[0]?.name}\n \n
      \n
      \n \n {t(\"interactive.Patient\")}: \n \n {a.val[0].genderText[language]}, \n {a.val[0].age} {a.val[0].ageTypeText[language]}\n \n \n
      \n
      \n
    • \n );\n })}\n
    \n
    \n
    \n {/* {isYearGreaterThan2021 ? (\n 0 && spellVarighed == \"\"\n ? Object.values(patientInputs[0].varighed)[0].value\n : spellVarighed\n }\n onChange={handleDurationChange}\n sx={{ paddingRight: \"20px\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].varighed).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n ) : null} */}\n \n
    \n
    \n \n {t(\"interactive.runRequest\")}\n \n
    \n
    \n
    \n ) : null}\n
    \n );\n}\n","import React, { useState } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Grid from \"@mui/material/Grid\";\nimport Divider from \"@mui/material/Divider\";\nimport MoreVertIcon from \"@mui/icons-material/MoreVert\";\nimport Link from \"@mui/material/Link\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AddCircleIcon from \"@mui/icons-material/AddCircle\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport Menu from \"@mui/material/Menu\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n expandCollapseUpdate,\n addEpisodeToSpell,\n editEpisode,\n deleteEpisode,\n} from \"./publicInteractiveSlice\";\n\nexport default function Episodes() {\n const [expandValue, setExpandValue] = useState(\"Expand\");\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.publicInteractive);\n const { interactiveList, spellsList } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n const [currentIndex, setCurrentIndex] = useState(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (index) => (event) => {\n setCurrentIndex(index);\n setAnchorEl(event.currentTarget);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n const handleExpand = (index) => (e) => {\n if (e.target.value == \"Expand\") {\n setExpandValue(\"Collapse\");\n dispatch(expandCollapseUpdate({ index: index, value: \"Expand\" }));\n } else {\n setExpandValue(\"Expand\");\n dispatch(expandCollapseUpdate({ index: index, value: \"Collapse\" }));\n }\n };\n const handleAddEpisodeToSpell = (e) => {\n var item = interactiveList[currentIndex];\n dispatch(addEpisodeToSpell({ item: item, id: item[0].id }));\n };\n const handleEditEpisode = (e) => {\n var item = interactiveList[currentIndex];\n dispatch(editEpisode(item[0]));\n };\n const handleDeleteEpisode = (val) => () => {\n dispatch(deleteEpisode(currentIndex));\n };\n\n return (\n
    \n {interactiveList.length > 0 ? (\n
    \n
      \n {interactiveList?.map((a, index) => {\n return (\n \n \n
      \n \n {t(\"interactive.Episode\")}   {index + 1}\n \n
      \n \n {a[0].expandCollapseValue == \"Expand\" ? t(\"interactive.collapse\") : t(\"interactive.expand\")}\n \n \n \n \n \n \n \n \n \n \n \n {t(\"interactive.addEpisode\")}\n \n \n \n \n \n {t(\"interactive.editEpisode\")}\n \n \n \n \n \n {t(\"interactive.deleteEpisode\")}\n \n \n
      \n
      \n {a[0].expandCollapseValue === \"Collapse\" ? (\n
      \n
      \n \n {t(\"interactive.primaryDiagnosis\")}: \n \n \n {a[0].diagnosis[0]?.name}\n \n
      \n\n
      \n \n {t(\"interactive.Patient\")}: \n \n {a[0].genderText[language]}, \n {a[0].age} {a[0].ageTypeText[language]}\n \n \n
      \n
      \n ) : (\n
      \n \n \n \n {t(\"interactive.patientInformation\")}\n \n \n
      \n \n {t(\"interactive.sex\")}: \n \n {a[0].genderText[language]}\n \n \n {t(\"interactive.age\")}: \n \n \n {a[0].age} {a[0].ageTypeText[language]}\n \n \n \n {t(\"interactive.gestationAge\")}: \n \n {a[0].gestationText[language]}\n \n \n \n {t(\"interactive.dischargeType\")}: \n \n {a[0].dischargeText[language]}\n \n \n \n {t(\"interactive.contactType\")}: \n \n {a[0].contactTypeText[language]}\n \n \n \n {t(\"interactive.priority\")}: \n \n {a[0].hospWayText[language]}\n \n \n
      \n
      \n\n \n \n {t(\"interactive.selectedDiagnosis\")}\n \n \n
      \n {a[0].diagnosis?.map((item, index) => {\n return (\n
      \n \n \n \n {item.type}\n \n   \n {item.name}\n \n \n {item.additionalCode.map((b) => {\n return (\n \n \n \n {b.type}\n \n   \n {b.name}\n \n \n );\n })}\n
      \n );\n })}\n
      \n
      \n \n \n {t(\"interactive.selectedProcedure\")}\n \n \n
      \n {a[0].procedure?.map((item, index) => {\n return (\n
      \n \n \n \n {item.type}\n \n   \n {item.name}\n \n \n {item.additionalCode.map((b) => {\n return (\n \n \n \n {b.type}\n \n   \n {b.name}\n \n \n );\n })}\n
      \n );\n })}\n
      \n
      \n
      \n
      \n )}\n \n \n );\n })}\n
    \n
    \n ) : null}\n
    \n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport \"./Interactive.css\";\nimport Typography from \"@mui/material/Typography\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\n\nexport default function PatientInformation(props) {\n const { t, i18n } = useTranslation(\"language\");\n const { a } = props;\n return (\n
    \n \n {t(\"interactive.patientInformation\")}\n \n\n
    \n
    \n \n {t(\"interactive.sex\")}: \n \n {a.genderDescription}\n \n \n {t(\"interactive.age\")}: \n \n \n {a.age} {a.ageTypeText}\n \n \n \n {t(\"interactive.gestationAge\")}: \n \n {a.gestationAgeDescription}\n \n \n \n {t(\"interactive.dischargeType\")}: \n \n {a.dischargeTypeDescription}\n \n \n \n {t(\"interactive.contactType\")}: \n \n {a.contactTypeDescription}\n \n \n \n {t(\"interactive.priority\")}: \n \n {a.admissionTypeDescription}\n \n \n
    \n
    \n {a.contactReasonDescription && (\n \n {t(\"interactive.contactReason\")}: \n \n {a.contactReasonDescription}\n \n \n )}\n {a.durationBedDays && (\n \n {t(\"interactive.contactDays\")}: \n \n {a.durationBedDays}\n \n \n )}\n {a.birthType && (\n \n {t(\"interactive.birthType\")}: \n \n {a.birthType}\n \n \n )}\n {a.birthHeight && (\n \n {t(\"interactive.height\")}: \n \n {a.birthHeight}\n \n \n )}\n {a.birthWeight && (\n \n {t(\"interactive.weight\")}: \n \n {a.birthWeight}\n \n \n )}\n
    \n
    \n
    \n );\n}\n","import React, { useState, useRef } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { styled } from \"@mui/material/styles\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport KeyboardArrowLeftIcon from \"@mui/icons-material/KeyboardArrowLeft\";\nimport KeyboardArrowRightIcon from \"@mui/icons-material/KeyboardArrowRight\";\nimport Button from \"@mui/material/Button\";\nimport Grid from \"@mui/material/Grid\";\nimport Divider from \"@mui/material/Divider\";\nimport Link from \"@mui/material/Link\";\nimport Tooltip, { tooltipClasses } from \"@mui/material/Tooltip\";\nimport Popover from \"@mui/material/Popover\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport gsap from \"gsap\";\nimport PatientInformation from \"./PatientInformation\";\nimport { setVisualDialog, noVisualError, setExpand } from \"./publicInteractiveSlice\";\nimport Currency from 'react-currency-formatter';\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst CustomTooltip = styled(({ className, ...props }) => (\n \n))(({ theme }) => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: \"#FFFFFF\",\n color: \"rgba(0, 0, 0, 0.87)\",\n maxWidth: 450,\n fontSize: theme.typography.pxToRem(12),\n border: \"1px solid #dadde9\",\n },\n}));\n\nexport default function Results() {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n let scrl = useRef(null);\n const [scrollX, setscrollX] = useState(0);\n const [scrolEnd, setscrolEnd] = useState(false);\n const interactive = useSelector((state) => state.publicInteractive);\n const { selectedInteractiveObj, requestList, resultList } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n const [expanded, setExpanded] = React.useState(true);\n //const [open, setOpen] = useState(false);\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n //setOpen(true);\n };\n const handleChange = (panelValue) => (event, newExpanded) => {\n setExpanded(panelValue);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n const id = open ? \"simple-popover\" : undefined;\n\n //Slide click\n const slide = (shift) => {\n scrl.current.scrollLeft += shift;\n setscrollX(scrollX + shift);\n if (\n Math.floor(scrl.current.scrollWidth - scrl.current.scrollLeft) <=\n scrl.current.offsetWidth\n ) {\n setscrolEnd(true);\n } else {\n setscrolEnd(false);\n }\n };\n\n //Anim\n const anim = (e) => {\n gsap.from(e.target, { scale: 1 });\n gsap.to(e.target, { scale: 1.5 });\n };\n const anim2 = (e) => {\n gsap.from(e.target, { scale: 1.5 });\n gsap.to(e.target, { scale: 1 });\n };\n\n const scrollCheck = () => {\n setscrollX(scrl.current.scrollLeft);\n if (\n Math.floor(scrl.current.scrollWidth - scrl.current.scrollLeft) <=\n scrl.current.offsetWidth\n ) {\n setscrolEnd(true);\n } else {\n setscrolEnd(false);\n }\n };\n\n const handleOpenInViewer = (e) => {\n if (resultList ?.length > 0) {\n let visualLink = resultList[0].val[0].visualLink;\n var tempArray = visualLink.split(\"&\");\n let visualID = tempArray[0].replace(\"visualid=\", \"\");\n let searchVal = tempArray[2].replace(\"search=\", \"\");\n if (visualID != \"\" && visualID != null) {\n dispatch(\n setVisualDialog({ status: true, id: visualID, search: searchVal })\n );\n } else {\n dispatch(noVisualError());\n }\n }\n };\n\n return (\n
    \n {/* {resultList?.length > 0 ? ( */}\n {resultList.map((row, index) => {\n return (\n
    \n {row.val ?.map((a) => {\n return a.isCourse ? (\n \n \n dispatch(setExpand(index))}\n sx={{ cursor: \"pointer\" }}\n />\n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n className=\"result-accordion\"\n >\n
    \n
    \n \n {t(\"interactive.drgGroup\")}:\n \n \n {a.results.drg + \" \" + (a.results.drgDescription == null ? \"\": a.results.drgDescription)}\n \n
    \n {row.expand != true && (\n <>\n
    \n \n {t(\"interactive.primaryDiagnosis\")}:\n \n \n {a.results.aDiagDescription}\n \n
    \n
    \n \n {t(\"interactive.sex\")}:\n \n {a.genderDescription}\n \n \n {t(\"interactive.age\")}:\n \n \n {a.age} {a.ageTypeText}\n \n \n {t(\"interactive.rate\")}:\n \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n \n {t(\"interactive.longStayRate\")}:\n \n \n {a.results.langliggertakst == null ? \"0.00\" : (\n \n )}\n \n \n
    \n \n )}\n
    \n {/*
    \n
    \n \n \n {t(\"interactive.openInViewer\")}\n \n
    \n
    */}\n \n \n \n \n \n {t(\"interactive.spellResults\")}\n \n \n
    \n \n {t(\"interactive.primaryDiagnosis\")}: \n {a.aDiagDescription && (\n \n A {a.aDiagDescription}\n \n )}\n \n \n {t(\"interactive.drgGroup\")}: \n \n {a.results.drg}\n \n \n \n {t(\"interactive.rate\")}: \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n \n \n {t(\"interactive.longStayRate\")}: \n \n {a.results.langliggertakst == null ? \"0.00\" : (\n \n )}\n \n \n \n {t(\"interactive.groupingKey\")}: \n \n DRG {row.names.year}\n \n \n \n {t(\"interactive.noOfEpisodes\")}: \n \n {row.val.length - 1}\n \n \n
    \n
    \n\n \n \n {t(\"interactive.patientInformation\")}\n \n \n
    \n
    \n \n {t(\"interactive.sex\")}: \n \n {a.genderDescription}\n \n \n {t(\"interactive.age\")}: \n \n \n {a.age} {a.ageTypeText}\n \n \n \n {t(\"interactive.gestationAge\")}: \n \n {a.gestationAgeDescription}\n \n \n \n {t(\"interactive.dischargeType\")}: \n \n {a.dischargeTypeDescription}\n \n \n \n {t(\"interactive.contactType\")}: \n \n {a.contactTypeDescription}\n \n \n \n {t(\"interactive.priority\")}: \n \n {a.admissionTypeDescription}\n \n \n
    \n
    \n {a.contactReasonDescription && (\n \n {t(\"interactive.contactReason\")}: \n \n {a.contactReasonDescription}\n \n \n )}\n {a.durationBedDays && (\n \n {t(\"interactive.contactDays\")}: \n \n {a.durationBedDays}\n \n \n )}\n {a.birthType && (\n \n {t(\"interactive.birthType\")}: \n \n {a.birthType}\n \n \n )}\n {a.birthHeight && (\n \n {t(\"interactive.height\")}: \n \n {a.birthHeight}\n \n \n )}\n {a.birthWeight && (\n \n {t(\"interactive.weight\")}: \n \n {a.birthWeight}\n \n \n )}\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n Episodes  \n \n
    \n {scrollX !== 0 && (\n slide(-50)}\n onMouseEnter={(e) => anim(e)}\n onMouseLeave={(e) => anim2(e)}\n />\n )}\n {!scrolEnd && (\n slide(+50)}\n onMouseEnter={(e) => anim(e)}\n onMouseLeave={(e) => anim2(e)}\n />\n )}\n
    \n
    \n\n
      \n {row.val ?.map((a, index) => {\n return !a.isCourse ? (\n
    • \n \n
      \n \n {t(\"interactive.Episode\")}   {a.rId}\n \n
      \n
      \n
      \n \n {t(\"interactive.drgGroup\")}: \n \n \n {a.results.drg}\n \n
      \n
      \n \n {t(\"interactive.rate\")}: \n \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n
      \n {/*
      \n \n {t(\"interactive.longStayRate\")}: \n \n \n {a.results.langliggertakst}\n \n
      */}\n
      \n
      \n \n {t(\"interactive.selectedDiagnosis\")}\n \n\n {a.diags ?.map((item, index) => {\n return (\n
      \n {item.type != \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n {item.type == \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n
      \n );\n })}\n
      \n
      \n \n {t(\"interactive.selectedProcedure\")}\n \n\n {a ?.procs ?.map((item, index) => {\n return (\n
      \n {item.type != \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n {item.type == \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n
      \n );\n })}\n
      \n
      \n }\n placement=\"bottom\"\n className=\"result-tooltip\"\n >\n \n {t(\"interactive.Show_Patient_Information\")}\n \n \n
      \n {/* \n \n */}\n
      \n
    • \n ) : null;\n })}\n
    \n
    \n
    \n
    \n
    \n ) : null;\n })}\n
    \n );\n })}\n {/* ) : null} */}\n
    \n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Grid from \"@mui/material/Grid\";\nimport Divider from \"@mui/material/Divider\";\nimport Link from \"@mui/material/Link\";\nimport Popover from \"@mui/material/Popover\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport PdfIcon from \"../../../assets/icons/PdfIcon.svg\";\nimport PrintIcon from \"@mui/icons-material/Print\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport Results from \"./Results\";\nimport jsPDF from \"jspdf\";\nimport \"jspdf-autotable\";\nimport { setReportDialog } from \"./publicInteractiveSlice\";\nimport PatientInformation from \"./PatientInformation\";\nimport ReactToPrint, { useReactToPrint } from \"react-to-print\";\nimport Currency from 'react-currency-formatter';\n\nexport default function Report() {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.publicInteractive);\n const { selectedInteractiveObj, requestList, resultList } = interactive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n const [printOverview, setPrintOverview] = useState(false);\n let componentRef = useRef();\n\n // const saveAsPDF = () => {\n // // initialize jsPDF\n // /* const doc = new jsPDF();\n // doc.html(ReactDOMServer.renderToStaticMarkup(), {\n // callback: () => {\n // doc.save(\"myDocument.pdf\");\n // },\n // }); */\n // const report = new jsPDF(\"portrait\", \"pt\", \"a3\");\n // report.setFontSize(8);\n // report.html(document.querySelector(\"#report\")).then(() => {\n // report.save(\"report.pdf\");\n // });\n // };\n\n const handlePrint = async () => {\n await setPrintOverview(true);\n await triggerPrint();\n setPrintOverview(false);\n }\n\n const triggerPrint = useReactToPrint({\n documentTitle: \"Report\",\n content: () => componentRef.current,\n bodyClass: \"printOverviewLayout\",\n });\n\n // const handlePrint = () => {\n // let popupWin;\n // let printContentBody = document.getElementById(\"report\").innerHTML;\n // popupWin = window.open(\"\", \"_blank\");\n // popupWin.document.open();\n // popupWin.document.write(`\n // \n // \n // Interactive Results - Report\n // \n // \n //
    \n // ${printContentBody}\n //
    \n // \n // `);\n // popupWin.document.close();\n // };\n const handleClose = () => {\n dispatch(setReportDialog(false));\n };\n\n return (\n
    \n
    \n
    \n \n {t(\"interactive.Report_Results\")}\n \n
    \n {!printOverview && (\n
    \n {/* \n {\" \"}\n \n \"PDF-Icon\"\n */}\n\n \n {\" \"}\n \n \n \n \n \n
    \n )}\n
    \n
    \n {/* {resultList?.length > 0 ? ( */}\n {resultList.map((row) => {\n return (\n
    \n {row.val ?.map((a, index) => {\n // return a.rId > 0 ? (\n return a.isCourse ? (\n \n
    \n \n {a.results.drgDescription}\n \n
    \n\n \n \n \n {t(\"interactive.spellResults\")}\n \n \n
    \n \n {t(\"interactive.primaryDiagnosis\")}: \n {a.aDiagDescription && (\n \n A {a.aDiagDescription}\n \n )}\n \n \n {t(\"interactive.drgGroup\")}: \n \n {a.results.drg}\n \n \n \n {t(\"interactive.rate\")}: \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n \n \n {t(\"interactive.longStayRate\")}: \n \n {a.results.langliggertakst == null ? \"0.00\" : (\n \n )}\n \n \n \n {t(\"interactive.groupingKey\")}: \n \n DRG {row.names.year}\n \n \n \n {t(\"interactive.noOfEpisodes\")}: \n \n {row.val.length - 1}\n \n \n
    \n
    \n\n \n \n {t(\"interactive.patientInformation\")}\n \n \n
    \n
    \n \n {t(\"interactive.sex\")}: \n \n {a.genderDescription}\n \n \n {t(\"interactive.age\")}: \n \n \n {a.age} {a.ageTypeText}\n \n \n \n {t(\"interactive.gestationAge\")}: \n \n {a.gestationAgeDescription}\n \n \n \n {t(\"interactive.dischargeType\")}: \n \n {a.dischargeTypeDescription}\n \n \n \n {t(\"interactive.contactType\")}: \n \n {a.contactTypeDescription}\n \n \n \n {t(\"interactive.priority\")}: \n \n {a.admissionTypeDescription}\n \n \n
    \n
    \n {a.contactReasonDescription && (\n \n {t(\"interactive.contactReason\")}: \n \n {a.contactReasonDescription}\n \n \n )}\n {a.durationBedDays && (\n \n {t(\"interactive.contactDays\")}: \n \n {a.durationBedDays}\n \n \n )}\n {a.birthType && (\n \n {t(\"interactive.birthType\")}: \n \n {a.birthType}\n \n \n )}\n {a.birthHeight && (\n \n {t(\"interactive.height\")}: \n \n {a.birthHeight}\n \n \n )}\n {a.birthWeight && (\n \n {t(\"interactive.weight\")}: \n \n {a.birthWeight}\n \n \n )}\n
    \n
    \n
    \n
    \n \n
    \n
      \n {row.val ?.map((a, index) => {\n // return a.rId > 0 ? (\n return !a.isCourse ? (\n
    • \n \n
      \n \n {t(\"interactive.Episode\")}   {a.rId}\n \n
      \n
      \n
      \n \n {t(\"interactive.drgGroup\")}: \n \n \n {a.results.drg}\n \n
      \n
      \n \n {t(\"interactive.rate\")}: \n \n \n {a.results.standardRate == null ? \"0.00\" : (\n \n )}\n \n
      \n {/*
      \n \n {t(\"interactive.longStayRate\")}: \n \n \n {a.results.langliggertakst}\n \n
      */}\n
      \n
      \n \n {t(\"interactive.selectedDiagnosis\")}\n \n\n {a.diags ?.map((item, index) => {\n return (\n
      \n {item.type != \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n {item.type == \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n
      \n );\n })}\n
      \n
      \n \n {t(\"interactive.selectedProcedure\")}\n \n\n {a ?.procs ?.map((item, index) => {\n return (\n
      \n {item.type != \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n {item.type == \"T\" ? (\n \n \n \n {item.type}\n \n   \n {item.description}\n \n \n ) : null}\n
      \n );\n })}\n
      \n \n \n
    • \n ) : null;\n })}\n
    \n
    \n
    \n ) : null;\n })}\n
    \n // ) : null}\n );\n })}\n
    \n
    \n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getVisualDatabyID,\n getVisualMetadata,\n getVisualNodesJSON,\n setVisualDialog,\n} from \"./publicInteractiveSlice\";\nimport { DiagramBase } from \"../../viewer/DiagramBase\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Typography from \"@mui/material/Typography\";\nimport Divider from \"@mui/material/Divider\";\n\nexport default function VisualDiagram(props) {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const interactive = useSelector((state) => state.publicInteractive);\n const { isVisualLoading, visualID, visualSearchValue, dataForGoJs } =\n interactive;\n\n useEffect(() => {\n dispatch(getVisualDatabyID({ method: \"GET\", id: visualID })).then((res) => {\n var data = JSON.parse(res.payload);\n\n dispatch(\n getVisualMetadata({\n method: \"GET\",\n name: data.VisualName,\n version: data.VisualVersion,\n year: data.Year,\n })\n ).then((r) => {\n dispatch(\n getVisualNodesJSON({\n method: \"GET\",\n logicName: r.payload.DRGLogicName,\n logicVersion: r.payload.DRGLogicVersion,\n year: r.payload.DRGLogicYear,\n priceName: r.payload.DRGPriceName,\n priceVersion: r.payload.DRGPriceVersion,\n })\n );\n });\n });\n }, []);\n\n useEffect(() => {\n //console.log(\"Current Value of isVisualLoading:\", isVisualLoading);\n }, [isVisualLoading]);\n\n const handleClose = () => {\n dispatch(setVisualDialog({ status: false, id: \"\", search: \"\" }));\n };\n\n return (\n
    \n {isVisualLoading ? (\n
    \n
    \n
    \n \n {t(\"interactive.fullLogic\")}\n \n
    \n
    \n \n \n \n
    \n
    \n \n \n
    \n ) : (\n \n )}\n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport HelpOutlineIcon from \"@mui/icons-material/HelpOutline\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { styled } from \"@mui/material/styles\";\nimport ArrowForwardIosSharpIcon from \"@mui/icons-material/ArrowForwardIosSharp\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport InfoIcon from \"@mui/icons-material/Info\";\nimport EraseIcon from \"../../../assets/icons/EraseIconPublic.svg\";\nimport TextField from \"@mui/material/TextField\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport AddCircleIcon from \"@mui/icons-material/AddCircle\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport ReportIcon from \"../../../assets/icons/ReportIconPublic.svg\";\nimport parse from 'html-react-parser';\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { saveAs } from \"file-saver\";\nimport \"intro.js/introjs.css\";\nimport { Steps, Hints } from \"intro.js-react\";\nimport {\n setInteractiveDetails,\n getInteractiveNames,\n getAllMasterData,\n getAllDiagnosis,\n getAllProcedures,\n setSelectedFileToDownload,\n getZipFile,\n clearValues,\n errorMessageClose,\n setDiagnosis,\n setSelectionButton,\n setDiagnosisAdditionalCode,\n updateSelectedDiagnosis,\n diagnosisMoveUp,\n diagnosisMoveDown,\n deleteDiagnosis,\n deleteAdditionalDiagnosis,\n setProcedure,\n setProcedureAdditionalCode,\n updateSelectedProcedure,\n procedureMoveUp,\n procedureMoveDown,\n deleteProcedure,\n deleteAdditionalProcedure,\n getDiagnosisSearch,\n getProcedureSearch,\n setSearchStatus,\n setGender,\n setBirthValue,\n setValues,\n dateErrorClose,\n setDateToDefault,\n setPanel,\n clearPatientInformation,\n addToSpell,\n clearSpellInformation,\n clearEpisodesInformation,\n setInteractiveList,\n interactiveProcessResult,\n showPanels,\n setRequestType,\n setReportDialog,\n clearDiseaseInformation,\n clearResultInformation,\n clearAllInformation,\n setInteractiveLoading,\n handleErrorClose,\n setSelectedInteractive,\n GetInteractiveFrontPageContent,\n getCountries,\n GetInteractiveById,\n setEnvironment,\n clearOnContact,\n} from \"./publicInteractiveSlice\";\nimport InteractiveSelectionTree from \"./InteractiveSelectionTree\";\nimport DiagnosisTreeView from \"./DiagnosisTreeView\";\nimport ProcedureTreeView from \"./ProcedureTreeView\";\nimport Spells from \"./Spells\";\nimport Episodes from \"./Episodes\";\nimport Results from \"./Results\";\nimport Report from \"./Report\";\nimport { fabClasses } from \"@mui/material\";\nimport VisualDiagram from \"./VisualDiagram\";\nimport { redirectToLogin } from \"../../authentication/authenticationSlice\";\nimport IQVIALogo from \"../../../assets/logos/logo-iqvia.svg\";\nimport { languageChanged } from \"../../../translations/languageSlice\";\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nexport default function InteractiveTest() {\n const [open, setOpen] = useState(false);\n const [diagnosisSearchValue, setDiagnosisSearchValue] = useState(\"\");\n const [procedureSearchValue, setProcedureSearchValue] = useState(\"\");\n const [incrementDiagnosis, setIncrementDiagnosis] = useState(1);\n const [incrementAdditionalDiagnosis, setIncrementAdditionalDiagnosis] =\n useState(1);\n const [incrementProcedure, setIncrementProcedure] = useState(1);\n const [incrementAdditionalProcedure, setIncrementAdditionalProcedure] =\n useState(1);\n const [incrementInteractiveList, setIncrementInteractiveList] = useState(1);\n const [openDialog, setOpenDialog] = useState(false);\n const [dialogContent, setDialogContent] = useState(\"\");\n const [panelName, setPanelName] = useState(\"\");\n const [showSpells, setShowSpells] = useState(false);\n const [enabled, setEnabled] = useState(false);\n const [initialStep, setInitialStep] = useState(0);\n const [hintEnabled, setHintEnabled] = useState(false);\n const [stepCounter, setStepCounter] = useState(0);\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const publicInteractive = useSelector((state) => state.publicInteractive);\n const {\n selectedInteractiveObj,\n selectedInteractiveName,\n selectedInteractiveYear,\n blobToDownload,\n selectedFileType,\n fileNotExists,\n introInfoPanel,\n patientInfoPanel,\n diseasesPanel,\n episodesPanel,\n spellsPanel,\n resultsPanel,\n isChooseDiagnosis,\n isChooseDiagAdditional,\n diagnosis,\n diagnosisData,\n diagnosisSet,\n procedure,\n procedureData,\n isChooseProcedure,\n isChooseProcAdditional,\n procedureSet,\n diagnosisSearch,\n procedureSearch,\n patientInputs,\n gender,\n disableBirth,\n birthValue,\n enableBirthInfo,\n isMale,\n age,\n ageUnit,\n gestationAge,\n discharge,\n contactType,\n birthType,\n height,\n weight,\n hospitalisationMethod,\n reasonForContact,\n contactDays,\n contactDaysStartDate,\n contactDaysEndDate,\n disableContactReason,\n varighed,\n isYearGreaterThan2021,\n disableContactDays,\n dateError,\n interactiveList,\n updateSuccess,\n contactDaysNoProgress,\n resultError,\n errorMessage,\n reportDialog,\n visualDialog,\n isResultLoading,\n noVisualIDError,\n loadDiagAndProc,\n yearsCollection,\n interactiveCollection,\n interactiveFrontPageContent,\n countries,\n isValidData,\n isInvalidData\n } = publicInteractive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n const [languageVal, setLanguageVal] = useState(\"1\");\n const queryParams = new URLSearchParams(window.location.search);\n const interactiveId = queryParams.get(\"id\");\n useEffect(() => {\n dispatch(setEnvironment(\"Test\"));\n dispatch(getCountries({ method: \"GET\" }));\n let url = \"Public/GetInteractiveById?id=\" + interactiveId;\n dispatch(GetInteractiveById({ method: \"GET\", url: url })).then(() => {\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" })).then(() => { });\n });\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }, []);\n\n const handleDownload = (e) => {\n e.preventDefault();\n //console.log(\"selectedInteractiveName:\", selectedInteractiveName);\n if (selectedInteractiveName != \"\") {\n var eventValue = e.currentTarget.value;\n dispatch(setSelectedFileToDownload(eventValue));\n switch (eventValue) {\n case \"News\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedInteractiveObj.id +\n \"&selectionType=\" +\n \"Interactive\" +\n \"&selectedOption=\" +\n \"InteractiveNews\";\n break;\n case \"Guidance\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedInteractiveObj.id +\n \"&selectionType=\" +\n \"Interactive\" +\n \"&selectedOption=\" +\n \"InteractiveGuide\";\n break;\n }\n dispatch(getZipFile({ url: url, method: \"GET\" }));\n }\n };\n const handleQuickStartGuide = (e) => {\n setEnabled(true);\n };\n const onExit = () => {\n setEnabled(false);\n };\n const steps = [\n {\n element: \"#step1\",\n intro: t(\"interactive.intro1\"),\n position: \"bottom\",\n },\n {\n element: \"#step2\",\n intro: t(\"interactive.intro2\"),\n position: \"bottom\",\n },\n {\n element: \"#step3\",\n intro: t(\"interactive.intro3\"),\n position: \"bottom\",\n },\n {\n element: \"#step4\",\n intro: t(\"interactive.intro4\"),\n position: \"bottom\",\n },\n {\n element: \"#step5\",\n intro: t(\"interactive.intro5\"),\n position: \"bottom\",\n },\n {\n element: \"#step6\",\n intro: t(\"interactive.intro6\"),\n position: \"bottom\",\n },\n ];\n const stepOptions = {\n showBullets: true,\n showButtons: true,\n exitOnOverlayClick: true,\n keyboardNavigation: true,\n nextLabel: t(\"interactive.next\") + \"→\",\n prevLabel: \"←\" + t(\"interactive.back\"),\n skipLabel: t(\"interactive.skip\"),\n doneLabel: t(\"interactive.done\"),\n };\n const infoTip = [\n {\n element: \"#info1\",\n title: t(\"interactive.AboutInteractive\"),\n intro: t(\"interactive.info1\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info2\",\n title: t(\"interactive.AboutPatientInfo\"),\n intro: t(\"interactive.info2\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info3\",\n title: t(\"interactive.AboutDiseasesTreatment\"),\n intro: t(\"interactive.info3\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info4\",\n title: t(\"interactive.AboutEpisodes\"),\n intro: t(\"interactive.info4\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info5\",\n title: t(\"interactive.AboutSpells\"),\n intro: t(\"interactive.info5\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info6\",\n title: t(\"interactive.AboutResults\"),\n intro: t(\"interactive.info6\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n ];\n const handleHintClick = (count) => (e) => {\n setHintEnabled(true);\n setStepCounter(count);\n };\n const handleInfoClose = () => {\n setHintEnabled(false);\n };\n const handleClose = () => {\n setOpen(false);\n };\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedInteractiveObj) {\n dispatch(clearAllInformation());\n dispatch(\n setInteractiveDetails({\n id: selectedInteractiveObj.id,\n name: selectedInteractiveObj.interactiveName,\n year: selectedInteractiveObj.year,\n })\n );\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n setOpen(false);\n };\n\n const handlePanelChange = (panel) => (event, newExpanded) => {\n dispatch(setPanel(panel));\n };\n\n const handleClear = (panel) => (event, newExpanded) => {\n event.preventDefault();\n setPanelName(panel);\n if (panel === \"patientInfoPanel\") {\n setDialogContent(t(\"interactive.patientClear\"));\n } else if (panel === \"diseasesPanel\") {\n setDialogContent(t(\"interactive.diseaseClear\"));\n } else if (panel === \"spellsPanel\") {\n setDialogContent(t(\"interactive.spellClear\"));\n } else if (panel === \"episodesPanel\") {\n setDialogContent(t(\"interactive.episodesClear\"));\n } else if (panel === \"resultsPanel\") {\n setDialogContent(t(\"interactive.resultClear\"));\n } else if (panel === \"clearAll\") {\n setDialogContent(t(\"interactive.clearAllInfo\"));\n }\n setOpenDialog(true);\n };\n\n const handleOk = () => {\n setOpenDialog(false);\n if (panelName === \"patientInfoPanel\") {\n dispatch(clearPatientInformation());\n dispatch(getAllMasterData({ method: \"GET\" }));\n } else if (panelName === \"diseasesPanel\") {\n dispatch(clearDiseaseInformation());\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(getAllDiagnosis({ method: \"GET\" }));\n dispatch(getAllProcedures({ method: \"GET\" }));\n } else if (panelName === \"spellsPanel\") {\n dispatch(clearSpellInformation());\n } else if (panelName === \"episodesPanel\") {\n dispatch(clearEpisodesInformation());\n } else if (panelName === \"resultsPanel\") {\n dispatch(clearResultInformation());\n } else if (panelName === \"clearAll\") {\n dispatch(clearAllInformation());\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n };\n const handleDialogClose = () => {\n setOpenDialog(false);\n };\n\n //Patient Information Section\n const handleGenderChange = (e) => {\n dispatch(setGender(e.target.value));\n };\n\n const handleBirthChange = (e) => {\n dispatch(setBirthValue(e.target.value));\n };\n\n const handleAgeChange = (e) => {\n dispatch(setValues({ name: \"age\", value: e.target.value }));\n };\n\n const handleAgeUnitChange = (e) => {\n dispatch(setValues({ name: \"ageUnit\", value: e.target.value }));\n };\n\n const handleGestationAgeChange = (e) => {\n dispatch(setValues({ name: \"gestationAge\", value: e.target.value }));\n };\n\n const handleDischargeChange = (e) => {\n dispatch(setValues({ name: \"discharge\", value: e.target.value }));\n };\n\n const handleContactTypeChange = (e) => {\n dispatch(setValues({ name: \"contactType\", value: e.target.value }));\n if (e.target.value == \"6\") {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: true }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n dispatch(clearOnContact());\n }\n if (diagnosis.length > 0 && e.target.value != \"6\") {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: false }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n }\n };\n\n const handleBirthTypeChange = (e) => {\n dispatch(setValues({ name: \"birthType\", value: e.target.value }));\n };\n\n const handleHeightChange = (e) => {\n dispatch(setValues({ name: \"height\", value: e.target.value }));\n };\n\n const handleWeightChange = (e) => {\n dispatch(setValues({ name: \"weight\", value: e.target.value }));\n };\n\n const handlePriorityChange = (e) => {\n dispatch(\n setValues({ name: \"hospitalisationMethod\", value: e.target.value })\n );\n };\n\n const handleContactReasonChange = (e) => {\n dispatch(setValues({ name: \"reasonForContact\", value: e.target.value }));\n };\n\n const handleContactDaysChange = (e) => {\n dispatch(setValues({ name: \"contactDays\", value: e.target.value }));\n };\n\n const handleContactStartDateChange = (val) => {\n dispatch(setValues({ name: \"contactDaysStartDate\", value: val }));\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n };\n\n const handleContactEndDateChange = (val) => {\n dispatch(setValues({ name: \"contactDaysEndDate\", value: val }));\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n };\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n function calculateDate() {\n var date1 = contactDaysStartDate;\n var date2 = contactDaysEndDate;\n if (date1 != null && date2 != null) {\n var oneDay = 24 * 60 * 60 * 1000;\n var duration = Math.round(\n Math.abs((date1.getTime() - date2.getTime()) / oneDay)\n );\n if (date1 > date2) {\n dispatch(setDateToDefault());\n } else {\n var contactDays = duration + 1;\n dispatch(setValues({ name: \"contactDays\", value: String(contactDays) }));\n }\n }\n }\n const handleDurationChange = (e) => {\n dispatch(setValues({ name: \"varighed\", value: e.target.value }));\n };\n\n function displayGestation() {\n if (patientInputs.length > 0 && isMale) {\n return Object.values(patientInputs[0].maleGestation).map((a) => {\n return {a.name[language]};\n });\n } else if (patientInputs.length > 0) {\n return Object.values(patientInputs[0].femaleGestation).map((a) => {\n return {a.name[language]};\n });\n } else {\n return null;\n }\n }\n\n //Diagnosis\n const selectDiagnosis = (e) => {\n setIncrementDiagnosis(incrementDiagnosis + 1);\n var tempData = [];\n if (diagnosis.length <= 0) {\n dispatch(\n setDiagnosis({\n uniqueID: incrementDiagnosis,\n type: \"A\",\n code: diagnosisData.code,\n Id: diagnosisData.id,\n name: diagnosisData.name,\n selected: true,\n })\n );\n } else {\n dispatch(\n setDiagnosis({\n uniqueID: incrementDiagnosis,\n type: \"B\",\n code: diagnosisData.code,\n Id: diagnosisData.id,\n name: diagnosisData.name,\n selected: false,\n })\n );\n }\n };\n\n if (diagnosisSet) {\n checkAdditionalDiagButton();\n }\n function checkAdditionalDiagButton() {\n if ((diagnosis.length > 0) && contactType != \"6\" && isChooseDiagnosis == false) {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n } else {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n }\n }\n\n const selectDiagnosisAdditionalCode = (e) => {\n setIncrementAdditionalDiagnosis(incrementAdditionalDiagnosis + 1);\n var index = diagnosis.findIndex((item) => item.selected === true);\n dispatch(\n setDiagnosisAdditionalCode({\n index: index,\n uniqueID: incrementAdditionalDiagnosis,\n type: \"T\",\n code: diagnosisData.code,\n Id: diagnosisData.Id,\n name: diagnosisData.name,\n })\n );\n };\n\n const handleDiagnosisSelect = (item) => () => {\n var index = diagnosis.findIndex((a) => a.Id === item.Id);\n dispatch(updateSelectedDiagnosis({ index: index, value: true }));\n };\n const handleDiagnosisMoveUp = (index) => () => {\n dispatch(diagnosisMoveUp(index));\n };\n const handleDiagnosisMoveDown = (index) => () => {\n dispatch(diagnosisMoveDown(index));\n };\n const handleDeleteDiagnosis = (val) => () => {\n var index = diagnosis.findIndex((item) => item.uniqueID === val);\n dispatch(deleteDiagnosis({ index: index }));\n };\n\n const handleDeleteAdditionalDiagnosis = (diagID, codeID) => () => {\n var diagIndex = diagnosis.findIndex((item) => item.uniqueID === diagID);\n var addDiagIndex = diagnosis[diagIndex].additionalCode.findIndex(\n (a) => a.uniqueID === codeID\n );\n dispatch(\n deleteAdditionalDiagnosis({\n diagIndex: diagIndex,\n addDiagIndex: addDiagIndex,\n })\n );\n };\n\n const handleDiagnosisSearch = (event) => {\n setDiagnosisSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getDiagnosisSearch({\n method: \"GET\",\n search: event.target.value ?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setSearchStatus({ name: \"diagnosis\", value: true }));\n });\n }\n else if (event.target.value == \"\") {\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n }\n };\n const closeDiagnosisSearch = () => {\n setDiagnosisSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n };\n\n //Procedure\n const selectProcedure = (e) => {\n setIncrementProcedure(incrementProcedure + 1);\n dispatch(\n setProcedure({\n uniqueID: incrementProcedure,\n type: \"P\",\n code: procedureData.code,\n Id: procedureData.id,\n name: procedureData.name,\n selected: procedure.length <= 0 ? true : false,\n })\n );\n };\n\n if (procedureSet) {\n checkAdditionalProcButton();\n }\n function checkAdditionalProcButton() {\n if (procedure.length > 0) {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: false }));\n } else {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: true }));\n }\n }\n\n const selectProcedureAdditionalCode = (e) => {\n setIncrementAdditionalProcedure(incrementAdditionalProcedure + 1);\n var index = procedure.findIndex((item) => item.selected === true);\n dispatch(\n setProcedureAdditionalCode({\n index: index,\n uniqueID: incrementAdditionalProcedure,\n type: \"T\",\n code: procedureData.code,\n Id: procedureData.Id,\n name: procedureData.name,\n })\n );\n };\n\n const handleProcedureSelect = (item) => () => {\n var index = procedure.findIndex((a) => a.Id === item.Id);\n dispatch(updateSelectedProcedure({ index: index, value: true }));\n };\n\n const handleProcedureMoveUp = (index) => () => {\n dispatch(procedureMoveUp(index));\n };\n const handleProcedureMoveDown = (index) => () => {\n dispatch(procedureMoveDown(index));\n };\n const handleDeleteProcedure = (val) => () => {\n var index = procedure.findIndex((item) => item.uniqueID === val);\n dispatch(deleteProcedure({ index: index }));\n };\n\n const handleDeleteAdditionalProcedure = (procID, codeID) => () => {\n var procIndex = procedure.findIndex((item) => item.uniqueID === procID);\n var addProcIndex = procedure[procIndex].additionalCode.findIndex(\n (a) => a.uniqueID === codeID\n );\n dispatch(\n deleteAdditionalProcedure({\n procIndex: procIndex,\n addProcIndex: addProcIndex,\n })\n );\n };\n\n const handleProcedureSearch = (event) => {\n setProcedureSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getProcedureSearch({\n method: \"GET\",\n search: event.target.value ?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setSearchStatus({ name: \"procedure\", value: true }));\n });\n }\n else if (event.target.value == \"\") {\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n }\n };\n const closeProcedureSearch = () => {\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n };\n\n const handleAddToSpell = (e) => {\n if (diagnosis.length > 0 || (procedure.length > 0 && contactType == '6')) {\n setShowSpells(true);\n\n getPatientInputs(e.target.value);\n } else {\n setShowSpells(false);\n }\n };\n\n const handleRunQuery = (e) => {\n if (diagnosis.length > 0 || (procedure.length > 0 && contactType == '6')) {\n //setShowEpisodes(true);\n dispatch(setInteractiveLoading(true));\n getPatientInputs(e.target.value);\n } else {\n //setShowEpisodes(false);\n }\n };\n\n //Used to generate the interactive array from selected values\n function getPatientInputs(handler) {\n setIncrementInteractiveList(incrementInteractiveList + 1);\n var id = incrementInteractiveList;\n var genderText = patientInputs[0].gender.filter((a) => a.value == gender)[0]\n ?.name;\n var ageTypeText = patientInputs[0].unit.filter((a) => a.value == ageUnit)[0]\n ?.name;\n var contactTypeText = patientInputs[0].contactType.filter(\n (a) => a.value == contactType\n )[0].name;\n var hospWayText = patientInputs[0].hospitalisationMethod.filter(\n (a) => a.value == hospitalisationMethod\n )[0].name;\n var dischargeText = patientInputs[0].releaseMethod.filter(\n (a) => a.value == discharge\n )[0].name;\n var birthTypeText = patientInputs[0].birthType.filter(\n (a) => a.value == birthType\n )[0].name;\n var reasonForContactText = patientInputs[0].reasonForContact.filter(\n (a) => a.value == reasonForContact\n )[0].name;\n if (isMale) {\n var gestationText = patientInputs[0].maleGestation.filter(\n (a) => a.value == gestationAge\n )[0].name;\n } else {\n var gestationText = patientInputs[0].femaleGestation.filter(\n (a) => a.value == gestationAge\n )[0].name;\n }\n if (isYearGreaterThan2021)\n var varighedDescription = patientInputs[0].varighed.filter(\n (a) => a.value == varighed\n )[0].name;\n var intData = [];\n intData.push({\n id: incrementInteractiveList,\n age: age,\n ageTypeValue: ageUnit,\n ageTypeText: ageTypeText,\n contactTypeValue: contactType,\n contactTypeText: contactTypeText,\n genderValue: gender,\n genderText: genderText,\n isMale: isMale,\n isBirth: birthValue === \"Yes\" ? 1 : 0,\n birthTypeText: birthTypeText,\n birthTypeValue: birthType,\n height: height,\n weight: weight,\n hospWayText: hospWayText,\n hospWayValue: hospitalisationMethod,\n reasonForContactText: reasonForContactText,\n reasonForContactValue: reasonForContact,\n dischargeText: dischargeText,\n dischargeValue: discharge,\n maleGestationAgeValue: gestationAge,\n femaleGestationAgeValue: gestationAge,\n gestationText: gestationText,\n varighed: varighed,\n varighedDescription: varighedDescription,\n contactDays: parseInt(contactDays),\n contactDaysStartDate: contactDaysStartDate,\n contactDaysEndDate: contactDaysEndDate,\n diagnosis: diagnosis,\n procedure: procedure,\n expandCollapseValue: \"Collapse\",\n registrations: [],\n progress: [],\n results: [],\n });\n\n if (handler === \"AddToSpell\") {\n dispatch(addToSpell({ data: intData, handler: handler }));\n } else if (handler === \"RunQuery\") {\n dispatch(addToSpell({ data: intData, handler: handler }));\n var requestList = createRequestList(intData[0]);\n postInteractiveRequest(requestList, \"contact\", intData, handler);\n }\n }\n /* if (updateSuccess && showEpisodes) {\n createRequestList();\n } */\n function createRequestList(obj) {\n var reqData = [];\n\n let gestationAge = isMale\n ? {\n Code: obj.maleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n }\n : {\n Code: obj.femaleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n };\n let reasonForContact =\n obj.hospWayValue === \"1\"\n ? generateListItems(obj, \"ReasonForContact\")\n : null;\n let contactType = generateListItems(obj, \"ContactType\");\n var liggeDage = \"\";\n if (isYearGreaterThan2021) {\n if (obj.varighed == \"0\") {\n liggeDage = \"\";\n } else if (obj.varighed == \"1\") {\n liggeDage = \"1\";\n } else {\n liggeDage = \"12\";\n }\n }\n var diagnosis = [];\n obj.diagnosis.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n diagnosis.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n var procedure = [];\n obj.procedure.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n procedure.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n if (isYearGreaterThan2021) {\n reqData.push({\n RId: 1,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n LiggidageBedInDays: liggeDage,\n Varighed: {\n Code: obj.varighed,\n Description: obj.varighedDescription[language],\n Significance: \"\",\n },\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language] : null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n } else {\n reqData.push({\n RId: 1,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language] : null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n }\n return reqData;\n }\n\n function generateListItems(obj, col) {\n let retObj = {};\n if (col == \"ContactType\") {\n if (isYearGreaterThan2021) {\n if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"2\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"5\") {\n retObj.Code = \"1\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n } else {\n if (obj.contactTypeValue == \"3\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n }\n } else if (col == \"ReasonForContact\") {\n if (obj.reasonForContactValue == \"0\") {\n retObj.Code = \" \";\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.reasonForContactValue;\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n }\n }\n return retObj;\n }\n\n function postInteractiveRequest(requestList, type, data, handler) {\n var viewModel = {};\n let overWriteBedDays, overWriteVarighed;\n dispatch(setRequestType(type));\n if (type == \"episode\") {\n overWriteBedDays = contactDaysNoProgress;\n if (isYearGreaterThan2021) {\n //varighed\n overWriteVarighed = requestList.Varighed;\n }\n } else {\n overWriteBedDays = null;\n overWriteVarighed = null;\n }\n\n viewModel = {\n Name: selectedInteractiveObj.interactiveName,\n Version: selectedInteractiveObj.interactiveVersion,\n Year: selectedInteractiveObj.year,\n OverWriteBedDays: overWriteBedDays,\n OverWriteVarighed: overWriteVarighed,\n interactive: requestList,\n };\n\n dispatch(\n interactiveProcessResult({ method: \"POST\", body: viewModel })\n ).then(() => {\n //console.log(\"Res Run Query\");\n });\n }\n const handleReport = (e) => {\n if (resultsPanel) {\n dispatch(setReportDialog(true));\n }\n };\n\n if (blobToDownload && selectedFileType) {\n switch (selectedFileType) {\n case \"News\":\n saveAs(blobToDownload, \"Interactive News.pdf\");\n break;\n case \"Guidance\":\n saveAs(blobToDownload, \"Interactive Guidance.pdf\");\n break;\n }\n dispatch(clearValues());\n }\n\n if (patientInputs.length > 0) {\n //console.log(Object.values(patientInputs[0].contactType)[0].value);\n }\n\n // if (!interactive.isSessionValid) {\n // dispatch(redirectToLogin({ isAuthorised: false }));\n // }\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n // localStorage.setItem(\"language\", language.name);\n dispatch(languageChanged({ language: language.name }));\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n }\n }\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n if (value) {\n const result = interactiveCollection.filter((item) => {\n return item.year == value;\n })[0];\n dispatch(setSelectedInteractive(result));\n dispatch(\n setInteractiveDetails({\n id: result.id,\n name: result.interactiveName,\n year: result.year,\n })\n );\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n };\n return (\n
    \n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n {t(\"interactive.Interactive\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.news\")} (PDF)\n \n \n \n {t(\"interactive.guidance\")} (PDF)\n \n \n \n {t(\"interactive.quickStartGuide\")}\n \n \n \n {t(\"interactive.clearAll\")}\n \n
    \n
    \n \n
    \n \n
    \n \n {t(\"Manager.Year\")}: {selectedInteractiveYear}\n \n \n {t(\"Manager_Common.Name\")}: {selectedInteractiveName}\n \n {/* \n {selectedInteractiveName == \"\"\n ? \"Select the interactive file\"\n : selectedInteractiveName + \" - \" + selectedInteractiveYear}\n */}\n {/* {\n setOpen(true);\n }}\n >\n {t(\"Global.open_file\")}\n */}\n
    \n \n \n {interactiveFrontPageContent != \"\" &&\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"Global.introduction\")}\n \n
    \n \n \n
    \n {parse(interactiveFrontPageContent)}\n
    \n
    \n
    \n }\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.patientInformation\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n
    \n 0 && gender == \"\"\n ? Object.values(patientInputs[0].gender)[0].value\n : gender\n }\n onChange={handleGenderChange}\n sx={{ width: \"10%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].gender).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n \n {t(\"Global.yes\")}\n {t(\"Global.no\")}\n \n \n 0 && ageUnit == \"\"\n ? Object.values(patientInputs[0].unit)[0].value\n : ageUnit\n }\n onChange={handleAgeUnitChange}\n sx={{ width: \"9%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].unit).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n \n {patientInputs.length > 0 ? displayGestation() : null}\n \n 0 && discharge == \"\"\n ? Object.values(patientInputs[0].releaseMethod)[0]\n .value\n : discharge\n }\n onChange={handleDischargeChange}\n sx={{ width: \"20%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].releaseMethod).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n 0 && contactType == \"\"\n ? Object.values(patientInputs[0].contactType)[0].value\n : contactType\n }\n onChange={handleContactTypeChange}\n sx={{ width: \"20%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].contactType).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n
    \n {enableBirthInfo ? (\n
    \n \n {t(\"interactive.motherInformation\")}\n \n
    \n 0 && birthType == \"\"\n ? Object.values(patientInputs[0].birthType)[0]\n .value\n : birthType\n }\n onChange={handleBirthTypeChange}\n sx={{ width: \"50%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].birthType).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n cm\n ),\n }}\n onChange={handleHeightChange}\n sx={{ width: \"20%\" }}\n />\n kg\n ),\n }}\n onChange={handleWeightChange}\n sx={{ width: \"20%\" }}\n />\n
    \n
    \n ) : null}\n\n
    \n 0 && hospitalisationMethod == \"\"\n ? Object.values(\n patientInputs[0].hospitalisationMethod\n )[1].value\n : hospitalisationMethod\n }\n onChange={handlePriorityChange}\n sx={\n isYearGreaterThan2021\n ? { width: \"15%\" }\n : { width: \"20%\" }\n }\n helperText={t(\"interactive.priority_helper\")}\n >\n {patientInputs.length > 0\n ? Object.values(\n patientInputs[0].hospitalisationMethod\n ).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n 0 && reasonForContact == \"\"\n ? Object.values(patientInputs[0].reasonForContact)[0]\n .value\n : reasonForContact\n }\n onChange={handleContactReasonChange}\n sx={\n isYearGreaterThan2021\n ? { width: \"15%\" }\n : { width: \"20%\" }\n }\n disabled={disableContactReason}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].reasonForContact).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n {isYearGreaterThan2021 ? (\n 0 && varighed == \"\"\n ? Object.values(patientInputs[0].varighed)[0].value\n : varighed\n }\n onChange={handleDurationChange}\n sx={{ width: \"15%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].varighed).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n ) : null}\n \n
    \n \n \n handleContactStartDateChange(newValue)\n }\n disabled={isYearGreaterThan2021 && disableContactDays}\n className=\"interactive-date-picker\"\n sx={{ width: \"20%\" }}\n renderInput={(params) => }\n />\n \n \n \n handleContactEndDateChange(newValue)\n }\n sx={{ width: \"20%\" }}\n disabled={isYearGreaterThan2021 && disableContactDays}\n renderInput={(params) => }\n />\n \n
    \n
    \n
    \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.diseasesTreatments\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n
    \n \n \n
    \n \n {t(\"interactive.diagnosis\")}\n \n
    \n \n \n {t(\"interactive.diagnosis\")}\n \n \n \n {t(\"interactive.additionalCode\")}\n \n
    \n
    \n \n ),\n endAdornment: (\n \n ),\n }}\n />\n {loadDiagAndProc ? (\n \n ) : null}\n
    \n \n \n {t(\"interactive.selectedDiagnosis\")}\n \n
    \n {diagnosis ?.map((item, index) => {\n return (\n
    \n \n \n \n {item.type}  \n {item.name}\n \n \n
    \n {diagnosis.length > 1 && (\n
    \n {index === 0 ? (\n \n ) : (\n \n )}\n
    \n )}\n \n
    \n \n {item.additionalCode.map((b) => {\n return (\n \n \n {b.type}  \n {b.name}\n \n \n \n );\n })}\n
    \n );\n })}\n
    \n \n
    \n \n \n
    \n \n {t(\"interactive.procedure_and\")}\n \n
    \n \n \n {t(\"interactive.procedure\")}\n \n \n \n {t(\"interactive.additionalCode\")}\n \n
    \n
    \n \n ),\n endAdornment: (\n \n ),\n }}\n />\n {loadDiagAndProc ? (\n \n ) : null}\n
    \n \n \n {t(\"interactive.selectedProcedure\")}\n \n
    \n {procedure ?.map((item, index) => {\n return (\n
    \n \n \n \n {item.type}  \n {item.name}\n \n \n
    \n {procedure.length > 1 && (\n
    \n {index === 0 ? (\n \n ) : (\n \n )}\n
    \n )}\n \n
    \n \n {item.additionalCode.map((b) => {\n return (\n \n \n {b.type}  \n {b.name}\n \n \n \n );\n })}\n
    \n );\n })}\n
    \n \n
    \n
    \n
    \n
    \n 0 ||\n (procedure.length > 0 && contactType == '6')\n ? false : true}\n >\n {t(\"interactive.addToSpell\")}\n \n \n 0 ||\n (procedure.length > 0 && contactType == '6')\n ? false : true}\n >\n {t(\"interactive.runQuery\")}\n \n \n
    \n
    \n
    \n
    \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.episodes\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {episodesPanel ? : null}\n \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.spells\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {spellsPanel ? : null}\n \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.results\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.reportView\")}\n \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {resultsPanel ? : null}\n \n
    \n
    \n
    \n
    \n \n \n {t(\"interactive.Open_Interactive_File\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n
    \n dispatch(errorMessageClose())}\n >\n dispatch(errorMessageClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"viewer.fileNotExists\")}\n \n \n dispatch(dateErrorClose())}\n >\n dispatch(dateErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(\"interactive.dateError\")}\n \n \n dispatch(dateErrorClose())}\n >\n dispatch(dateErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(errorMessage)}\n \n \n \n {\"Clear all\"}\n \n \n {dialogContent}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n dispatch(handleErrorClose())}\n >\n dispatch(handleErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {!noVisualIDError && t(errorMessage)}\n {noVisualIDError && t(\"interactive.noVisualError\")}\n \n \n
    \n )}\n {isInvalidData && (\n
    The link you accessed has no data or expired
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isResultLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Interactive.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport HelpOutlineIcon from \"@mui/icons-material/HelpOutline\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { styled } from \"@mui/material/styles\";\nimport ArrowForwardIosSharpIcon from \"@mui/icons-material/ArrowForwardIosSharp\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport InfoIcon from \"@mui/icons-material/Info\";\nimport EraseIcon from \"../../../assets/icons/EraseIconPublic.svg\";\nimport TextField from \"@mui/material/TextField\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport AddCircleIcon from \"@mui/icons-material/AddCircle\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport ReportIcon from \"../../../assets/icons/ReportIconPublic.svg\";\nimport parse from \"html-react-parser\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { saveAs } from \"file-saver\";\nimport \"intro.js/introjs.css\";\nimport { Steps, Hints } from \"intro.js-react\";\nimport {\n setInteractiveDetails,\n getInteractiveNames,\n getAllMasterData,\n getAllDiagnosis,\n getAllProcedures,\n setSelectedFileToDownload,\n getZipFile,\n clearValues,\n errorMessageClose,\n setDiagnosis,\n setSelectionButton,\n setDiagnosisAdditionalCode,\n updateSelectedDiagnosis,\n diagnosisMoveUp,\n diagnosisMoveDown,\n deleteDiagnosis,\n deleteAdditionalDiagnosis,\n setProcedure,\n setProcedureAdditionalCode,\n updateSelectedProcedure,\n procedureMoveUp,\n procedureMoveDown,\n deleteProcedure,\n deleteAdditionalProcedure,\n getDiagnosisSearch,\n getProcedureSearch,\n setSearchStatus,\n setGender,\n setBirthValue,\n setValues,\n dateErrorClose,\n setDateToDefault,\n setPanel,\n clearPatientInformation,\n addToSpell,\n clearSpellInformation,\n clearEpisodesInformation,\n setInteractiveList,\n interactiveProcessResult,\n showPanels,\n setRequestType,\n setReportDialog,\n clearDiseaseInformation,\n clearResultInformation,\n clearAllInformation,\n setInteractiveLoading,\n handleErrorClose,\n setSelectedInteractive,\n GetInteractiveFrontPageContent,\n getCountries,\n GetInteractiveById,\n setEnvironment,\n clearOnContact,\n} from \"./publicInteractiveSlice\";\nimport InteractiveSelectionTree from \"./InteractiveSelectionTree\";\nimport DiagnosisTreeView from \"./DiagnosisTreeView\";\nimport ProcedureTreeView from \"./ProcedureTreeView\";\nimport Spells from \"./Spells\";\nimport Episodes from \"./Episodes\";\nimport Results from \"./Results\";\nimport Report from \"./Report\";\nimport { fabClasses } from \"@mui/material\";\nimport VisualDiagram from \"./VisualDiagram\";\nimport { redirectToLogin } from \"../../authentication/authenticationSlice\";\nimport Logo from \"../../../assets/logos/drg-logo.png\";\nimport { languageChanged } from \"../../../translations/languageSlice\";\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nexport default function InteractiveHearing() {\n const [open, setOpen] = useState(false);\n const [diagnosisSearchValue, setDiagnosisSearchValue] = useState(\"\");\n const [procedureSearchValue, setProcedureSearchValue] = useState(\"\");\n const [incrementDiagnosis, setIncrementDiagnosis] = useState(1);\n const [incrementAdditionalDiagnosis, setIncrementAdditionalDiagnosis] =\n useState(1);\n const [incrementProcedure, setIncrementProcedure] = useState(1);\n const [incrementAdditionalProcedure, setIncrementAdditionalProcedure] =\n useState(1);\n const [incrementInteractiveList, setIncrementInteractiveList] = useState(1);\n const [openDialog, setOpenDialog] = useState(false);\n const [dialogContent, setDialogContent] = useState(\"\");\n const [panelName, setPanelName] = useState(\"\");\n const [showSpells, setShowSpells] = useState(false);\n const [enabled, setEnabled] = useState(false);\n const [initialStep, setInitialStep] = useState(0);\n const [hintEnabled, setHintEnabled] = useState(false);\n const [stepCounter, setStepCounter] = useState(0);\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const publicInteractive = useSelector((state) => state.publicInteractive);\n const {\n selectedInteractiveObj,\n selectedInteractiveName,\n selectedInteractiveYear,\n blobToDownload,\n selectedFileType,\n fileNotExists,\n introInfoPanel,\n patientInfoPanel,\n diseasesPanel,\n episodesPanel,\n spellsPanel,\n resultsPanel,\n isChooseDiagnosis,\n isChooseDiagAdditional,\n diagnosis,\n diagnosisData,\n diagnosisSet,\n procedure,\n procedureData,\n isChooseProcedure,\n isChooseProcAdditional,\n procedureSet,\n diagnosisSearch,\n procedureSearch,\n patientInputs,\n gender,\n disableBirth,\n birthValue,\n enableBirthInfo,\n isMale,\n age,\n ageUnit,\n gestationAge,\n discharge,\n contactType,\n birthType,\n height,\n weight,\n hospitalisationMethod,\n reasonForContact,\n contactDays,\n contactDaysStartDate,\n contactDaysEndDate,\n disableContactReason,\n varighed,\n isYearGreaterThan2021,\n disableContactDays,\n dateError,\n interactiveList,\n updateSuccess,\n contactDaysNoProgress,\n resultError,\n errorMessage,\n reportDialog,\n visualDialog,\n isResultLoading,\n noVisualIDError,\n loadDiagAndProc,\n yearsCollection,\n interactiveCollection,\n interactiveFrontPageContent,\n countries,\n isValidData,\n isInvalidData,\n } = publicInteractive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n const [languageVal, setLanguageVal] = useState(\"2\");\n const queryParams = new URLSearchParams(window.location.search);\n const interactiveId = queryParams.get(\"id\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Hearing\"));\n dispatch(getCountries({ method: \"GET\" }));\n let url = \"Public/GetActiveInteractiveDetails?isLogin=false&isHearing=true\";\n dispatch(getInteractiveNames({ method: \"GET\", url: url })).then(() => {\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" })).then(() => {});\n });\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }, []);\n\n const handleDownload = (e) => {\n e.preventDefault();\n //console.log(\"selectedInteractiveName:\", selectedInteractiveName);\n if (selectedInteractiveName != \"\") {\n var eventValue = e.currentTarget.value;\n dispatch(setSelectedFileToDownload(eventValue));\n switch (eventValue) {\n case \"News\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedInteractiveObj.id +\n \"&selectionType=\" +\n \"Interactive\" +\n \"&selectedOption=\" +\n \"InteractiveNews\";\n break;\n case \"Guidance\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedInteractiveObj.id +\n \"&selectionType=\" +\n \"Interactive\" +\n \"&selectedOption=\" +\n \"InteractiveGuide\";\n break;\n }\n dispatch(getZipFile({ url: url, method: \"GET\" }));\n }\n };\n const handleQuickStartGuide = (e) => {\n setEnabled(true);\n };\n const onExit = () => {\n setEnabled(false);\n };\n const steps = [\n {\n element: \"#step1\",\n intro: t(\"interactive.intro1\"),\n position: \"bottom\",\n },\n {\n element: \"#step2\",\n intro: t(\"interactive.intro2\"),\n position: \"bottom\",\n },\n {\n element: \"#step3\",\n intro: t(\"interactive.intro3\"),\n position: \"bottom\",\n },\n {\n element: \"#step4\",\n intro: t(\"interactive.intro4\"),\n position: \"bottom\",\n },\n {\n element: \"#step5\",\n intro: t(\"interactive.intro5\"),\n position: \"bottom\",\n },\n {\n element: \"#step6\",\n intro: t(\"interactive.intro6\"),\n position: \"bottom\",\n },\n ];\n const stepOptions = {\n showBullets: true,\n showButtons: true,\n exitOnOverlayClick: true,\n keyboardNavigation: true,\n nextLabel: t(\"interactive.next\") + \"→\",\n prevLabel: \"←\" + t(\"interactive.back\"),\n skipLabel: t(\"interactive.skip\"),\n doneLabel: t(\"interactive.done\"),\n };\n const infoTip = [\n {\n element: \"#info1\",\n title: t(\"interactive.AboutInteractive\"),\n intro: t(\"interactive.info1\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info2\",\n title: t(\"interactive.AboutPatientInfo\"),\n intro: t(\"interactive.info2\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info3\",\n title: t(\"interactive.AboutDiseasesTreatment\"),\n intro: t(\"interactive.info3\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info4\",\n title: t(\"interactive.AboutEpisodes\"),\n intro: t(\"interactive.info4\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info5\",\n title: t(\"interactive.AboutSpells\"),\n intro: t(\"interactive.info5\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info6\",\n title: t(\"interactive.AboutResults\"),\n intro: t(\"interactive.info6\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n ];\n const handleHintClick = (count) => (e) => {\n setHintEnabled(true);\n setStepCounter(count);\n };\n const handleInfoClose = () => {\n setHintEnabled(false);\n };\n const handleClose = () => {\n setOpen(false);\n };\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedInteractiveObj) {\n dispatch(clearAllInformation());\n dispatch(\n setInteractiveDetails({\n id: selectedInteractiveObj.id,\n name: selectedInteractiveObj.interactiveName,\n year: selectedInteractiveObj.year,\n })\n );\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n setOpen(false);\n };\n\n const handlePanelChange = (panel) => (event, newExpanded) => {\n dispatch(setPanel(panel));\n };\n\n const handleClear = (panel) => (event, newExpanded) => {\n event.preventDefault();\n setPanelName(panel);\n if (panel === \"patientInfoPanel\") {\n setDialogContent(t(\"interactive.patientClear\"));\n } else if (panel === \"diseasesPanel\") {\n setDialogContent(t(\"interactive.diseaseClear\"));\n } else if (panel === \"spellsPanel\") {\n setDialogContent(t(\"interactive.spellClear\"));\n } else if (panel === \"episodesPanel\") {\n setDialogContent(t(\"interactive.episodesClear\"));\n } else if (panel === \"resultsPanel\") {\n setDialogContent(t(\"interactive.resultClear\"));\n } else if (panel === \"clearAll\") {\n setDialogContent(t(\"interactive.clearAllInfo\"));\n }\n setOpenDialog(true);\n };\n\n const handleOk = () => {\n setOpenDialog(false);\n if (panelName === \"patientInfoPanel\") {\n dispatch(clearPatientInformation());\n dispatch(getAllMasterData({ method: \"GET\" }));\n } else if (panelName === \"diseasesPanel\") {\n dispatch(clearDiseaseInformation());\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(getAllDiagnosis({ method: \"GET\" }));\n dispatch(getAllProcedures({ method: \"GET\" }));\n } else if (panelName === \"spellsPanel\") {\n dispatch(clearSpellInformation());\n } else if (panelName === \"episodesPanel\") {\n dispatch(clearEpisodesInformation());\n } else if (panelName === \"resultsPanel\") {\n dispatch(clearResultInformation());\n } else if (panelName === \"clearAll\") {\n dispatch(clearAllInformation());\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n };\n const handleDialogClose = () => {\n setOpenDialog(false);\n };\n\n //Patient Information Section\n const handleGenderChange = (e) => {\n dispatch(setGender(e.target.value));\n };\n\n const handleBirthChange = (e) => {\n dispatch(setBirthValue(e.target.value));\n };\n\n const handleAgeChange = (e) => {\n dispatch(setValues({ name: \"age\", value: e.target.value }));\n };\n\n const handleAgeUnitChange = (e) => {\n dispatch(setValues({ name: \"ageUnit\", value: e.target.value }));\n };\n\n const handleGestationAgeChange = (e) => {\n dispatch(setValues({ name: \"gestationAge\", value: e.target.value }));\n };\n\n const handleDischargeChange = (e) => {\n dispatch(setValues({ name: \"discharge\", value: e.target.value }));\n };\n\n const handleContactTypeChange = (e) => {\n dispatch(setValues({ name: \"contactType\", value: e.target.value }));\n if (e.target.value == \"6\") {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: true }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n dispatch(clearOnContact());\n }\n if (diagnosis.length > 0 && e.target.value != \"6\") {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: false }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n }\n };\n\n const handleBirthTypeChange = (e) => {\n dispatch(setValues({ name: \"birthType\", value: e.target.value }));\n };\n\n const handleHeightChange = (e) => {\n dispatch(setValues({ name: \"height\", value: e.target.value }));\n };\n\n const handleWeightChange = (e) => {\n dispatch(setValues({ name: \"weight\", value: e.target.value }));\n };\n\n const handlePriorityChange = (e) => {\n dispatch(\n setValues({ name: \"hospitalisationMethod\", value: e.target.value })\n );\n };\n\n const handleContactReasonChange = (e) => {\n dispatch(setValues({ name: \"reasonForContact\", value: e.target.value }));\n };\n\n const handleContactDaysChange = (e) => {\n dispatch(setValues({ name: \"contactDays\", value: e.target.value }));\n };\n\n const handleContactStartDateChange = (val) => {\n dispatch(setValues({ name: \"contactDaysStartDate\", value: val }));\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n };\n\n const handleContactEndDateChange = (val) => {\n dispatch(setValues({ name: \"contactDaysEndDate\", value: val }));\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n };\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n function calculateDate() {\n var date1 = contactDaysStartDate;\n var date2 = contactDaysEndDate;\n if (date1 != null && date2 != null) {\n var oneDay = 24 * 60 * 60 * 1000;\n var duration = Math.round(\n Math.abs((date1.getTime() - date2.getTime()) / oneDay)\n );\n if (date1 > date2) {\n dispatch(setDateToDefault());\n } else {\n var contactDays = duration + 1;\n dispatch(\n setValues({ name: \"contactDays\", value: String(contactDays) })\n );\n }\n }\n }\n const handleDurationChange = (e) => {\n dispatch(setValues({ name: \"varighed\", value: e.target.value }));\n };\n\n function displayGestation() {\n if (patientInputs.length > 0 && isMale) {\n return Object.values(patientInputs[0].maleGestation).map((a) => {\n return {a.name[language]};\n });\n } else if (patientInputs.length > 0) {\n return Object.values(patientInputs[0].femaleGestation).map((a) => {\n return {a.name[language]};\n });\n } else {\n return null;\n }\n }\n\n //Diagnosis\n const selectDiagnosis = (e) => {\n setIncrementDiagnosis(incrementDiagnosis + 1);\n var tempData = [];\n if (diagnosis.length <= 0) {\n dispatch(\n setDiagnosis({\n uniqueID: incrementDiagnosis,\n type: \"A\",\n code: diagnosisData.code,\n Id: diagnosisData.id,\n name: diagnosisData.name,\n selected: true,\n })\n );\n } else {\n dispatch(\n setDiagnosis({\n uniqueID: incrementDiagnosis,\n type: \"B\",\n code: diagnosisData.code,\n Id: diagnosisData.id,\n name: diagnosisData.name,\n selected: false,\n })\n );\n }\n };\n\n if (diagnosisSet) {\n checkAdditionalDiagButton();\n }\n function checkAdditionalDiagButton() {\n if (\n diagnosis.length > 0 &&\n contactType != \"6\" &&\n isChooseDiagnosis == false\n ) {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n } else {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n }\n }\n\n const selectDiagnosisAdditionalCode = (e) => {\n setIncrementAdditionalDiagnosis(incrementAdditionalDiagnosis + 1);\n var index = diagnosis.findIndex((item) => item.selected === true);\n dispatch(\n setDiagnosisAdditionalCode({\n index: index,\n uniqueID: incrementAdditionalDiagnosis,\n type: \"T\",\n code: diagnosisData.code,\n Id: diagnosisData.Id,\n name: diagnosisData.name,\n })\n );\n };\n\n const handleDiagnosisSelect = (item) => () => {\n var index = diagnosis.findIndex((a) => a.Id === item.Id);\n dispatch(updateSelectedDiagnosis({ index: index, value: true }));\n };\n const handleDiagnosisMoveUp = (index) => () => {\n dispatch(diagnosisMoveUp(index));\n };\n const handleDiagnosisMoveDown = (index) => () => {\n dispatch(diagnosisMoveDown(index));\n };\n const handleDeleteDiagnosis = (val) => () => {\n var index = diagnosis.findIndex((item) => item.uniqueID === val);\n dispatch(deleteDiagnosis({ index: index }));\n };\n\n const handleDeleteAdditionalDiagnosis = (diagID, codeID) => () => {\n var diagIndex = diagnosis.findIndex((item) => item.uniqueID === diagID);\n var addDiagIndex = diagnosis[diagIndex].additionalCode.findIndex(\n (a) => a.uniqueID === codeID\n );\n dispatch(\n deleteAdditionalDiagnosis({\n diagIndex: diagIndex,\n addDiagIndex: addDiagIndex,\n })\n );\n };\n\n const handleDiagnosisSearch = (event) => {\n setDiagnosisSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getDiagnosisSearch({\n method: \"GET\",\n search: event.target.value?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setSearchStatus({ name: \"diagnosis\", value: true }));\n });\n } else if (event.target.value == \"\") {\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n }\n };\n const closeDiagnosisSearch = () => {\n setDiagnosisSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n };\n\n //Procedure\n const selectProcedure = (e) => {\n setIncrementProcedure(incrementProcedure + 1);\n dispatch(\n setProcedure({\n uniqueID: incrementProcedure,\n type: \"P\",\n code: procedureData.code,\n Id: procedureData.id,\n name: procedureData.name,\n selected: procedure.length <= 0 ? true : false,\n })\n );\n };\n\n if (procedureSet) {\n checkAdditionalProcButton();\n }\n function checkAdditionalProcButton() {\n if (procedure.length > 0) {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: false }));\n } else {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: true }));\n }\n }\n\n const selectProcedureAdditionalCode = (e) => {\n setIncrementAdditionalProcedure(incrementAdditionalProcedure + 1);\n var index = procedure.findIndex((item) => item.selected === true);\n dispatch(\n setProcedureAdditionalCode({\n index: index,\n uniqueID: incrementAdditionalProcedure,\n type: \"T\",\n code: procedureData.code,\n Id: procedureData.Id,\n name: procedureData.name,\n })\n );\n };\n\n const handleProcedureSelect = (item) => () => {\n var index = procedure.findIndex((a) => a.Id === item.Id);\n dispatch(updateSelectedProcedure({ index: index, value: true }));\n };\n\n const handleProcedureMoveUp = (index) => () => {\n dispatch(procedureMoveUp(index));\n };\n const handleProcedureMoveDown = (index) => () => {\n dispatch(procedureMoveDown(index));\n };\n const handleDeleteProcedure = (val) => () => {\n var index = procedure.findIndex((item) => item.uniqueID === val);\n dispatch(deleteProcedure({ index: index }));\n };\n\n const handleDeleteAdditionalProcedure = (procID, codeID) => () => {\n var procIndex = procedure.findIndex((item) => item.uniqueID === procID);\n var addProcIndex = procedure[procIndex].additionalCode.findIndex(\n (a) => a.uniqueID === codeID\n );\n dispatch(\n deleteAdditionalProcedure({\n procIndex: procIndex,\n addProcIndex: addProcIndex,\n })\n );\n };\n\n const handleProcedureSearch = (event) => {\n setProcedureSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getProcedureSearch({\n method: \"GET\",\n search: event.target.value?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setSearchStatus({ name: \"procedure\", value: true }));\n });\n } else if (event.target.value == \"\") {\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n }\n };\n const closeProcedureSearch = () => {\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n };\n\n const handleAddToSpell = (e) => {\n if (diagnosis.length > 0 || (procedure.length > 0 && contactType == \"6\")) {\n setShowSpells(true);\n\n getPatientInputs(e.target.value);\n } else {\n setShowSpells(false);\n }\n };\n\n const handleRunQuery = (e) => {\n if (diagnosis.length > 0 || (procedure.length > 0 && contactType == \"6\")) {\n //setShowEpisodes(true);\n dispatch(setInteractiveLoading(true));\n getPatientInputs(e.target.value);\n } else {\n //setShowEpisodes(false);\n }\n };\n\n //Used to generate the interactive array from selected values\n function getPatientInputs(handler) {\n setIncrementInteractiveList(incrementInteractiveList + 1);\n var id = incrementInteractiveList;\n var genderText = patientInputs[0].gender.filter((a) => a.value == gender)[0]\n ?.name;\n var ageTypeText = patientInputs[0].unit.filter((a) => a.value == ageUnit)[0]\n ?.name;\n var contactTypeText = patientInputs[0].contactType.filter(\n (a) => a.value == contactType\n )[0].name;\n var hospWayText = patientInputs[0].hospitalisationMethod.filter(\n (a) => a.value == hospitalisationMethod\n )[0].name;\n var dischargeText = patientInputs[0].releaseMethod.filter(\n (a) => a.value == discharge\n )[0].name;\n var birthTypeText = patientInputs[0].birthType.filter(\n (a) => a.value == birthType\n )[0].name;\n var reasonForContactText = patientInputs[0].reasonForContact.filter(\n (a) => a.value == reasonForContact\n )[0].name;\n if (isMale) {\n var gestationText = patientInputs[0].maleGestation.filter(\n (a) => a.value == gestationAge\n )[0].name;\n } else {\n var gestationText = patientInputs[0].femaleGestation.filter(\n (a) => a.value == gestationAge\n )[0].name;\n }\n if (isYearGreaterThan2021)\n var varighedDescription = patientInputs[0].varighed.filter(\n (a) => a.value == varighed\n )[0].name;\n var intData = [];\n intData.push({\n id: incrementInteractiveList,\n age: age,\n ageTypeValue: ageUnit,\n ageTypeText: ageTypeText,\n contactTypeValue: contactType,\n contactTypeText: contactTypeText,\n genderValue: gender,\n genderText: genderText,\n isMale: isMale,\n isBirth: birthValue === \"Yes\" ? 1 : 0,\n birthTypeText: birthTypeText,\n birthTypeValue: birthType,\n height: height,\n weight: weight,\n hospWayText: hospWayText,\n hospWayValue: hospitalisationMethod,\n reasonForContactText: reasonForContactText,\n reasonForContactValue: reasonForContact,\n dischargeText: dischargeText,\n dischargeValue: discharge,\n maleGestationAgeValue: gestationAge,\n femaleGestationAgeValue: gestationAge,\n gestationText: gestationText,\n varighed: varighed,\n varighedDescription: varighedDescription,\n contactDays: parseInt(contactDays),\n contactDaysStartDate: contactDaysStartDate,\n contactDaysEndDate: contactDaysEndDate,\n diagnosis: diagnosis,\n procedure: procedure,\n expandCollapseValue: \"Collapse\",\n registrations: [],\n progress: [],\n results: [],\n });\n\n if (handler === \"AddToSpell\") {\n dispatch(addToSpell({ data: intData, handler: handler }));\n } else if (handler === \"RunQuery\") {\n dispatch(addToSpell({ data: intData, handler: handler }));\n var requestList = createRequestList(intData[0]);\n postInteractiveRequest(requestList, \"contact\", intData, handler);\n }\n }\n /* if (updateSuccess && showEpisodes) {\n createRequestList();\n } */\n function createRequestList(obj) {\n var reqData = [];\n\n let gestationAge = isMale\n ? {\n Code: obj.maleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n }\n : {\n Code: obj.femaleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n };\n let reasonForContact =\n obj.hospWayValue === \"1\"\n ? generateListItems(obj, \"ReasonForContact\")\n : null;\n let contactType = generateListItems(obj, \"ContactType\");\n var liggeDage = \"\";\n if (isYearGreaterThan2021) {\n if (obj.varighed == \"0\") {\n liggeDage = \"\";\n } else if (obj.varighed == \"1\") {\n liggeDage = \"1\";\n } else {\n liggeDage = \"12\";\n }\n }\n var diagnosis = [];\n obj.diagnosis.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n diagnosis.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n var procedure = [];\n obj.procedure.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n procedure.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n if (isYearGreaterThan2021) {\n reqData.push({\n RId: 1,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n LiggidageBedInDays: liggeDage,\n Varighed: {\n Code: obj.varighed,\n Description: obj.varighedDescription[language],\n Significance: \"\",\n },\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language] : null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n } else {\n reqData.push({\n RId: 1,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language] : null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n }\n return reqData;\n }\n\n function generateListItems(obj, col) {\n let retObj = {};\n if (col == \"ContactType\") {\n if (isYearGreaterThan2021) {\n if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"2\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"5\") {\n retObj.Code = \"1\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n } else {\n if (obj.contactTypeValue == \"3\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n }\n } else if (col == \"ReasonForContact\") {\n if (obj.reasonForContactValue == \"0\") {\n retObj.Code = \" \";\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.reasonForContactValue;\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n }\n }\n return retObj;\n }\n\n function postInteractiveRequest(requestList, type, data, handler) {\n var viewModel = {};\n let overWriteBedDays, overWriteVarighed;\n dispatch(setRequestType(type));\n if (type == \"episode\") {\n overWriteBedDays = contactDaysNoProgress;\n if (isYearGreaterThan2021) {\n //varighed\n overWriteVarighed = requestList.Varighed;\n }\n } else {\n overWriteBedDays = null;\n overWriteVarighed = null;\n }\n\n viewModel = {\n Name: selectedInteractiveObj.interactiveName,\n Version: selectedInteractiveObj.interactiveVersion,\n Year: selectedInteractiveObj.year,\n OverWriteBedDays: overWriteBedDays,\n OverWriteVarighed: overWriteVarighed,\n interactive: requestList,\n };\n\n dispatch(\n interactiveProcessResult({ method: \"POST\", body: viewModel })\n ).then(() => {\n //console.log(\"Res Run Query\");\n });\n }\n const handleReport = (e) => {\n if (resultsPanel) {\n dispatch(setReportDialog(true));\n }\n };\n\n if (blobToDownload && selectedFileType) {\n switch (selectedFileType) {\n case \"News\":\n saveAs(blobToDownload, \"Interactive News.pdf\");\n break;\n case \"Guidance\":\n saveAs(blobToDownload, \"Interactive Guidance.pdf\");\n break;\n }\n dispatch(clearValues());\n }\n\n if (patientInputs.length > 0) {\n //console.log(Object.values(patientInputs[0].contactType)[0].value);\n }\n\n // if (!interactive.isSessionValid) {\n // dispatch(redirectToLogin({ isAuthorised: false }));\n // }\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n // localStorage.setItem(\"language\", language.name);\n dispatch(languageChanged({ language: language.name }));\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n }\n }\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n if (value) {\n const result = interactiveCollection.filter((item) => {\n return item.year == value;\n })[0];\n dispatch(setSelectedInteractive(result));\n dispatch(\n setInteractiveDetails({\n id: result.id,\n name: result.interactiveName,\n year: result.year,\n })\n );\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n };\n return (\n
    \n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n \n {country.name === \"en\"\n ? t(\"contentUpload.english\")\n : t(\"contentUpload.danish\")}\n \n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n {t(\"interactive.Interactive\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.news\")} (PDF)\n \n \n \n {t(\"interactive.guidance\")} (PDF)\n \n \n \n {t(\"interactive.quickStartGuide\")}\n \n \n \n {t(\"interactive.clearAll\")}\n \n
    \n
    \n \n
    \n \n
    \n \n {t(\"publisher.Hearing\")}\n \n \n {t(\"Manager.Year\")}: {selectedInteractiveYear}\n \n {/* \n {t(\"Manager_Common.Name\")}: {selectedInteractiveName}\n */}\n {/* \n {selectedInteractiveName == \"\"\n ? \"Select the interactive file\"\n : selectedInteractiveName + \" - \" + selectedInteractiveYear}\n */}\n {/* {\n setOpen(true);\n }}\n >\n {t(\"Global.open_file\")}\n */}\n
    \n \n \n {interactiveFrontPageContent != \"\" && (\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"Global.introduction\")}\n \n
    \n \n \n
    \n {parse(interactiveFrontPageContent)}\n
    \n
    \n
    \n )}\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.patientInformation\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n
    \n 0 && gender == \"\"\n ? Object.values(patientInputs[0].gender)[0].value\n : gender\n }\n onChange={handleGenderChange}\n sx={{ width: \"10%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].gender).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n \n {t(\"Global.yes\")}\n {t(\"Global.no\")}\n \n \n 0 && ageUnit == \"\"\n ? Object.values(patientInputs[0].unit)[0].value\n : ageUnit\n }\n onChange={handleAgeUnitChange}\n sx={{ width: \"9%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].unit).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n \n {patientInputs.length > 0 ? displayGestation() : null}\n \n 0 && discharge == \"\"\n ? Object.values(patientInputs[0].releaseMethod)[0]\n .value\n : discharge\n }\n onChange={handleDischargeChange}\n sx={{ width: \"20%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].releaseMethod).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n 0 && contactType == \"\"\n ? Object.values(patientInputs[0].contactType)[0]\n .value\n : contactType\n }\n onChange={handleContactTypeChange}\n sx={{ width: \"20%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].contactType).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n
    \n {enableBirthInfo ? (\n
    \n \n {t(\"interactive.motherInformation\")}\n \n
    \n 0 && birthType == \"\"\n ? Object.values(patientInputs[0].birthType)[0]\n .value\n : birthType\n }\n onChange={handleBirthTypeChange}\n sx={{ width: \"50%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].birthType).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n \n cm\n \n ),\n }}\n onChange={handleHeightChange}\n sx={{ width: \"20%\" }}\n />\n \n kg\n \n ),\n }}\n onChange={handleWeightChange}\n sx={{ width: \"20%\" }}\n />\n
    \n
    \n ) : null}\n\n
    \n 0 &&\n hospitalisationMethod == \"\"\n ? Object.values(\n patientInputs[0].hospitalisationMethod\n )[1].value\n : hospitalisationMethod\n }\n onChange={handlePriorityChange}\n sx={\n isYearGreaterThan2021\n ? { width: \"15%\" }\n : { width: \"20%\" }\n }\n helperText={t(\"interactive.priority_helper\")}\n >\n {patientInputs.length > 0\n ? Object.values(\n patientInputs[0].hospitalisationMethod\n ).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n 0 && reasonForContact == \"\"\n ? Object.values(\n patientInputs[0].reasonForContact\n )[0].value\n : reasonForContact\n }\n onChange={handleContactReasonChange}\n sx={\n isYearGreaterThan2021\n ? { width: \"15%\" }\n : { width: \"20%\" }\n }\n disabled={disableContactReason}\n >\n {patientInputs.length > 0\n ? Object.values(\n patientInputs[0].reasonForContact\n ).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n {isYearGreaterThan2021 ? (\n 0 && varighed == \"\"\n ? Object.values(patientInputs[0].varighed)[0]\n .value\n : varighed\n }\n onChange={handleDurationChange}\n sx={{ width: \"15%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].varighed).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n ) : null}\n \n
    \n \n \n handleContactStartDateChange(newValue)\n }\n disabled={\n isYearGreaterThan2021 && disableContactDays\n }\n className=\"interactive-date-picker\"\n sx={{ width: \"20%\" }}\n renderInput={(params) => (\n \n )}\n />\n \n \n \n handleContactEndDateChange(newValue)\n }\n sx={{ width: \"20%\" }}\n disabled={\n isYearGreaterThan2021 && disableContactDays\n }\n renderInput={(params) => (\n \n )}\n />\n \n
    \n
    \n
    \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.diseasesTreatments\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n
    \n \n \n
    \n \n {t(\"interactive.diagnosis\")}\n \n
    \n \n \n {t(\"interactive.diagnosis\")}\n \n \n \n {t(\"interactive.additionalCode\")}\n \n
    \n
    \n \n ),\n endAdornment: (\n \n ),\n }}\n />\n {loadDiagAndProc ? (\n \n ) : null}\n
    \n \n \n {t(\"interactive.selectedDiagnosis\")}\n \n
    \n {diagnosis?.map((item, index) => {\n return (\n
    \n \n \n \n {item.type}  \n {item.name}\n \n \n
    \n {diagnosis.length > 1 && (\n
    \n {index === 0 ? (\n \n ) : (\n \n )}\n
    \n )}\n \n
    \n \n {item.additionalCode.map((b) => {\n return (\n \n \n {b.type}  \n {b.name}\n \n \n \n );\n })}\n
    \n );\n })}\n
    \n \n
    \n \n \n
    \n \n {t(\"interactive.procedure_and\")}\n \n
    \n \n \n {t(\"interactive.procedure\")}\n \n \n \n {t(\"interactive.additionalCode\")}\n \n
    \n
    \n \n ),\n endAdornment: (\n \n ),\n }}\n />\n {loadDiagAndProc ? (\n \n ) : null}\n
    \n \n \n {t(\"interactive.selectedProcedure\")}\n \n
    \n {procedure?.map((item, index) => {\n return (\n
    \n \n \n \n {item.type}  \n {item.name}\n \n \n
    \n {procedure.length > 1 && (\n
    \n {index === 0 ? (\n \n ) : (\n \n )}\n
    \n )}\n \n
    \n \n {item.additionalCode.map((b) => {\n return (\n \n \n {b.type}  \n {b.name}\n \n \n \n );\n })}\n
    \n );\n })}\n
    \n \n
    \n
    \n
    \n
    \n 0 ||\n (procedure.length > 0 && contactType == \"6\")\n ? false\n : true\n }\n >\n {t(\"interactive.addToSpell\")}\n \n \n 0 ||\n (procedure.length > 0 && contactType == \"6\")\n ? false\n : true\n }\n >\n {t(\"interactive.runQuery\")}\n \n \n
    \n
    \n
    \n
    \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.episodes\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {episodesPanel ? : null}\n \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.spells\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {spellsPanel ? : null}\n \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.results\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.reportView\")}\n \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {resultsPanel ? : null}\n \n
    \n
    \n
    \n
    \n \n \n {t(\"interactive.Open_Interactive_File\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n
    \n dispatch(errorMessageClose())}\n >\n dispatch(errorMessageClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"viewer.fileNotExists\")}\n \n \n dispatch(dateErrorClose())}\n >\n dispatch(dateErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(\"interactive.dateError\")}\n \n \n dispatch(dateErrorClose())}\n >\n dispatch(dateErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(errorMessage)}\n \n \n \n {\"Clear all\"}\n \n \n {dialogContent}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n dispatch(handleErrorClose())}\n >\n dispatch(handleErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {!noVisualIDError && t(errorMessage)}\n {noVisualIDError && t(\"interactive.noVisualError\")}\n \n \n
    \n )}\n {isInvalidData && (\n
    \n \n The link you accessed has no data or expired\n \n
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isResultLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Interactive.css\";\n// import \"./InteractiveProd.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport HelpOutlineIcon from \"@mui/icons-material/HelpOutline\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { styled } from \"@mui/material/styles\";\nimport ArrowForwardIosSharpIcon from \"@mui/icons-material/ArrowForwardIosSharp\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport InfoIcon from \"@mui/icons-material/Info\";\nimport EraseIcon from \"../../../assets/icons/EraseIconPublic.svg\";\nimport TextField from \"@mui/material/TextField\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport AddCircleIcon from \"@mui/icons-material/AddCircle\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport ReportIcon from \"../../../assets/icons/ReportIconPublic.svg\";\nimport parse from \"html-react-parser\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { saveAs } from \"file-saver\";\nimport \"intro.js/introjs.css\";\nimport { Steps, Hints } from \"intro.js-react\";\nimport {\n setInteractiveDetails,\n getInteractiveNames,\n getAllMasterData,\n getAllDiagnosis,\n getAllProcedures,\n setSelectedFileToDownload,\n getZipFile,\n clearValues,\n errorMessageClose,\n setDiagnosis,\n setSelectionButton,\n setDiagnosisAdditionalCode,\n updateSelectedDiagnosis,\n diagnosisMoveUp,\n diagnosisMoveDown,\n deleteDiagnosis,\n deleteAdditionalDiagnosis,\n setProcedure,\n setProcedureAdditionalCode,\n updateSelectedProcedure,\n procedureMoveUp,\n procedureMoveDown,\n deleteProcedure,\n deleteAdditionalProcedure,\n getDiagnosisSearch,\n getProcedureSearch,\n setSearchStatus,\n setGender,\n setBirthValue,\n setValues,\n dateErrorClose,\n setDateToDefault,\n setPanel,\n clearPatientInformation,\n addToSpell,\n clearSpellInformation,\n clearEpisodesInformation,\n setInteractiveList,\n interactiveProcessResult,\n showPanels,\n setRequestType,\n setReportDialog,\n clearDiseaseInformation,\n clearResultInformation,\n clearAllInformation,\n setInteractiveLoading,\n handleErrorClose,\n setSelectedInteractive,\n GetInteractiveFrontPageContent,\n getCountries,\n setEnvironment,\n clearOnContact,\n} from \"./publicInteractiveSlice\";\nimport InteractiveSelectionTree from \"./InteractiveSelectionTree\";\nimport DiagnosisTreeView from \"./DiagnosisTreeView\";\nimport ProcedureTreeView from \"./ProcedureTreeView\";\nimport Spells from \"./Spells\";\nimport Episodes from \"./Episodes\";\nimport Results from \"./Results\";\nimport Report from \"./Report\";\nimport { fabClasses } from \"@mui/material\";\nimport VisualDiagram from \"./VisualDiagram\";\nimport { redirectToLogin } from \"../../authentication/authenticationSlice\";\nimport Logo from \"../../../assets/logos/drg-logo.png\";\nimport { languageChanged } from \"../../../translations/languageSlice\";\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nexport default function InteractiveProd() {\n const [open, setOpen] = useState(false);\n const [diagnosisSearchValue, setDiagnosisSearchValue] = useState(\"\");\n const [procedureSearchValue, setProcedureSearchValue] = useState(\"\");\n const [incrementDiagnosis, setIncrementDiagnosis] = useState(1);\n const [incrementAdditionalDiagnosis, setIncrementAdditionalDiagnosis] =\n useState(1);\n const [incrementProcedure, setIncrementProcedure] = useState(1);\n const [incrementAdditionalProcedure, setIncrementAdditionalProcedure] =\n useState(1);\n const [incrementInteractiveList, setIncrementInteractiveList] = useState(1);\n const [openDialog, setOpenDialog] = useState(false);\n const [dialogContent, setDialogContent] = useState(\"\");\n const [panelName, setPanelName] = useState(\"\");\n const [showSpells, setShowSpells] = useState(false);\n const [enabled, setEnabled] = useState(false);\n const [initialStep, setInitialStep] = useState(0);\n const [hintEnabled, setHintEnabled] = useState(false);\n const [stepCounter, setStepCounter] = useState(0);\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const publicInteractive = useSelector((state) => state.publicInteractive);\n const {\n selectedInteractiveObj,\n selectedInteractiveName,\n selectedInteractiveYear,\n blobToDownload,\n selectedFileType,\n fileNotExists,\n introInfoPanel,\n patientInfoPanel,\n diseasesPanel,\n episodesPanel,\n spellsPanel,\n resultsPanel,\n isChooseDiagnosis,\n isChooseDiagAdditional,\n diagnosis,\n diagnosisData,\n diagnosisSet,\n procedure,\n procedureData,\n isChooseProcedure,\n isChooseProcAdditional,\n procedureSet,\n diagnosisSearch,\n procedureSearch,\n patientInputs,\n gender,\n disableBirth,\n birthValue,\n enableBirthInfo,\n isMale,\n age,\n ageUnit,\n gestationAge,\n discharge,\n contactType,\n birthType,\n height,\n weight,\n hospitalisationMethod,\n reasonForContact,\n contactDays,\n contactDaysStartDate,\n contactDaysEndDate,\n disableContactReason,\n varighed,\n isYearGreaterThan2021,\n disableContactDays,\n dateError,\n interactiveList,\n updateSuccess,\n contactDaysNoProgress,\n resultError,\n errorMessage,\n reportDialog,\n visualDialog,\n isResultLoading,\n noVisualIDError,\n loadDiagAndProc,\n yearsCollection,\n interactiveCollection,\n interactiveFrontPageContent,\n countries,\n isValidData,\n isInvalidData,\n } = publicInteractive;\n const languageState = useSelector((state) => state.language);\n const { language } = languageState;\n const [languageVal, setLanguageVal] = useState(\"2\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Production\"));\n dispatch(getCountries({ method: \"GET\" }));\n let url =\n \"Public/GetActiveInteractiveDetails?isLogin=false&isHearing=false\";\n dispatch(getInteractiveNames({ method: \"GET\", url: url })).then(() => {\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" })).then(() => {});\n });\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }, []);\n\n const handleDownload = (e) => {\n e.preventDefault();\n //console.log(\"selectedInteractiveName:\", selectedInteractiveName);\n if (selectedInteractiveName != \"\") {\n var eventValue = e.currentTarget.value;\n dispatch(setSelectedFileToDownload(eventValue));\n switch (eventValue) {\n case \"News\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedInteractiveObj.id +\n \"&selectionType=\" +\n \"Interactive\" +\n \"&selectedOption=\" +\n \"InteractiveNews\";\n break;\n case \"Guidance\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedInteractiveObj.id +\n \"&selectionType=\" +\n \"Interactive\" +\n \"&selectedOption=\" +\n \"InteractiveGuide\";\n break;\n }\n dispatch(getZipFile({ url: url, method: \"GET\" }));\n }\n };\n const handleQuickStartGuide = (e) => {\n setEnabled(true);\n };\n const onExit = () => {\n setEnabled(false);\n };\n const steps = [\n {\n element: \"#step1\",\n intro: t(\"interactive.intro1\"),\n position: \"bottom\",\n },\n {\n element: \"#step2\",\n intro: t(\"interactive.intro2\"),\n position: \"bottom\",\n },\n {\n element: \"#step3\",\n intro: t(\"interactive.intro3\"),\n position: \"bottom\",\n },\n {\n element: \"#step4\",\n intro: t(\"interactive.intro4\"),\n position: \"bottom\",\n },\n {\n element: \"#step5\",\n intro: t(\"interactive.intro5\"),\n position: \"bottom\",\n },\n {\n element: \"#step6\",\n intro: t(\"interactive.intro6\"),\n position: \"bottom\",\n },\n ];\n const stepOptions = {\n showBullets: true,\n showButtons: true,\n exitOnOverlayClick: true,\n keyboardNavigation: true,\n nextLabel: t(\"interactive.next\") + \"→\",\n prevLabel: \"←\" + t(\"interactive.back\"),\n skipLabel: t(\"interactive.skip\"),\n doneLabel: t(\"interactive.done\"),\n };\n const infoTip = [\n {\n element: \"#info1\",\n title: t(\"interactive.AboutInteractive\"),\n intro: t(\"interactive.info1\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info2\",\n title: t(\"interactive.AboutPatientInfo\"),\n intro: t(\"interactive.info2\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info3\",\n title: t(\"interactive.AboutDiseasesTreatment\"),\n intro: t(\"interactive.info3\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info4\",\n title: t(\"interactive.AboutEpisodes\"),\n intro: t(\"interactive.info4\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info5\",\n title: t(\"interactive.AboutSpells\"),\n intro: t(\"interactive.info5\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n {\n element: \"#info6\",\n title: t(\"interactive.AboutResults\"),\n intro: t(\"interactive.info6\"),\n position: \"bottom\",\n tooltipClass: \"info-stepper\",\n },\n ];\n const handleHintClick = (count) => (e) => {\n setHintEnabled(true);\n setStepCounter(count);\n };\n const handleInfoClose = () => {\n setHintEnabled(false);\n };\n const handleClose = () => {\n setOpen(false);\n };\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedInteractiveObj) {\n dispatch(clearAllInformation());\n dispatch(\n setInteractiveDetails({\n id: selectedInteractiveObj.id,\n name: selectedInteractiveObj.interactiveName,\n year: selectedInteractiveObj.year,\n })\n );\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n setOpen(false);\n };\n\n const handlePanelChange = (panel) => (event, newExpanded) => {\n dispatch(setPanel(panel));\n };\n\n const handleClear = (panel) => (event, newExpanded) => {\n event.preventDefault();\n setPanelName(panel);\n if (panel === \"patientInfoPanel\") {\n setDialogContent(t(\"interactive.patientClear\"));\n } else if (panel === \"diseasesPanel\") {\n setDialogContent(t(\"interactive.diseaseClear\"));\n } else if (panel === \"spellsPanel\") {\n setDialogContent(t(\"interactive.spellClear\"));\n } else if (panel === \"episodesPanel\") {\n setDialogContent(t(\"interactive.episodesClear\"));\n } else if (panel === \"resultsPanel\") {\n setDialogContent(t(\"interactive.resultClear\"));\n } else if (panel === \"clearAll\") {\n setDialogContent(t(\"interactive.clearAllInfo\"));\n }\n setOpenDialog(true);\n };\n\n const handleOk = () => {\n setOpenDialog(false);\n if (panelName === \"patientInfoPanel\") {\n dispatch(clearPatientInformation());\n dispatch(getAllMasterData({ method: \"GET\" }));\n } else if (panelName === \"diseasesPanel\") {\n dispatch(clearDiseaseInformation());\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(getAllDiagnosis({ method: \"GET\" }));\n dispatch(getAllProcedures({ method: \"GET\" }));\n } else if (panelName === \"spellsPanel\") {\n dispatch(clearSpellInformation());\n } else if (panelName === \"episodesPanel\") {\n dispatch(clearEpisodesInformation());\n } else if (panelName === \"resultsPanel\") {\n dispatch(clearResultInformation());\n } else if (panelName === \"clearAll\") {\n dispatch(clearAllInformation());\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n };\n const handleDialogClose = () => {\n setOpenDialog(false);\n };\n\n //Patient Information Section\n const handleGenderChange = (e) => {\n dispatch(setGender(e.target.value));\n };\n\n const handleBirthChange = (e) => {\n dispatch(setBirthValue(e.target.value));\n };\n\n const handleAgeChange = (e) => {\n dispatch(setValues({ name: \"age\", value: e.target.value }));\n };\n\n const handleAgeUnitChange = (e) => {\n dispatch(setValues({ name: \"ageUnit\", value: e.target.value }));\n };\n\n const handleGestationAgeChange = (e) => {\n dispatch(setValues({ name: \"gestationAge\", value: e.target.value }));\n };\n\n const handleDischargeChange = (e) => {\n dispatch(setValues({ name: \"discharge\", value: e.target.value }));\n };\n\n const handleContactTypeChange = (e) => {\n dispatch(setValues({ name: \"contactType\", value: e.target.value }));\n if (e.target.value == \"6\") {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: true }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n dispatch(clearOnContact());\n }\n if (diagnosis.length > 0 && e.target.value != \"6\") {\n dispatch(setSelectionButton({ name: \"diagnosis\", value: false }));\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n }\n };\n\n const handleBirthTypeChange = (e) => {\n dispatch(setValues({ name: \"birthType\", value: e.target.value }));\n };\n\n const handleHeightChange = (e) => {\n dispatch(setValues({ name: \"height\", value: e.target.value }));\n };\n\n const handleWeightChange = (e) => {\n dispatch(setValues({ name: \"weight\", value: e.target.value }));\n };\n\n const handlePriorityChange = (e) => {\n dispatch(\n setValues({ name: \"hospitalisationMethod\", value: e.target.value })\n );\n };\n\n const handleContactReasonChange = (e) => {\n dispatch(setValues({ name: \"reasonForContact\", value: e.target.value }));\n };\n\n const handleContactDaysChange = (e) => {\n dispatch(setValues({ name: \"contactDays\", value: e.target.value }));\n };\n\n const handleContactStartDateChange = (val) => {\n dispatch(setValues({ name: \"contactDaysStartDate\", value: val }));\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n };\n\n const handleContactEndDateChange = (val) => {\n dispatch(setValues({ name: \"contactDaysEndDate\", value: val }));\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n };\n if (contactDaysStartDate != null && contactDaysEndDate != null) {\n calculateDate();\n }\n function calculateDate() {\n var date1 = contactDaysStartDate;\n var date2 = contactDaysEndDate;\n if (date1 != null && date2 != null) {\n var oneDay = 24 * 60 * 60 * 1000;\n var duration = Math.round(\n Math.abs((date1.getTime() - date2.getTime()) / oneDay)\n );\n if (date1 > date2) {\n dispatch(setDateToDefault());\n } else {\n var contactDays = duration + 1;\n dispatch(\n setValues({ name: \"contactDays\", value: String(contactDays) })\n );\n }\n }\n }\n const handleDurationChange = (e) => {\n dispatch(setValues({ name: \"varighed\", value: e.target.value }));\n };\n\n function displayGestation() {\n if (patientInputs.length > 0 && isMale) {\n return Object.values(patientInputs[0].maleGestation).map((a) => {\n return {a.name[language]};\n });\n } else if (patientInputs.length > 0) {\n return Object.values(patientInputs[0].femaleGestation).map((a) => {\n return {a.name[language]};\n });\n } else {\n return null;\n }\n }\n\n //Diagnosis\n const selectDiagnosis = (e) => {\n setIncrementDiagnosis(incrementDiagnosis + 1);\n var tempData = [];\n if (diagnosis.length <= 0) {\n dispatch(\n setDiagnosis({\n uniqueID: incrementDiagnosis,\n type: \"A\",\n code: diagnosisData.code,\n Id: diagnosisData.id,\n name: diagnosisData.name,\n selected: true,\n })\n );\n } else {\n dispatch(\n setDiagnosis({\n uniqueID: incrementDiagnosis,\n type: \"B\",\n code: diagnosisData.code,\n Id: diagnosisData.id,\n name: diagnosisData.name,\n selected: false,\n })\n );\n }\n };\n\n if (diagnosisSet) {\n checkAdditionalDiagButton();\n }\n function checkAdditionalDiagButton() {\n if (\n diagnosis.length > 0 &&\n contactType != \"6\" &&\n isChooseDiagnosis == false\n ) {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: false }));\n } else {\n dispatch(setSelectionButton({ name: \"diagAdditional\", value: true }));\n }\n }\n\n const selectDiagnosisAdditionalCode = (e) => {\n setIncrementAdditionalDiagnosis(incrementAdditionalDiagnosis + 1);\n var index = diagnosis.findIndex((item) => item.selected === true);\n dispatch(\n setDiagnosisAdditionalCode({\n index: index,\n uniqueID: incrementAdditionalDiagnosis,\n type: \"T\",\n code: diagnosisData.code,\n Id: diagnosisData.Id,\n name: diagnosisData.name,\n })\n );\n };\n\n const handleDiagnosisSelect = (item) => () => {\n var index = diagnosis.findIndex((a) => a.Id === item.Id);\n dispatch(updateSelectedDiagnosis({ index: index, value: true }));\n };\n const handleDiagnosisMoveUp = (index) => () => {\n dispatch(diagnosisMoveUp(index));\n };\n const handleDiagnosisMoveDown = (index) => () => {\n dispatch(diagnosisMoveDown(index));\n };\n const handleDeleteDiagnosis = (val) => () => {\n var index = diagnosis.findIndex((item) => item.uniqueID === val);\n dispatch(deleteDiagnosis({ index: index }));\n };\n\n const handleDeleteAdditionalDiagnosis = (diagID, codeID) => () => {\n var diagIndex = diagnosis.findIndex((item) => item.uniqueID === diagID);\n var addDiagIndex = diagnosis[diagIndex].additionalCode.findIndex(\n (a) => a.uniqueID === codeID\n );\n dispatch(\n deleteAdditionalDiagnosis({\n diagIndex: diagIndex,\n addDiagIndex: addDiagIndex,\n })\n );\n };\n\n const handleDiagnosisSearch = (event) => {\n setDiagnosisSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getDiagnosisSearch({\n method: \"GET\",\n search: event.target.value?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setSearchStatus({ name: \"diagnosis\", value: true }));\n });\n } else if (event.target.value == \"\") {\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n }\n };\n const closeDiagnosisSearch = () => {\n setDiagnosisSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n };\n\n //Procedure\n const selectProcedure = (e) => {\n setIncrementProcedure(incrementProcedure + 1);\n dispatch(\n setProcedure({\n uniqueID: incrementProcedure,\n type: \"P\",\n code: procedureData.code,\n Id: procedureData.id,\n name: procedureData.name,\n selected: procedure.length <= 0 ? true : false,\n })\n );\n };\n\n if (procedureSet) {\n checkAdditionalProcButton();\n }\n function checkAdditionalProcButton() {\n if (procedure.length > 0) {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: false }));\n } else {\n dispatch(setSelectionButton({ name: \"procAdditional\", value: true }));\n }\n }\n\n const selectProcedureAdditionalCode = (e) => {\n setIncrementAdditionalProcedure(incrementAdditionalProcedure + 1);\n var index = procedure.findIndex((item) => item.selected === true);\n dispatch(\n setProcedureAdditionalCode({\n index: index,\n uniqueID: incrementAdditionalProcedure,\n type: \"T\",\n code: procedureData.code,\n Id: procedureData.Id,\n name: procedureData.name,\n })\n );\n };\n\n const handleProcedureSelect = (item) => () => {\n var index = procedure.findIndex((a) => a.Id === item.Id);\n dispatch(updateSelectedProcedure({ index: index, value: true }));\n };\n\n const handleProcedureMoveUp = (index) => () => {\n dispatch(procedureMoveUp(index));\n };\n const handleProcedureMoveDown = (index) => () => {\n dispatch(procedureMoveDown(index));\n };\n const handleDeleteProcedure = (val) => () => {\n var index = procedure.findIndex((item) => item.uniqueID === val);\n dispatch(deleteProcedure({ index: index }));\n };\n\n const handleDeleteAdditionalProcedure = (procID, codeID) => () => {\n var procIndex = procedure.findIndex((item) => item.uniqueID === procID);\n var addProcIndex = procedure[procIndex].additionalCode.findIndex(\n (a) => a.uniqueID === codeID\n );\n dispatch(\n deleteAdditionalProcedure({\n procIndex: procIndex,\n addProcIndex: addProcIndex,\n })\n );\n };\n\n const handleProcedureSearch = (event) => {\n setProcedureSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getProcedureSearch({\n method: \"GET\",\n search: event.target.value?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setSearchStatus({ name: \"procedure\", value: true }));\n });\n } else if (event.target.value == \"\") {\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n }\n };\n const closeProcedureSearch = () => {\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n };\n\n const handleAddToSpell = (e) => {\n if (diagnosis.length > 0 || (procedure.length > 0 && contactType == \"6\")) {\n setShowSpells(true);\n\n getPatientInputs(e.target.value);\n } else {\n setShowSpells(false);\n }\n };\n\n const handleRunQuery = (e) => {\n if (diagnosis.length > 0 || (procedure.length > 0 && contactType == \"6\")) {\n //setShowEpisodes(true);\n dispatch(setInteractiveLoading(true));\n getPatientInputs(e.target.value);\n } else {\n //setShowEpisodes(false);\n }\n };\n\n //Used to generate the interactive array from selected values\n function getPatientInputs(handler) {\n setIncrementInteractiveList(incrementInteractiveList + 1);\n var id = incrementInteractiveList;\n var genderText = patientInputs[0].gender.filter((a) => a.value == gender)[0]\n ?.name;\n var ageTypeText = patientInputs[0].unit.filter((a) => a.value == ageUnit)[0]\n ?.name;\n var contactTypeText = patientInputs[0].contactType.filter(\n (a) => a.value == contactType\n )[0].name;\n var hospWayText = patientInputs[0].hospitalisationMethod.filter(\n (a) => a.value == hospitalisationMethod\n )[0].name;\n var dischargeText = patientInputs[0].releaseMethod.filter(\n (a) => a.value == discharge\n )[0].name;\n var birthTypeText = patientInputs[0].birthType.filter(\n (a) => a.value == birthType\n )[0].name;\n var reasonForContactText = patientInputs[0].reasonForContact.filter(\n (a) => a.value == reasonForContact\n )[0].name;\n if (isMale) {\n var gestationText = patientInputs[0].maleGestation.filter(\n (a) => a.value == gestationAge\n )[0].name;\n } else {\n var gestationText = patientInputs[0].femaleGestation.filter(\n (a) => a.value == gestationAge\n )[0].name;\n }\n if (isYearGreaterThan2021)\n var varighedDescription = patientInputs[0].varighed.filter(\n (a) => a.value == varighed\n )[0].name;\n var intData = [];\n intData.push({\n id: incrementInteractiveList,\n age: age,\n ageTypeValue: ageUnit,\n ageTypeText: ageTypeText,\n contactTypeValue: contactType,\n contactTypeText: contactTypeText,\n genderValue: gender,\n genderText: genderText,\n isMale: isMale,\n isBirth: birthValue === \"Yes\" ? 1 : 0,\n birthTypeText: birthTypeText,\n birthTypeValue: birthType,\n height: height,\n weight: weight,\n hospWayText: hospWayText,\n hospWayValue: hospitalisationMethod,\n reasonForContactText: reasonForContactText,\n reasonForContactValue: reasonForContact,\n dischargeText: dischargeText,\n dischargeValue: discharge,\n maleGestationAgeValue: gestationAge,\n femaleGestationAgeValue: gestationAge,\n gestationText: gestationText,\n varighed: varighed,\n varighedDescription: varighedDescription,\n contactDays: parseInt(contactDays),\n contactDaysStartDate: contactDaysStartDate,\n contactDaysEndDate: contactDaysEndDate,\n diagnosis: diagnosis,\n procedure: procedure,\n expandCollapseValue: \"Collapse\",\n registrations: [],\n progress: [],\n results: [],\n });\n\n if (handler === \"AddToSpell\") {\n dispatch(addToSpell({ data: intData, handler: handler }));\n } else if (handler === \"RunQuery\") {\n dispatch(addToSpell({ data: intData, handler: handler }));\n var requestList = createRequestList(intData[0]);\n postInteractiveRequest(requestList, \"contact\", intData, handler);\n }\n }\n /* if (updateSuccess && showEpisodes) {\n createRequestList();\n } */\n function createRequestList(obj) {\n var reqData = [];\n\n let gestationAge = isMale\n ? {\n Code: obj.maleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n }\n : {\n Code: obj.femaleGestationAgeValue,\n Description: obj.gestationText[language],\n Significance: \"\",\n };\n let reasonForContact =\n obj.hospWayValue === \"1\"\n ? generateListItems(obj, \"ReasonForContact\")\n : null;\n let contactType = generateListItems(obj, \"ContactType\");\n var liggeDage = \"\";\n if (isYearGreaterThan2021) {\n if (obj.varighed == \"0\") {\n liggeDage = \"\";\n } else if (obj.varighed == \"1\") {\n liggeDage = \"1\";\n } else {\n liggeDage = \"12\";\n }\n }\n var diagnosis = [];\n obj.diagnosis.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n diagnosis.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n var procedure = [];\n obj.procedure.forEach((ele) => {\n let addlCodes = [];\n if (ele.additionalCode != undefined) {\n for (var i = 0; i < ele.additionalCode.length; i++) {\n addlCodes.push({\n Code: ele.additionalCode[i].code,\n Description: ele.additionalCode[i].name,\n });\n }\n }\n procedure.push({\n Type: ele.type,\n Code: ele.code,\n Description: ele.name,\n AdditionalCodes: addlCodes,\n });\n });\n if (isYearGreaterThan2021) {\n reqData.push({\n RId: 1,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n LiggidageBedInDays: liggeDage,\n Varighed: {\n Code: obj.varighed,\n Description: obj.varighedDescription[language],\n Significance: \"\",\n },\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language] : null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n } else {\n reqData.push({\n RId: 1,\n Age: obj.age,\n AgeTypeText: obj.ageTypeText[language],\n AgeTypeValue: obj.ageTypeValue,\n Gender: {\n Code: obj.genderValue,\n Description: obj.genderText[language],\n Significance: \"\",\n },\n GestationAge: gestationAge,\n AdmissionType: {\n Code: obj.hospWayValue,\n Description: obj.hospWayText[language],\n Significance: \"\",\n },\n ContactReason: reasonForContact,\n DischargeType: {\n Code: obj.dischargeValue,\n Description: obj.dischargeText[language],\n Significance: \"\",\n },\n ContactType: contactType,\n BedinDays: obj.contactDays == \"\" ? null : obj.contactDays,\n SurvivalDays: null,\n isYearGreaterthan2021: isYearGreaterThan2021,\n IsBirth: obj.isBirth === 1 ? true : false,\n Height: obj.isBirth === 1 ? Number(obj.height) : null,\n Weight: obj.isBirth === 1 ? Number(obj.weight) : null,\n BirthType: obj.isBirth === 1 ? Number(obj.birthTypeValue) : 0,\n BirthTypeText: obj.isBirth === 1 ? obj.birthTypeText[language] : null,\n Diagnosis: diagnosis,\n Procedure: procedure,\n });\n }\n return reqData;\n }\n\n function generateListItems(obj, col) {\n let retObj = {};\n if (col == \"ContactType\") {\n if (isYearGreaterThan2021) {\n if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"2\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"5\") {\n retObj.Code = \"1\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n } else {\n if (obj.contactTypeValue == \"3\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else if (obj.contactTypeValue == \"6\") {\n retObj.Code = \"5\";\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.contactTypeValue;\n retObj.Description = obj.contactTypeText[language];\n retObj.Significance = \"\";\n }\n }\n } else if (col == \"ReasonForContact\") {\n if (obj.reasonForContactValue == \"0\") {\n retObj.Code = \" \";\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n } else {\n retObj.Code = obj.reasonForContactValue;\n retObj.Description = obj.reasonForContactText[language];\n retObj.Significance = \"\";\n }\n }\n return retObj;\n }\n\n function postInteractiveRequest(requestList, type, data, handler) {\n var viewModel = {};\n let overWriteBedDays, overWriteVarighed;\n dispatch(setRequestType(type));\n if (type == \"episode\") {\n overWriteBedDays = contactDaysNoProgress;\n if (isYearGreaterThan2021) {\n //varighed\n overWriteVarighed = requestList.Varighed;\n }\n } else {\n overWriteBedDays = null;\n overWriteVarighed = null;\n }\n\n viewModel = {\n Name: selectedInteractiveObj.interactiveName,\n Version: selectedInteractiveObj.interactiveVersion,\n Year: selectedInteractiveObj.year,\n OverWriteBedDays: overWriteBedDays,\n OverWriteVarighed: overWriteVarighed,\n interactive: requestList,\n };\n\n dispatch(\n interactiveProcessResult({ method: \"POST\", body: viewModel })\n ).then(() => {\n //console.log(\"Res Run Query\");\n });\n }\n const handleReport = (e) => {\n if (resultsPanel) {\n dispatch(setReportDialog(true));\n }\n };\n\n if (blobToDownload && selectedFileType) {\n switch (selectedFileType) {\n case \"News\":\n saveAs(blobToDownload, \"Interactive News.pdf\");\n break;\n case \"Guidance\":\n saveAs(blobToDownload, \"Interactive Guidance.pdf\");\n break;\n }\n dispatch(clearValues());\n }\n\n if (patientInputs.length > 0) {\n //console.log(Object.values(patientInputs[0].contactType)[0].value);\n }\n\n // if (!interactive.isSessionValid) {\n // dispatch(redirectToLogin({ isAuthorised: false }));\n // }\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n // localStorage.setItem(\"language\", language.name);\n dispatch(languageChanged({ language: language.name }));\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n }\n }\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n if (value) {\n const result = interactiveCollection.filter((item) => {\n return item.year == value;\n })[0];\n dispatch(clearAllInformation());\n dispatch(setSelectedInteractive(result));\n dispatch(\n setInteractiveDetails({\n id: result.id,\n name: result.interactiveName,\n year: result.year,\n })\n );\n setDiagnosisSearchValue(\"\");\n setProcedureSearchValue(\"\");\n dispatch(setSearchStatus({ name: \"diagnosis\", value: false }));\n dispatch(setSearchStatus({ name: \"procedure\", value: false }));\n dispatch(GetInteractiveFrontPageContent({ method: \"GET\" }));\n dispatch(getAllDiagnosis({ method: \"GET\" })).then(() => {\n dispatch(getAllProcedures({ method: \"GET\" }));\n });\n dispatch(getAllMasterData({ method: \"GET\" }));\n }\n };\n return (\n
    \n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n \n {country.name === \"en\"\n ? t(\"contentUpload.english\")\n : t(\"contentUpload.danish\")}\n \n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n {t(\"interactive.Interactive\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.news\")} (PDF)\n \n \n \n {t(\"interactive.guidance\")} (PDF)\n \n \n \n {t(\"interactive.quickStartGuide\")}\n \n \n \n {t(\"interactive.clearAll\")}\n \n
    \n
    \n \n
    \n \n
    \n \n {yearsCollection.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n {/* \n {selectedInteractiveName == \"\"\n ? \"Select the interactive file\"\n : selectedInteractiveName + \" - \" + selectedInteractiveYear}\n */}\n {/* {\n setOpen(true);\n }}\n >\n {t(\"Global.open_file\")}\n */}\n
    \n \n \n {interactiveFrontPageContent != \"\" && (\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"Global.introduction\")}\n \n
    \n \n \n
    \n {parse(interactiveFrontPageContent)}\n
    \n
    \n
    \n )}\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.patientInformation\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n
    \n 0 && gender == \"\"\n ? Object.values(patientInputs[0].gender)[0].value\n : gender\n }\n onChange={handleGenderChange}\n sx={{ width: \"10%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].gender).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n \n {t(\"Global.yes\")}\n {t(\"Global.no\")}\n \n \n 0 && ageUnit == \"\"\n ? Object.values(patientInputs[0].unit)[0].value\n : ageUnit\n }\n onChange={handleAgeUnitChange}\n sx={{ width: \"9%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].unit).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n \n {patientInputs.length > 0 ? displayGestation() : null}\n \n 0 && discharge == \"\"\n ? Object.values(patientInputs[0].releaseMethod)[0]\n .value\n : discharge\n }\n onChange={handleDischargeChange}\n sx={{ width: \"20%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].releaseMethod).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n 0 && contactType == \"\"\n ? Object.values(patientInputs[0].contactType)[0]\n .value\n : contactType\n }\n onChange={handleContactTypeChange}\n sx={{ width: \"20%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].contactType).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n
    \n {enableBirthInfo ? (\n
    \n \n {t(\"interactive.motherInformation\")}\n \n
    \n 0 && birthType == \"\"\n ? Object.values(patientInputs[0].birthType)[0]\n .value\n : birthType\n }\n onChange={handleBirthTypeChange}\n sx={{ width: \"50%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].birthType).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n \n cm\n \n ),\n }}\n onChange={handleHeightChange}\n sx={{ width: \"20%\" }}\n />\n \n kg\n \n ),\n }}\n onChange={handleWeightChange}\n sx={{ width: \"20%\" }}\n />\n
    \n
    \n ) : null}\n\n
    \n 0 &&\n hospitalisationMethod == \"\"\n ? Object.values(\n patientInputs[0].hospitalisationMethod\n )[1].value\n : hospitalisationMethod\n }\n onChange={handlePriorityChange}\n sx={\n isYearGreaterThan2021\n ? { width: \"15%\" }\n : { width: \"20%\" }\n }\n helperText={t(\"interactive.priority_helper\")}\n >\n {patientInputs.length > 0\n ? Object.values(\n patientInputs[0].hospitalisationMethod\n ).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n 0 && reasonForContact == \"\"\n ? Object.values(\n patientInputs[0].reasonForContact\n )[0].value\n : reasonForContact\n }\n onChange={handleContactReasonChange}\n sx={\n isYearGreaterThan2021\n ? { width: \"15%\" }\n : { width: \"20%\" }\n }\n disabled={disableContactReason}\n >\n {patientInputs.length > 0\n ? Object.values(\n patientInputs[0].reasonForContact\n ).map((a) => {\n return (\n \n {a.name[language]}\n \n );\n })\n : null}\n \n {isYearGreaterThan2021 ? (\n 0 && varighed == \"\"\n ? Object.values(patientInputs[0].varighed)[0]\n .value\n : varighed\n }\n onChange={handleDurationChange}\n sx={{ width: \"15%\" }}\n >\n {patientInputs.length > 0\n ? Object.values(patientInputs[0].varighed).map(\n (a) => {\n return (\n \n {a.name[language]}\n \n );\n }\n )\n : null}\n \n ) : null}\n \n
    \n \n \n handleContactStartDateChange(newValue)\n }\n disabled={\n isYearGreaterThan2021 && disableContactDays\n }\n className=\"interactive-date-picker\"\n sx={{ width: \"20%\" }}\n renderInput={(params) => (\n \n )}\n />\n \n \n \n handleContactEndDateChange(newValue)\n }\n sx={{ width: \"20%\" }}\n disabled={\n isYearGreaterThan2021 && disableContactDays\n }\n renderInput={(params) => (\n \n )}\n />\n \n
    \n
    \n
    \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.diseasesTreatments\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n
    \n \n \n
    \n \n {t(\"interactive.diagnosis\")}\n \n
    \n \n \n {t(\"interactive.diagnosis\")}\n \n \n \n {t(\"interactive.additionalCode\")}\n \n
    \n
    \n \n ),\n endAdornment: (\n \n ),\n }}\n />\n {loadDiagAndProc ? (\n \n ) : null}\n
    \n \n \n {t(\"interactive.selectedDiagnosis\")}\n \n
    \n {diagnosis?.map((item, index) => {\n return (\n
    \n \n \n \n {item.type}  \n {item.name}\n \n \n
    \n {diagnosis.length > 1 && (\n
    \n {index === 0 ? (\n \n ) : (\n \n )}\n
    \n )}\n \n
    \n \n {item.additionalCode.map((b) => {\n return (\n \n \n {b.type}  \n {b.name}\n \n \n \n );\n })}\n
    \n );\n })}\n
    \n \n
    \n \n \n
    \n \n {t(\"interactive.procedure_and\")}\n \n
    \n \n \n {t(\"interactive.procedure\")}\n \n \n \n {t(\"interactive.additionalCode\")}\n \n
    \n
    \n \n ),\n endAdornment: (\n \n ),\n }}\n />\n {loadDiagAndProc ? (\n \n ) : null}\n
    \n \n \n {t(\"interactive.selectedProcedure\")}\n \n
    \n {procedure?.map((item, index) => {\n return (\n
    \n \n \n \n {item.type}  \n {item.name}\n \n \n
    \n {procedure.length > 1 && (\n
    \n {index === 0 ? (\n \n ) : (\n \n )}\n
    \n )}\n \n
    \n \n {item.additionalCode.map((b) => {\n return (\n \n \n {b.type}  \n {b.name}\n \n \n \n );\n })}\n
    \n );\n })}\n
    \n \n
    \n
    \n
    \n
    \n 0 ||\n (procedure.length > 0 && contactType == \"6\")\n ? false\n : true\n }\n >\n {t(\"interactive.addToSpell\")}\n \n \n 0 ||\n (procedure.length > 0 && contactType == \"6\")\n ? false\n : true\n }\n >\n {t(\"interactive.runQuery\")}\n \n \n
    \n
    \n
    \n
    \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.episodes\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {episodesPanel ? : null}\n \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.spells\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {spellsPanel ? : null}\n \n
    \n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"interactive.results\")}\n \n \n
    \n
    \n \n \n {t(\"interactive.reportView\")}\n \n \n \n {t(\"interactive.clear\")}\n \n
    \n \n \n {resultsPanel ? : null}\n \n
    \n
    \n
    \n
    \n \n \n {t(\"interactive.Open_Interactive_File\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n
    \n dispatch(errorMessageClose())}\n >\n dispatch(errorMessageClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"viewer.fileNotExists\")}\n \n \n dispatch(dateErrorClose())}\n >\n dispatch(dateErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(\"interactive.dateError\")}\n \n \n dispatch(dateErrorClose())}\n >\n dispatch(dateErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {t(errorMessage)}\n \n \n \n {\"Clear all\"}\n \n \n {dialogContent}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n dispatch(handleErrorClose())}\n >\n dispatch(handleErrorClose())}\n severity=\"info\"\n sx={{ width: \"100%\" }}\n >\n {!noVisualIDError && t(errorMessage)}\n {noVisualIDError && t(\"interactive.noVisualError\")}\n \n \n
    \n )}\n {isInvalidData && (\n
    \n {\" \"}\n \n {\" \"}\n The link you accessed has no data or expired{\" \"}\n \n
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isResultLoading}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { styled } from \"@mui/material/styles\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport Typography from \"@mui/material/Typography\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport FolderIcon from \"@mui/icons-material/Folder\";\nimport { getAllVisual, setSelectedVisual } from \"./publicViewerSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function VisualSelectionTree() {\n const dispatch = useDispatch();\n const viewer = useSelector((state) => state.publicViewer);\n const { visualCollection, yearsCollection } = viewer;\n let id = 0;\n useEffect(() => {\n dispatch(getAllVisual({ method: \"GET\" }));\n }, []);\n const handleVisualSelection = (obj) => () => {\n dispatch(setSelectedVisual(obj));\n };\n\n return (\n }\n defaultExpandIcon={}\n defaultEndIcon={
    }\n sx={{ height: \"100%\", flexGrow: 1, maxWidth: 600, width: 360 }}\n >\n {yearsCollection.map((year) => {\n return (\n a.year == year).length}\n color=\"#1a73e8\"\n bgColor=\"#e8f0fe\"\n >\n {visualCollection\n .filter((a) => a.year == year)\n .map((x) => {\n let labelDate = x.createdDate != null ? x.createdDate : \"\";\n return (\n \n );\n })}\n \n );\n })}\n \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport Typography from \"@mui/material/Typography\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Button from \"@mui/material/Button\";\nimport PictureAsPdfIcon from \"@mui/icons-material/PictureAsPdf\";\nimport PrintIcon from \"@mui/icons-material/Print\";\nimport GridOnIcon from \"@mui/icons-material/GridOn\";\nimport List from \"@mui/material/List\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { setModalActive, getshowTariff, setSelectedSpecification, setDRGDiagramValues } from \"./publicViewerSlice\";\nimport jsPDF from \"jspdf\";\nimport \"jspdf-autotable\";\nimport XLSX from \"xlsx\";\nimport PdfIcon from \"../../../assets/icons/PdfIcon.svg\";\nimport ExcelIcon from \"../../../assets/icons/ExcelIcon.svg\";\nimport Currency from 'react-currency-formatter';\nimport Link from \"@mui/material/Link\";\n\nexport default function NodeModal() {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.publicViewer);\n const {\n groupCode,\n groupCodeValue,\n dataForModalDialog,\n modalActive,\n selectedVisualID,\n isShowTariff,\n menuItems,\n selectedSpecification,\n subCode,\n visualMenuCollection,\n } = viewer;\n const [items, setItems] = useState(dataForModalDialog ?.groupCodeInfo);\n const [date, setDate] = useState(\"\");\n const [mdcDescription, setMdcDescription] = useState(\"\");\n const { language } = useSelector((state) => state.language);\n\n const handleClose = () => {\n dispatch(setModalActive(false));\n };\n\n const saveAsPDF = () => {\n // initialize jsPDF\n const doc = new jsPDF();\n // define the columns we want and their titles\n const tableColumn = [language == \"dk\" ? \"Kode\" : \"Code\", language == \"dk\" ? \"Beskrivelse\" : \"Description\"];\n // define an empty array of rows\n const tableRows = [];\n items.forEach((item) => {\n const dataToPrint = [item.code, item.desc];\n tableRows.push(dataToPrint);\n });\n //doc.setFont(\"Montserrat\");\n doc.setFontSize(14);\n //title. and margin-top + margin-left\n doc.text(groupCodeValue, 14, 15);\n // startY is margin-top\n doc.autoTable(tableColumn, tableRows, { startY: 20 });\n doc.save(`VisualDRG.pdf`);\n };\n\n const exportToExcel = () => {\n const workSheet = XLSX.utils.json_to_sheet(items);\n const workBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(workBook, workSheet, \"exportedData\");\n //Buffer\n let buf = XLSX.write(workBook, { bookType: \"xlsx\", type: \"buffer\" });\n //Binary string\n XLSX.write(workBook, { bookType: \"xlsx\", type: \"binary\" });\n //Download\n XLSX.writeFile(workBook, \"VisualDRG-Excel.xlsx\");\n };\n\n const handlePrint = () => {\n let popupWin;\n let printContentBody = document.getElementById(\"generateTable\").innerHTML;\n popupWin = window.open(\"\", \"_blank\");\n popupWin.document.open();\n popupWin.document.write(`\n \n \n

    ${date}

    \n Visual DRG\n \n \n
    \n

    ${groupCodeValue}

    \n
    \n \n \n
    \n ${printContentBody}\n
    \n \n `);\n popupWin.document.close();\n };\n\n useEffect(() => {\n dispatch(getshowTariff({ visualID: selectedVisualID, method: \"GET\" }));\n var today = new Date();\n var dd = today.getDate();\n var mm = today.getMonth() + 1;\n var yyyy = today.getFullYear();\n setDate(dd + \"/\" + mm + \"/\" + yyyy);\n }, []);\n\n const requestSearch = (event) => {\n const filteredItems = dataForModalDialog ?.groupCodeInfo.filter((item) => {\n return (\n item.code ?.toLowerCase().includes(event.target.value ?.toLowerCase()) ||\n item.desc ?.toLowerCase().includes(event.target.value ?.toLowerCase())\n );\n });\n setItems(filteredItems);\n };\n\n const drgDescClick = (drg, desc) => {\n // dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n // dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n dispatch(setModalActive(false));\n var link = 0;\n var mdcCode = desc.substring(0, 2);\n var regel = drg.code.replace(\"REGEL\", \"\").trim();\n if ((desc.includes(\"EX\")) && (mdcCode >= 1 && mdcCode <= 27)) link = 2;\n else if (mdcCode > 27) link = 1;\n else if (mdcCode >= 1 && mdcCode <= 27) link = 1;\n else link = 3;\n var selectedSpecification = visualMenuCollection.filter(\n (a) => a.name == mdcCode\n );\n var result = selectedSpecification.map(obj => ({ ...obj, language: language }));\n dispatch(setSelectedSpecification(result[0]));\n let view = \"\";\n if (link == 2) {\n view = \"AdvancedView\";\n } else {\n view = \"SimpleView\";\n }\n dispatch(\n setDRGDiagramValues({ view: view, search: subCode, regel: regel })\n );\n };\n\n function showPriceInfo() {\n if (dataForModalDialog ?.priceInfo ?.length > 0) {\n var mdcDescription = \"\";\n var linkGroupCode = [];\n let formattedData = \"\";\n var mdcCode = dataForModalDialog ?.groupCodeHeader.substring(0, 2);\n if (mdcCode > 27) {\n mdcDescription = menuItems[1][\"value\"].filter(\n (a) => a.name == mdcCode\n )[0].value;\n } else {\n mdcDescription = menuItems[0][\"value\"].filter(\n (a) => a.name == mdcCode\n )[0].value;\n }\n\n var codeInfo = dataForModalDialog ?.groupCodeInfo;\n // for (let i = 0; i < codeInfo ?.length; i++) {\n // formattedData =\n // codeInfo[i].desc.split(\" / \")[0] + \" - \" + mdcDescription;\n // let count = codeInfo[i].desc.split(\" / \").length;\n // for (let j = 1; j < count; j++) {\n // if (codeInfo[i].desc.split(\" / \")[j] != \"\") {\n // formattedData =\n // formattedData + \" / \" + codeInfo[i].desc.split(\" / \")[j];\n // }\n // }\n // linkGroupCode.push({\n // code: codeInfo[i].code,\n // desc: formattedData,\n // });\n // }\n for (let i = 0; i < codeInfo ?.length; i++) {\n var descCollection = [];\n descCollection.push({\n id: 1,\n formattedData:\n codeInfo[i].desc.split(\" / \")[0] + \" - \" + mdcDescription,\n item: codeInfo[i],\n linkValue: codeInfo[i].desc.split(\" / \")[0],\n });\n let count = codeInfo[i].desc.split(\" / \").length;\n for (let j = 1; j < count; j++) {\n if (codeInfo[i].desc.split(\" / \")[j] != \"\") {\n descCollection.push({\n id: j + 1,\n formattedData: codeInfo[i].desc.split(\" / \")[j],\n item: codeInfo[i],\n linkValue: codeInfo[i].desc.split(\" / \")[j],\n });\n }\n }\n linkGroupCode.push({\n id: i,\n item: codeInfo[i],\n code: codeInfo[i].code,\n desc: descCollection,\n });\n }\n return (\n
    \n \n {dataForModalDialog ?.priceInfo.map((x) => {\n let infoText;\n if (x.code == \"Takst\") {\n infoText = t(\"viewer.tariff\");\n } else if (x.code == \"Trimpunkt\") {\n infoText = t(\"viewer.averageStay\");\n } else if (x.code == \"Langliggertakst\") {\n infoText = t(\"viewer.thresholdRate\");\n }\n return (\n
    \n \n \n : \" \"}\n />\n \n
    \n );\n })}\n \n \n {t(\"Global.Total_Rules\")} : {linkGroupCode ?.length}\n \n {/* \n {linkGroupCode ?.map((x) => {\n return (\n
    \n \n \n\n \n \n
    \n );\n })}\n */}\n \n {linkGroupCode.map((row) => {\n return (\n \n \n \n \n );\n })}\n
    \n \n \n {row.desc.map((a) => {\n return (\n <>\n {\n drgDescClick(a.item, a.linkValue);\n }}\n >\n {a.formattedData}\n \n { row.desc.indexOf(a) < row.desc.length - 1 && (   /  )}\n \n );\n })}\n
    \n
    \n );\n } else {\n return (\n
    \n \n {items ?.map((x) => {\n return (\n
    \n \n \n \n \n
    \n );\n })}\n \n
    \n );\n }\n }\n\n return (\n
    \n \n \n
    \n
    \n \n {groupCodeValue}\n \n
    \n
    \n \n {\" \" +\n t(\"Global.total_codes\") + \" : \" +\n dataForModalDialog ?.groupCodeInfo ?.length}\n \n \n {\" \"}\n {/* */}\n \n \n \n {\" \"}\n {/* */}\n \n \n \n {\" \"}\n \n \n\n \n \n \n
    \n
    \n
    \n \n {dataForModalDialog ?.priceInfo != null ? (\"\") : (\n ,\n }}\n />\n )}\n {showPriceInfo()}\n \n \n
    \n \n {items ?.map((x) => {\n return (\n \n \n \n \n );\n })}\n
    \n {x.code}        \n {x.desc}
    \n
    \n
    \n );\n}\n","\nimport * as go from 'gojs';\nimport { ReactDiagram } from 'gojs-react';\nimport * as React from 'react';\nimport { DiagramProps } from './viewerModel'\nimport './Diagram.css';\nimport \"./Viewer.css\";\nimport Modal from 'react-modal';\nimport { store } from \"../../../app/store\";\nimport { testCall, saveCodeValues, getDRGPriceJSON, getMetadataForLogicName, getDRGPopUpJSON, getMDCGroupCodeJSON, getGroupCodeJSON, setModalActive } from \"./publicViewerSlice\";\nimport NodeModal from './NodeModal';\nimport SearchIcon from '@mui/icons-material/Search';\nimport TextField from '@mui/material/TextField';\nimport Typography from \"@mui/material/Typography\";\nimport ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';\nimport ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport TableRow from \"@mui/material/TableRow\";\nimport VisibilityIcon from '@mui/icons-material/Visibility';\nimport { styled } from '@mui/material/styles';\nimport ArrowForwardIosSharpIcon from '@mui/icons-material/ArrowForwardIosSharp';\nimport MuiAccordion from '@mui/material/Accordion';\nimport MuiAccordionSummary from '@mui/material/AccordionSummary';\nimport MuiAccordionDetails from '@mui/material/AccordionDetails';\nimport CancelRoundedIcon from '@mui/icons-material/CancelRounded';\nimport { withTranslation } from 'react-i18next';\n\nconst customStyles = {\n content: {\n top: '13%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n zIndex: 1,\n position: 'absolute',\n background: 'lightYellow',\n border: '1px solid'\n },\n};\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n '&:not(:last-child)': {\n borderBottom: 0,\n },\n '&:before': {\n display: 'none',\n },\n}));\n\nconst AccordionSummary = styled((props) => (\n }\n {...props}\n />\n))(({ theme }) => ({\n backgroundColor:\n theme.palette.mode === 'dark'\n ? 'rgba(255, 255, 255, .05)'\n : 'rgba(0, 0, 0, .03)',\n flexDirection: 'row-reverse',\n '& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {\n transform: 'rotate(90deg)',\n },\n '& .MuiAccordionSummary-content': {\n marginLeft: theme.spacing(1),\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: '1px solid rgba(0, 0, 0, .125)',\n}));\n\n\n class DiagramWrapper extends React.Component {\n /**\n * Ref to keep a reference to the Diagram component, which provides access to the GoJS diagram via getDiagram().\n */\n diagramRef;\n searchNodesArray = [];\n myDiagram;\n myWholeModel;\n state;\n popupText = \"\";\n\n /** @internal */\n constructor(props) {\n super(props);\n this.state = {\n searchValue: '',\n modalIsOpen: false,\n setIsOpen: false,\n metadataCollection: [],\n groupCode: '',\n groupCodeValue: '',\n tableData: [],\n page: 0,\n rowsPerPage: 5,\n expanded: \"Show\",\n regelValue: this.props.regelValue,\n searchVal: this.props.searchValue\n };\n this.updateInputValue = this.updateInputValue.bind(this);\n this.showModalDialog = this.showModalDialog.bind(this);\n this.closeModal = this.closeModal.bind(this);\n this.diagramRef = React.createRef();\n }\n\n componentDidMount() {\n this.invokeSearch(this);\n let value;\n store.subscribe(function () {\n let state = store.getState();\n value = state.publicViewer;\n if (!value.modalActive) {\n var btn = document.getElementById(\"mdCloseBtn\");\n if (btn != null) {\n btn.click();\n }\n }\n });\n\n }\n\n /**\n * Diagram initialization method, which is passed to the ReactDiagram component.\n * This method is responsible for making the diagram and initializing the model, any templates,\n * and maybe doing other initialization tasks like customizing tools.\n * The model's data should not be set here, as the ReactDiagram component handles that.\n */\n initDiagram() {\n const $ = go.GraphObject.make;\n\n function showMessage(str, groupcode, yellowbox, groupCodeVal) {\n\n if (!yellowbox) {\n document.getElementById(\"inputEventsMsg\").textContent = groupcode;\n document.getElementById(\"infoBoxHolder\").textContent = groupCodeVal;\n // console.log(groupCodeVal);\n var btn = document.getElementById(\"mdBtn\");\n if (btn != null) {\n btn.click();\n }\n }\n }\n\n function OffsetLink() {\n go.Link.call(this);\n }\n go.Diagram.inherit(OffsetLink, go.Link);\n OffsetLink.prototype.computeMidOrthoPosition = function (\n fromX,\n fromY,\n toX,\n toY,\n vertical\n ) {\n if (vertical) return toY - 15;\n return go.Link.prototype.computeMidOrthoPosition.call(\n this,\n fromX,\n fromY,\n toX,\n toY,\n vertical\n );\n };\n\n go.Shape.defineFigureGenerator(\"TipOutline\", function (sh, w, h) {\n var alen = 10; // horizontal length of pointer\n var t = h / 8; // breadth (height) of pointer\n var geo = new go.Geometry()\n .add(new go.PathFigure(0, 0, true, true) // filled and shadowed\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, 0))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h / 2 - t))\n .add(new go.PathSegment(go.PathSegment.Line, w, h / 2))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h / 2 + t))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h))\n .add(new go.PathSegment(go.PathSegment.Line, 0, h).close()));\n geo.spot2 = new go.Spot(1, 1, -alen, 0); // content should not overlap right side\n return geo;\n });\n // set your license key here before creating the diagram: go.Diagram.licenseKey = \"...\";\n // go.Diagram.licenseKey = \"73f14fe5b00537c702d90776423d6af919a475609b8417a30b0446f6ef083f1c249cee7101d6d8c6d1fc1efb4f7fc7cbcdc3617ac24c556be76583de47e284a9b73275bb15084788f4032ec5c9f82ef2ab7c79a596b77ea58a2d8ca7ecadc2cc0efae3d21d9a08bb7b280723467dae49b7e4d964fa03\";\n // go.Diagram.licenseKey =\n //\"2bf843e4b76658c511d35a25403e7efb0fab2d3bcf804df7590417a3ec0a3d12229dbd2b51d38cc1d2ab49f81974908dd9c53e7c944f033bb231868e47b6d5ffb63372b315581789f70122c68bea2da9af2d71f791e620a2d87e8cf6e2acc6cb55ebf7d44e9a0aeb2e2d04630676ab4be2f8da7ffe50994f3e3f9da4a9eaab4cfb697280ceec0781eb5977d8baeaa60c247405cf3ca82ca61b6411d9cc43e92be460eca88839\";\n go.Diagram.licenseKey = \"2bf843e4b76658c511d35a25403f7efb0fab2d3bcf804df7590417a3ec0a3d12229dbd2b51d38dc1d2ab49f9086dc6d18e906979c74c516be535d3de13e783ffbb3673b212584786a25324c7caad2ea9ab2c73fbc5e522a28f7f89f3bbfad18c5abda3d248985eba3b6805305676b04ea8f8dc\";\n\n const diagram =\n $(go.Diagram,\n {\n // 'undoManager.isEnabled': true, // must be set to allow for model change listening \n // 'clickCreatingTool.archetypeNodeData': { text: 'new node', color: 'lightblue' }, \n layout: $(go.Layout,\n { isInitial: false, isOngoing: false }),\n model: $(go.GraphLinksModel,\n {\n linkKeyProperty: 'key', // IMPORTANT! must be defined for merges and data sync when using GraphLinksModel\n // positive keys for nodes\n makeUniqueKeyFunction: (m, data) => {\n let k = data.key || 1;\n while (m.findNodeDataForKey(k)) k++;\n data.key = k;\n return k;\n },\n // negative keys for links\n makeUniqueLinkKeyFunction: (m, data) => {\n let k = data.key || -1;\n while (m.findLinkDataForKey(k)) k--;\n data.key = k;\n return k;\n }\n })\n });\n\n // define a simple Node template\n diagram.nodeTemplate =\n\n $(go.Node, \"Auto\",\n { visible: true, movable: false, deletable: false, locationSpot: go.Spot.Center, alignment: go.Spot.Center, },\n { resizable: false },\n { isShadowed: true },\n {\n selectionAdornmentTemplate:\n $(go.Adornment, \"Spot\",\n $(go.Panel, \"Auto\",\n // this Adornment has a rectangular blue Shape around the selected node\n $(go.Shape, { fill: null, stroke: \"dodgerblue\", strokeWidth: 3, strokeDashArray: [4, 2] })\n , $(go.Placeholder)\n )\n\n ) // end Adornment\n },\n\n $(go.Panel, \"Horizontal\",\n {\n visible: true, alignment: go.Spot.Center, defaultAlignment: go.Spot.Center\n },\n $(go.Shape,\n { name: \"SHAPE\", visible: true, alignment: go.Spot.Center },\n new go.Binding(\"cursor\", \"cursor\"),\n new go.Binding(\"geometryString\", \"fig\"),\n new go.Binding(\"figure\", \"fig\"),\n new go.Binding(\"width\", \"width\"),\n new go.Binding(\"height\", \"height\"),\n new go.Binding(\"fill\", \"color\"),\n new go.Binding(\"stroke\", \"isHighlighted\", function (h) { return h ? \"#0d0033\" : \"black\"; }).ofObject(),\n //new go.Binding(\"strokeWidth\", \"isHighlighted\", function(h) { return h ? 2 : 0 }).ofObject(),\n new go.Binding(\"strokeDashArray\", \"isHighlighted\", function (h) { return h ? [4, 2] : [0, 0]; }).ofObject())\n ),\n new go.Binding(\"position\", \"bounds\", function (b) { return b.position; })\n .makeTwoWay(function (p, d) { return new go.Rect(p.x, p.y, d.bounds.width, d.bounds.height); }),\n\n {\n click: function (e, obj) {\n\n\n var data = obj ?.part ?.data;\n //console.log(\"Node Data:\", data);\n showMessage(data.text, data.groupCode, data.yellowbox, data.groupCodeValue);\n // var node = myDiagram.findNodeForKey(obj.part.data.key);\n }\n },\n\n $(go.TextBlock,\n { margin: 1, font: \"normal 9px Montserrat\",stretch: go.GraphObject.Horizontal, maxSize: new go.Size(120, NaN), textAlign: \"center\", alignment: go.Spot.Center, overflow: go.TextBlock.OverflowEllipsis, maxLines: 5 },\n new go.Binding(\"cursor\", \"cursor\"),\n new go.Binding(\"text\", \"text\")),\n {\n toolTip:\n // myToolTip\n $(go.Adornment, \"Spot\",\n new go.Binding(\"visible\", \"tooltip\", function (t, obj) { return (t.length >= 0 && obj.data.leafnode) }),\n { isShadowed: true },\n $(go.Placeholder),\n $(go.Panel, \"Auto\",\n { alignment: go.Spot.TopLeft, alignmentFocus: go.Spot.TopRight, minSize: new go.Size(140, NaN) },\n $(go.Shape, \"TipOutline\",\n { fill: \"white\", stroke: \"gray\", strokeWidth: 0.5, shadowVisible: true }),\n $(go.Panel, \"Table\",\n $(go.RowColumnDefinition, { row: 0, background: \"#F2F1EC\" }),\n $(go.TextBlock,\n { row: 0, margin: 10, stretch: go.GraphObject.Horizontal, font: \"normal 12px Montserrat\", textAlign: \"left\", minSize: new go.Size(140, NaN) },\n new go.Binding(\"text\", \"rownumber\")),\n $(go.TextBlock,\n { row: 1, margin: 10, alignment: go.Spot.Left, font: \"normal 12px Montserrat\", textAlign: \"left\", minSize: new go.Size(140, NaN), visible: false },\n new go.Binding(\"text\", \"tooltip\"),\n new go.Binding(\"visible\", \"tooltip\", function (t) { return !!t; })\n )\n )\n )\n )\n }\n );\n\n // relinking depends on modelData\n diagram.linkTemplate =\n\n $(OffsetLink,\n { routing: go.Link.Orthogonal, corner: 10 },\n // { fromSpot: go.Spot.Bottom, toSpot: go.Spot.Top },\n new go.Binding(\"fromSpot\", \"fromSpot\", go.Spot.parse),\n new go.Binding(\"toSpot\", \"toSpot\", go.Spot.parse),\n $(go.Shape),\n $(go.Shape, { toArrow: \"OpenTriangle\" })\n );\n\n return diagram;\n }\n\n // called whenever on change of search text\n async searchMyDiagram(elm, evt) {\n if (evt.target.value!= null && evt.target.value!= \"\" ) {\n await this.setState({\n searchValue: evt.target.value\n });\n elm.increment = 0;\n this.searchDiagram(elm.regel);\n if (elm.increment > this.searchNodesArray.length) elm.increment = 1;\n var inc = ++elm.increment;\n if (inc > this.searchNodesArray.length) inc = 1;\n\n //document.getElementById(\"counter\").textContent = (inc).toString() + \" of \" + this.searchNodesArray.length.toString();\n if (inc == this.searchNodesArray.length) { this.searchDiagramExtended(this.searchNodesArray.length - 1) }\n else { this.searchDiagramExtended(inc - 1); }\n }\n else if (evt.target.value == \"\") {\n this.closeSearch(this);\n }\n }\n\n searchDiagram(regel) {\n const diagram = this.diagramRef ?.current ?.getDiagram();\n var pt = diagram ?.position;\n var n = null;\n this.searchNodesArray = [];\n\n diagram ?.startTransaction(\"highlight search\");\n if (regel == \"close\") {\n diagram ?.clearHighlighteds();\n diagram ?.clearSelection();\n }\n var xpos = 0;\n var ypos = 0;\n let multipleSelectData = [];\n var ndata = this.props.nodeDataArray;\n if (regel != undefined && regel.length > 0) {\n // var regex1 = new RegExp(input.innerText, \"i\");\n // var alpha1 = diagram.findNodesByExample({regel : regex1});\n }\n else {\n\n var regex = new RegExp(this.state.searchValue, \"i\");\n multipleSelectData = diagram ?.findNodesByExample({ text: regex });\n //console.log(multipleSelectData.count);\n }\n\n for (var i = 0; i < ndata.length; i++) {\n n = ndata[i];\n if (regel != undefined && regel.length > 0 && regel != \"close\") {\n if (n.text.trim().toUpperCase().includes(this.state.searchValue.trim().toUpperCase()) && n.regel == regel) {\n //n.isSelected = true;\n this.searchNodesArray.push(n);\n }\n }\n else {\n if (n.text != undefined && n.text != null && this.state.searchValue != undefined && this.state.searchValue != null) {\n if (n.text.trim().toUpperCase().includes(this.state.searchValue.trim().toUpperCase())) {\n //n.isSelected = true;\n this.searchNodesArray.push(n);\n }\n }\n }\n }\n if (this.searchNodesArray.length > 0) {\n var arrow = document.getElementById(\"arrows\");\n arrow.style.display = \"flex\";\n var searchresult = document.getElementById(\"searchresult\");\n searchresult.style.display = \"inline\";\n var searchresultCaption = document.getElementById(\"searchresultCaption\");\n searchresultCaption.style.display = \"inline\";\n searchresult.textContent = \"Result:\" + this.searchNodesArray.length;\n searchresult.textContent = this.searchNodesArray.length;\n // var btnview = document.getElementById(\"btnview\");\n var searchCounter = document.getElementById(\"counter\");\n searchCounter.style.display = \"inline\";\n var inc = 1;\n document.getElementById(\"counter\").textContent = (inc).toString() + \" of \" + this.searchNodesArray.length.toString();\n // btnview.style.display = \"block\";\n if (regel != undefined && regel.length > 0 && regel != \"close\") {\n n = this.searchNodesArray[0];\n xpos = n.bounds.x;\n ypos = n.bounds.y;\n diagram.position = new go.Point(Math.floor(xpos), Math.floor(ypos));\n diagram?.select(diagram?.findNodeForKey(n.key));\n }\n else\n //diagram.selectCollection(multipleSelectData);\n diagram ?.highlightCollection(multipleSelectData);\n }\n diagram ?.commitTransaction(\"highlight search\");\n this.searchTable();\n }\n\n // called by search previous & next button click\n searchDiagramExtended(increment) {\n const diagram = this.diagramRef.current?.getDiagram();\n var n = null;\n diagram?.startTransaction(\"highlight search\");\n var xpos = 0;\n var ypos = 0;\n if (this.state.searchValue) {\n if (this.searchNodesArray.length > 0) {\n for (var i = increment; i <= this.searchNodesArray.length; i++) {\n n = this.searchNodesArray[i];\n //console.log(n);\n // n.isSelected = true;\n xpos = n.bounds.x;\n ypos = n.bounds.y;\n diagram.position = new go.Point(Math.floor(xpos), Math.floor(ypos));\n diagram?.select(diagram?.findNodeForKey(n.key));\n break;\n }\n }\n }\n else { // empty string only clears highlighteds collection\n diagram?.clearHighlighteds();\n }\n diagram?.commitTransaction(\"highlight search\");\n }\n\n searchDiagramNext(elm) {\n if (elm.increment > this.searchNodesArray.length) elm.increment = 1;\n var inc = ++elm.increment;\n if (inc > this.searchNodesArray.length) inc = 1;\n document.getElementById(\"counter\").textContent = (inc).toString() + \" of \" + this.searchNodesArray.length.toString();\n if (inc == this.searchNodesArray.length) { this.searchDiagramExtended(this.searchNodesArray.length - 1) }\n else { this.searchDiagramExtended(inc - 1); }\n document.getElementById(\"counter\").style.display = \"inline\";\n }\n\n searchDiagramPrevious(elm) {\n if (elm.increment == 0) elm.increment = this.searchNodesArray.length + 1;\n if (elm.increment > this.searchNodesArray.length) elm.increment = this.searchNodesArray.length;\n var inc = --elm.increment;\n if (elm.increment == 0) inc = this.searchNodesArray.length;\n if (inc < 1) inc = 0;\n document.getElementById(\"counter\").textContent = (inc).toString() + \" of \" + this.searchNodesArray.length.toString();\n if (inc == this.searchNodesArray.length) { this.searchDiagramExtended(this.searchNodesArray.length - 1) }\n else { this.searchDiagramExtended(inc - 1); }\n document.getElementById(\"counter\").style.display = \"inline\";\n }\n\n closeSearch(elm) {\n this.searchDiagram('close');\n document.getElementById(\"arrows\").style.display = \"none\";\n document.getElementById(\"searchresult\").style.display = \"none\";\n document.getElementById(\"counter\").style.display = \"none\";\n document.getElementById(\"searchresultCaption\").style.display = \"none\";\n elm.searchvalue = ' ';\n elm.searchvalue = null;\n this.setState({\n searchValue: '',\n tableData: [],\n page: 0,\n rowsPerPage: 5,\n expanded: \"Show\",\n searchVal: '',\n regelValue: ''\n });\n }\n\n updateInputValue(evt) {\n this.setState({\n searchValue: evt.target.value\n });\n }\n\n searchTable() {\n var tablearray = [];\n for (var i = 0; i < this.searchNodesArray.length; i++) {\n var n = this.searchNodesArray[i];\n let group = \"\";\n if (n.leafnode) {\n group = \"CasemixGroup\"\n }\n else {\n group = n.groupCodeText;\n }\n let trvalue = {\n code: n.text.trim().split(\" \")[0],\n desc:\n n.text.trim() + \" / \" + n.groupCodeText + \" / \" + n.DiagramRelation,\n leafnode: n.leafnode,\n group: group,\n description: n.text.trim(),\n rule: n.regel,\n id: i\n };\n tablearray.push(trvalue);\n }\n this.setState({\n tableData: tablearray\n });\n }\n handleChangePage = (event, newPage) => {\n this.setState({\n page: newPage\n });\n\n };\n handleChangeRowsPerPage = (event) => {\n this.setState({\n rowsPerPage: parseInt(event.target.value, 10),\n page: 0\n });\n\n };\n toggleResultsPanel = (event) => {\n if (this.state.expanded == \"Hide\") {\n this.setState({ expanded: \"Show\" });\n } else {\n this.setState({ expanded: \"Hide\" });\n }\n\n }\n\n invokeSearch(elm) {\n\n if (this.state.searchVal != \"\" && this.state.regelValue != \"\") {\n this.setState({\n searchValue: this.state.searchVal,\n expanded: \"Hide\"\n });\n elm.increment = 0;\n this.searchDiagram(this.state.regelValue);\n if (elm.increment > this.searchNodesArray.length) elm.increment = 1;\n var inc = ++elm.increment;\n if (inc > this.searchNodesArray.length) inc = 1;\n if (inc == this.searchNodesArray.length) { setTimeout(() => { this.searchHighlighter(this.searchNodesArray.length - 1); }, 3000); }\n else { setTimeout(() => { this.searchHighlighter(inc - 1); }, 3000); }\n\n }\n }\n searchHighlighter(increment) {\n const diagram = this.diagramRef.current?.getDiagram();\n var n = null;\n diagram?.startTransaction(\"highlight search\");\n var xpos = 0;\n var ypos = 0;\n if (this.state.searchVal != \"\") {\n if (this.searchNodesArray.length > 0) {\n for (var i = increment; i <= this.searchNodesArray.length; i++) {\n n = this.searchNodesArray[i];\n //console.log(n);\n // n.isSelected = true;\n xpos = n.bounds.x;\n ypos = n.bounds.y;\n diagram.position = new go.Point(Math.floor(xpos), Math.floor(ypos));\n diagram?.select(diagram?.findNodeForKey(n.key));\n break;\n }\n }\n }\n else { // empty string only clears highlighteds collection\n diagram?.clearHighlighteds();\n }\n diagram?.commitTransaction(\"highlight search\");\n }\n\n render() {\n const { t } = this.props;\n return (\n
    \n
    \n
    \n this.searchMyDiagram(this, e)}\n sx={{ width: \"100%\" }}\n InputProps={{\n startAdornment: (\n \n ),\n endAdornment: (\n this.closeSearch(this)} />\n ),\n }}\n />\n\n \n Total:\n \n\n \n\n
    \n
    \n\n \n {t(\"viewer.navigate\")} to  \n\n \n    \n this.searchDiagramPrevious(this)} />\n this.searchDiagramNext(this)} />\n\n\n
    \n
    \n\n < Accordion expanded={this.state.expanded == \"Hide\"} onChange={this.toggleResultsPanel} >\n \n {this.state.expanded == \"Hide\"? t(\"viewer.hide\") : t(\"viewer.show\")} {t(\"viewer.result\")}\n \n \n\n \n \n \n \n \n {t(\"viewer.group\")}\n \n \n {t(\"viewer.description\")}\n \n \n {t(\"viewer.rule\")}\n \n \n {t(\"viewer.view\")}\n \n\n \n \n\n \n {this.state.tableData\n .slice(this.state.page * this.state.rowsPerPage, this.state.page * this.state.rowsPerPage + this.state.rowsPerPage)\n .map((row) => {\n return (\n \n \n {row.group}\n \n \n {row.description}\n \n \n {row.rule}\n \n \n this.searchDiagramExtended(row.id)} />\n \n\n \n );\n })}\n \n\n
    \n \n
    \n
    \n \n

    \n
    \n \n
    \n
    \n \n \n\n {this.state.modalIsOpen ? : null}\n
    \n\n
    \n\n );\n }\n\n showModalDialog() {\n this.popupText = \"\";\n var t = document.getElementById(\"infoBoxHolder\");\n if (t != undefined && t != null) {\n this.popupText = t.textContent;\n }\n var groupCode = document.getElementById(\"inputEventsMsg\").textContent;\n var groupCodeValue = document.getElementById(\"infoBoxHolder\").textContent;\n var fields = groupCodeValue?.trim().split(\" \");\n var subCode = fields[0].replace(\"-\", \"\");\n\n store.dispatch(saveCodeValues({ groupCode: groupCode, groupCodeValue: groupCodeValue, subCode: subCode }));\n if (\n subCode.includes(\"AK\") ||\n subCode.includes(\"HJ\") ||\n subCode.includes(\"OP\") ||\n subCode.includes(\"PR\") ||\n subCode.includes(\"SP\") ||\n subCode.includes(\"TE\") ||\n subCode.includes(\"MP\") ||\n subCode.includes(\"MA\") ||\n subCode.includes(\"UA\")\n ) {\n store.dispatch(getDRGPriceJSON()).then(() => {\n store.dispatch(getMetadataForLogicName()).then(() => {\n store.dispatch(getDRGPopUpJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n })\n });\n }\n else {\n store.dispatch(getMetadataForLogicName()).then(() => {\n if (\n groupCode == \"MDC\" ||\n groupCode == \"mdc\"\n ) {\n store.dispatch(getMDCGroupCodeJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n } else {\n store.dispatch(getGroupCodeJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n }\n })\n }\n }\n\n closeModal() {\n this.setState({ modalIsOpen: false });\n }\n}\n\nexport default withTranslation(\"language\")(DiagramWrapper);\n","/*\n * Copyright (C) 1998-2021 by Northwoods Software Corporation. All Rights Reserved.\n */\n\nimport * as go from \"gojs\";\nimport * as React from \"react\";\nimport DiagramWrapper from \"./DiagramWrapper\";\nimport { DiagramState, node, link } from \"./viewerModel\";\nimport \"./Diagram.css\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\n\n// export interface DiagramBaseProps {\n// dataForGoJs: any;\n// searchValue?: string;\n// regelValue?: string;\n// }\nexport class DiagramBase extends React.Component {\n nodearr = [];\n linkarr = [];\n nodeIgnoreText = \"Not allowed\";\n\n constructor(props) {\n super(props);\n this.state = {\n nodeDataArray: this.nodearr,\n linkDataArray: this.linkarr,\n modelData: {\n canRelink: true\n },\n selectedData: null,\n skipsDiagramUpdate: false,\n dataLoaded: false\n };\n }\n\n componentDidMount() {\n\n //console.log(\"dataForGoJs:\", this.props.dataForGoJs);\n var nodeDataArray = JSON.parse(this.props.dataForGoJs.shapeData);\n var linkDataArray = JSON.parse(this.props.dataForGoJs.linkData);\n nodeDataArray.forEach((element) => {\n var nodeText = \"\";\n var cursorType = \"default\";\n if (element.text.length > 80) {\n nodeText = element.text.substring(0, 80) + \"...\";\n } else {\n nodeText = element.text;\n }\n if (element.text.trim().startsWith(\"-\")) {\n nodeText = nodeText.trim().substr(1);\n nodeText = nodeText + \" \" + this.nodeIgnoreText;\n }\n if (element.leafnode == true) {\n var firstSpaceIndex = nodeText.indexOf(\" \");\n var firstWord = nodeText.substring(0, firstSpaceIndex + 1) + \"\\n\";\n var restWords = nodeText.substring(firstSpaceIndex + 1);\n nodeText = firstWord + restWords;\n }\n if (element.yellowbox == false) {\n cursorType = \"pointer\";\n }\n let n = {\n key: element.key,\n text: nodeText,\n bounds: new go.Rect(element.xloc, element.yloc, 160, 100),\n color: element.color,\n fig: element.fig,\n width: element.width,\n height: element.height,\n groupCode: element.groupCode,\n regel: element.rownumber,\n tooltip: element.tooltip,\n yellowbox: element.yellowbox,\n leafnode: element.leafnode,\n rownumber: \"Regel:\" + element.rownumber,\n cursor: cursorType,\n groupCodeValue: element.text,\n loc: new go.Point(element.xloc, element.yloc),\n groupCodeText: element.groupCodeText\n };\n this.nodearr.push(n);\n });\n linkDataArray.forEach((element) => {\n let l = {\n from: element.from,\n to: element.to,\n routing: go.Link.Orthogonal,\n fromSpot: element.fromSpot,\n toSpot: element.toSpot\n };\n this.linkarr.push(l);\n });\n\n this.setState({ dataLoaded: true });\n\n }\n\n render() {\n if (!this.state.dataLoaded) {\n return (\n
    \n \n
    \n );\n }\n\n return (\n
    \n
    \n\n
    \n\n \n
    \n );\n }\n}\n\n","import React, { useState, useEffect } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { getNodesJSON } from \"./publicViewerSlice\";\nimport { DiagramBase } from \"./DiagramBase\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\n\nexport default function ViewerDiagram(props) {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.publicViewer);\n const {\n metadataCollection,\n selectedVisualObj,\n selectedSpecification,\n view,\n isLoading,\n isNodeData,\n dataForGoJs,\n tabValue,\n searchValue,\n regelValue,\n showDRGDiagram,\n } = viewer;\n\n useEffect(() => {\n console.log(\"isLoading:\", isLoading);\n console.log(\"metadataCollection:\", metadataCollection);\n if (!isLoading) {\n let name = \"\";\n let specification = \"\";\n if (selectedSpecification != null) {\n if ((selectedSpecification.groupName === \"MDC Specification\") || (selectedSpecification.groupName === \"MDC Specifikationer\")) {\n specification = \"MDC\";\n } else if ((selectedSpecification.groupName === \"Other Specification\") || (selectedSpecification.groupName === \"Øvrige Specifikationer\")) {\n specification = \"OTHER\";\n } else if (selectedSpecification.groupName === \"Type\") {\n specification = \"TYPE\";\n } else {\n specification = selectedSpecification.groupName;\n }\n name = selectedSpecification.name;\n }\n console.log(\"before dispatch - getNodesJSON \");\n dispatch(\n getNodesJSON({\n logicName: metadataCollection.DRGLogicName,\n logicVersion: metadataCollection.DRGLogicVersion,\n priceName: metadataCollection.DRGPriceName,\n priceVersion: metadataCollection.DRGPriceVersion,\n year: selectedVisualObj.year,\n specification: specification,\n mdc: name,\n viewType: view,\n method: \"GET\",\n })\n );\n }\n }, [isLoading, view, selectedSpecification?.name, showDRGDiagram]);\n\n useEffect(() => {\n console.log(\"Current Value of isNodeData:\", isNodeData);\n }, [isNodeData]);\n\n return (\n
    \n {!isLoading ?(\n
    \n {isNodeData ? (\n \n ) : (\n \n )}\n
    \n ): null}\n
    \n );\n}\n","\nimport * as go from 'gojs';\nimport { ReactDiagram } from 'gojs-react';\nimport * as React from 'react';\nimport { DiagramProps } from './viewerModel'\nimport './Diagram.css';\nimport \"./Viewer.css\";\nimport Modal from 'react-modal';\nimport { store } from \"../../../app/store\";\nimport { testCall, saveCodeValues, getDRGPriceJSON, getMetadataForLogicName, getDRGPopUpJSON, getMDCGroupCodeJSON, getGroupCodeJSON, setModalActive } from \"./publicViewerSlice\";\nimport NodeModal from './NodeModal';\n\n\nconst customStyles = {\n content: {\n top: '13%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n zIndex: 1,\n position: 'absolute',\n background: 'lightYellow',\n border: '1px solid'\n },\n};\n\nexport class DRGDiagramWrapper extends React.Component {\n /**\n * Ref to keep a reference to the Diagram component, which provides access to the GoJS diagram via getDiagram().\n */\n diagramRef;\n searchNodesArray = [];\n myDiagram;\n myWholeModel;\n state;\n popupText = \"\";\n\n /** @internal */\n constructor(props) {\n super(props);\n this.state = {\n searchValue: '',\n modalIsOpen: false,\n setIsOpen: false,\n metadataCollection: [],\n groupCode: '',\n groupCodeValue: '',\n tableData: [],\n page: 0,\n rowsPerPage: 5,\n expanded: \"Show\",\n regelValue: this.props.regelValue,\n searchVal: this.props.searchValue\n };\n this.showModalDialog = this.showModalDialog.bind(this);\n this.closeModal = this.closeModal.bind(this);\n this.diagramRef = React.createRef();\n }\n\n componentDidMount() {\n\n let value;\n store.subscribe(function () {\n let state = store.getState();\n value = state.publicViewer;\n if (!value.modalActive) {\n var btn = document.getElementById(\"mdCloseBtn\");\n if (btn != null) {\n btn.click();\n }\n }\n });\n\n }\n\n /**\n * Diagram initialization method, which is passed to the ReactDiagram component.\n * This method is responsible for making the diagram and initializing the model, any templates,\n * and maybe doing other initialization tasks like customizing tools.\n * The model's data should not be set here, as the ReactDiagram component handles that.\n */\n initDiagram(){\n const $ = go.GraphObject.make;\n\n function showMessage(str, groupcode, yellowbox, groupCodeVal) {\n\n if (!yellowbox) {\n document.getElementById(\"inputEventsMsg\").textContent = groupcode;\n document.getElementById(\"infoBoxHolder\").textContent = groupCodeVal;\n // console.log(groupCodeVal);\n var btn = document.getElementById(\"mdBtn\");\n if (btn != null) {\n btn.click();\n }\n }\n }\n\n function OffsetLink() {\n go.Link.call(this);\n }\n go.Diagram.inherit(OffsetLink, go.Link);\n OffsetLink.prototype.computeMidOrthoPosition = function (\n fromX,\n fromY,\n toX,\n toY,\n vertical\n ) {\n if (vertical) return toY - 15;\n return go.Link.prototype.computeMidOrthoPosition.call(\n this,\n fromX,\n fromY,\n toX,\n toY,\n vertical\n );\n };\n\n go.Shape.defineFigureGenerator(\"TipOutline\", function (sh, w, h) {\n var alen = 10; // horizontal length of pointer\n var t = h / 8; // breadth (height) of pointer\n var geo = new go.Geometry()\n .add(new go.PathFigure(0, 0, true, true) // filled and shadowed\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, 0))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h / 2 - t))\n .add(new go.PathSegment(go.PathSegment.Line, w, h / 2))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h / 2 + t))\n .add(new go.PathSegment(go.PathSegment.Line, w - alen, h))\n .add(new go.PathSegment(go.PathSegment.Line, 0, h).close()));\n geo.spot2 = new go.Spot(1, 1, -alen, 0); // content should not overlap right side\n return geo;\n });\n // set your license key here before creating the diagram: go.Diagram.licenseKey = \"...\";\n // go.Diagram.licenseKey = \"73f14fe5b00537c702d90776423d6af919a475609b8417a30b0446f6ef083f1c249cee7101d6d8c6d1fc1efb4f7fc7cbcdc3617ac24c556be76583de47e284a9b73275bb15084788f4032ec5c9f82ef2ab7c79a596b77ea58a2d8ca7ecadc2cc0efae3d21d9a08bb7b280723467dae49b7e4d964fa03\";\n // go.Diagram.licenseKey =\n //\"2bf843e4b76658c511d35a25403e7efb0fab2d3bcf804df7590417a3ec0a3d12229dbd2b51d38cc1d2ab49f81974908dd9c53e7c944f033bb231868e47b6d5ffb63372b315581789f70122c68bea2da9af2d71f791e620a2d87e8cf6e2acc6cb55ebf7d44e9a0aeb2e2d04630676ab4be2f8da7ffe50994f3e3f9da4a9eaab4cfb697280ceec0781eb5977d8baeaa60c247405cf3ca82ca61b6411d9cc43e92be460eca88839\";\n go.Diagram.licenseKey = \"2bf843e4b76658c511d35a25403f7efb0fab2d3bcf804df7590417a3ec0a3d12229dbd2b51d38dc1d2ab49f9086dc6d18e906979c74c516be535d3de13e783ffbb3673b212584786a25324c7caad2ea9ab2c73fbc5e522a28f7f89f3bbfad18c5abda3d248985eba3b6805305676b04ea8f8dc\";\n\n const diagram =\n $(go.Diagram,\n {\n // 'undoManager.isEnabled': true, // must be set to allow for model change listening \n // 'clickCreatingTool.archetypeNodeData': { text: 'new node', color: 'lightblue' }, \n layout: $(go.Layout,\n { isInitial: false, isOngoing: false }),\n model: $(go.GraphLinksModel,\n {\n linkKeyProperty: 'key', // IMPORTANT! must be defined for merges and data sync when using GraphLinksModel\n // positive keys for nodes\n makeUniqueKeyFunction: (m, data) => {\n let k = data.key || 1;\n while (m.findNodeDataForKey(k)) k++;\n data.key = k;\n return k;\n },\n // negative keys for links\n makeUniqueLinkKeyFunction: (m, data) => {\n let k = data.key || -1;\n while (m.findLinkDataForKey(k)) k--;\n data.key = k;\n return k;\n }\n })\n });\n\n // define a simple Node template\n diagram.nodeTemplate =\n\n $(go.Node, \"Auto\",\n { visible: true, movable: false, deletable: false, locationSpot: go.Spot.Center, alignment: go.Spot.Center, },\n { resizable: false },\n { isShadowed: true },\n {\n selectionAdornmentTemplate:\n $(go.Adornment, \"Spot\",\n $(go.Panel, \"Auto\",\n // this Adornment has a rectangular blue Shape around the selected node\n $(go.Shape, { fill: null, stroke: \"dodgerblue\", strokeWidth: 3, strokeDashArray: [4, 2] })\n , $(go.Placeholder)\n )\n\n ) // end Adornment\n },\n\n $(go.Panel, \"Horizontal\",\n {\n visible: true, alignment: go.Spot.Center, defaultAlignment: go.Spot.Center\n },\n $(go.Shape,\n { name: \"SHAPE\", visible: true, alignment: go.Spot.Center },\n new go.Binding(\"cursor\", \"cursor\"),\n new go.Binding(\"geometryString\", \"fig\"),\n new go.Binding(\"figure\", \"fig\"),\n new go.Binding(\"width\", \"width\"),\n new go.Binding(\"height\", \"height\"),\n new go.Binding(\"fill\", \"color\"),\n new go.Binding(\"stroke\", \"isHighlighted\", function (h) { return h ? \"#0d0033\" : \"black\"; }).ofObject(),\n //new go.Binding(\"strokeWidth\", \"isHighlighted\", function(h) { return h ? 2 : 0 }).ofObject(),\n new go.Binding(\"strokeDashArray\", \"isHighlighted\", function (h) { return h ? [4, 2] : [0, 0]; }).ofObject())\n ),\n new go.Binding(\"position\", \"bounds\", function (b) { return b.position; })\n .makeTwoWay(function (p, d) { return new go.Rect(p.x, p.y, d.bounds.width, d.bounds.height); }),\n\n {\n click: function (e, obj) {\n\n\n var data = obj?.part?.data;\n //console.log(\"Node Data:\", data);\n showMessage(data.text, data.groupCode, data.yellowbox, data.groupCodeValue);\n // var node = myDiagram.findNodeForKey(obj.part.data.key);\n }\n },\n\n $(go.TextBlock,\n { margin: 1, font: \"normal 9px Montserrat\",stretch: go.GraphObject.Horizontal, maxSize: new go.Size(120, NaN), textAlign: \"center\", alignment: go.Spot.Center, overflow: go.TextBlock.OverflowEllipsis, maxLines: 5},\n new go.Binding(\"cursor\", \"cursor\"),\n new go.Binding(\"text\", \"text\")),\n {\n toolTip:\n // myToolTip\n $(go.Adornment, \"Spot\",\n new go.Binding(\"visible\", \"tooltip\", function (t, obj) { return (t.length >= 0 && obj.data.leafnode) }),\n { isShadowed: true },\n $(go.Placeholder),\n $(go.Panel, \"Auto\",\n { alignment: go.Spot.TopLeft, alignmentFocus: go.Spot.TopRight, minSize: new go.Size(140, NaN) },\n $(go.Shape, \"TipOutline\",\n { fill: \"white\", stroke: \"gray\", strokeWidth: 0.5, shadowVisible: true }),\n $(go.Panel, \"Table\",\n $(go.RowColumnDefinition, { row: 0, background: \"#F2F1EC\" }),\n $(go.TextBlock,\n { row: 0, margin: 10, stretch: go.GraphObject.Horizontal, font: \"normal 12px Montserrat\", textAlign: \"left\", minSize: new go.Size(140, NaN) },\n new go.Binding(\"text\", \"rownumber\")),\n $(go.TextBlock,\n { row: 1, margin: 10, alignment: go.Spot.Left, font: \"normal 12px Montserrat\", textAlign: \"left\", minSize: new go.Size(140, NaN), visible: false },\n new go.Binding(\"text\", \"tooltip\"),\n new go.Binding(\"visible\", \"tooltip\", function (t) { return !!t; })\n )\n )\n )\n )\n }\n );\n\n // relinking depends on modelData\n diagram.linkTemplate =\n\n $(OffsetLink,\n { routing: go.Link.Orthogonal, corner: 10 },\n // { fromSpot: go.Spot.Bottom, toSpot: go.Spot.Top },\n new go.Binding(\"fromSpot\", \"fromSpot\", go.Spot.parse),\n new go.Binding(\"toSpot\", \"toSpot\", go.Spot.parse),\n $(go.Shape),\n $(go.Shape, { toArrow: \"OpenTriangle\" })\n );\n\n return diagram;\n }\n\n render() {\n return (\n
    \n\n
    \n \n
    \n
    \n \n \n\n {this.state.modalIsOpen ? : null}\n
    \n\n
    \n\n );\n }\n\n showModalDialog() {\n this.popupText = \"\";\n var t = document.getElementById(\"infoBoxHolder\");\n if (t != undefined && t != null) {\n this.popupText = t.textContent;\n }\n var groupCode = document.getElementById(\"inputEventsMsg\").textContent;\n var groupCodeValue = document.getElementById(\"infoBoxHolder\").textContent;\n var fields = groupCodeValue?.trim().split(\" \");\n var subCode = fields[0].replace(\"-\", \"\");\n\n store.dispatch(saveCodeValues({ groupCode: groupCode, groupCodeValue: groupCodeValue, subCode: subCode }));\n if (\n subCode.includes(\"AK\") ||\n subCode.includes(\"HJ\") ||\n subCode.includes(\"OP\") ||\n subCode.includes(\"PR\") ||\n subCode.includes(\"SP\") ||\n subCode.includes(\"TE\") ||\n subCode.includes(\"MP\") ||\n subCode.includes(\"MA\") ||\n subCode.includes(\"UA\")\n ) {\n store.dispatch(getDRGPriceJSON()).then(() => {\n store.dispatch(getMetadataForLogicName()).then(() => {\n store.dispatch(getDRGPopUpJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n })\n });\n }\n else {\n store.dispatch(getMetadataForLogicName()).then(() => {\n if (\n groupCode == \"MDC\" ||\n groupCode == \"mdc\"\n ) {\n store.dispatch(getMDCGroupCodeJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n } else {\n store.dispatch(getGroupCodeJSON()).then(() => {\n store.dispatch(setModalActive(true));\n this.setState({ modalIsOpen: true });\n });\n }\n })\n }\n }\n\n closeModal() {\n this.setState({ modalIsOpen: false });\n }\n}\n\n\n","/*\n * Copyright (C) 1998-2021 by Northwoods Software Corporation. All Rights Reserved.\n */\n\nimport * as go from \"gojs\";\nimport * as React from \"react\";\nimport { DRGDiagramWrapper } from \"./DRGDiagramWrapper\";\nimport { DiagramState, node, link } from \"./viewerModel\";\nimport \"./Diagram.css\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\n\n// export interface DiagramBaseProps {\n// dataForGoJs: any;\n// }\nexport class DRGDiagramBase extends React.Component {\n nodearr = [];\n linkarr = [];\n nodeIgnoreText = \"Not allowed\";\n\n constructor(props) {\n super(props);\n this.state = {\n nodeDataArray: this.nodearr,\n linkDataArray: this.linkarr,\n modelData: {\n canRelink: true\n },\n selectedData: null,\n skipsDiagramUpdate: false,\n dataLoaded: false\n };\n }\n\n componentDidMount() {\n\n //console.log(\"dataForGoJs:\", this.props.dataForGoJs);\n var nodeDataArray = JSON.parse(this.props.dataForGoJs.shapeData);\n var linkDataArray = JSON.parse(this.props.dataForGoJs.linkData);\n nodeDataArray.forEach((element) => {\n var nodeText = \"\";\n var cursorType = \"default\";\n if (element.text.length > 80) {\n nodeText = element.text.substring(0, 80) + \"...\";\n } else {\n nodeText = element.text;\n }\n if (element.text.trim().startsWith(\"-\")) {\n nodeText = nodeText.trim().substr(1);\n nodeText = nodeText + \" \" + this.nodeIgnoreText;\n }\n if (element.leafnode == true) {\n var firstSpaceIndex = nodeText.indexOf(\" \");\n var firstWord = nodeText.substring(0, firstSpaceIndex + 1) + \"\\n\";\n var restWords = nodeText.substring(firstSpaceIndex + 1);\n nodeText = firstWord + restWords;\n }\n if (element.yellowbox == false) {\n cursorType = \"pointer\";\n }\n let n = {\n key: element.key,\n text: nodeText,\n bounds: new go.Rect(element.xloc, element.yloc, 160, 100),\n color: element.color,\n fig: element.fig,\n width: element.width,\n height: element.height,\n groupCode: element.groupCode,\n regel: element.rownumber,\n tooltip: element.tooltip,\n yellowbox: element.yellowbox,\n leafnode: element.leafnode,\n rownumber: \"Regel:\" + element.rownumber,\n cursor: cursorType,\n groupCodeValue: element.text,\n loc: new go.Point(element.xloc, element.yloc),\n groupCodeText: element.groupCodeText\n };\n this.nodearr.push(n);\n });\n linkDataArray.forEach((element) => {\n let l = {\n from: element.from,\n to: element.to,\n routing: go.Link.Orthogonal,\n fromSpot: element.fromSpot,\n toSpot: element.toSpot\n };\n this.linkarr.push(l);\n });\n\n this.setState({ dataLoaded: true });\n\n }\n\n render() {\n if (!this.state.dataLoaded) {\n return (\n
    \n \n
    \n );\n }\n\n return (\n
    \n
    \n\n
    \n\n \n
    \n );\n }\n}\n\n","import React, { useState, useEffect } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { DRGDiagramBase } from \"./DRGDiagramBase\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\n\nexport default function FullDiagram(props) {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.publicViewer);\n const { isDrgData, drgDataForGoJs } = viewer;\n\n return (\n
    \n {isDrgData ? (\n \n ) : (\n \n )}\n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport Divider from \"@mui/material/Divider\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport Box from \"@mui/material/Box\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport Typography from \"@mui/material/Typography\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport List from \"@mui/material/List\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Link from \"@mui/material/Link\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport Paper from \"@mui/material/Paper\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport ViewerDiagram from \"./ViewerDiagram\";\nimport DRGDiagram from \"./DRGDiagram\";\nimport Currency from 'react-currency-formatter';\nimport {\n getMetadata,\n getMetadataForLogicName,\n getDRGTypeSpecifications,\n setDRGSelected,\n getDRGPopUpJSON,\n getshowTariff,\n getDRGPriceJSON,\n setDRGLoading,\n getDRGDiagramData,\n setSelectedSpecification,\n setView,\n setDRGDiagramValues,\n getDRGTypeSpecificationsSearch,\n setResetValues,\n} from \"./publicViewerSlice\";\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n \n \n \n {labelText}\n \n {labelInfo === \"Selected\" ? (\n \n ) : null}\n \n {labelInfo}\n \n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nexport default function DRG() {\n const [searchValue, setSearchValue] = useState(\"\");\n const [selectedValue, setSelectedValue] = useState(\"\");\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.publicViewer);\n const {\n selectedVisualObj,\n selectedVisualID,\n selectedVisualName,\n selectedVisualYear,\n drgTypeTree,\n drgSpecificationsTree,\n menuItems,\n drgSelectedName,\n subCode,\n drgGroupCodeCollection,\n drgPriceInfoCollection,\n drgLoading,\n drgDataLoading,\n visualMenuCollection,\n selectedSpecification,\n view,\n showDRGDiagram,\n showRegelDiagram,\n isDRGSearch,\n drgSearchTree,\n isShowDRG,\n isShowTariff\n } = viewer;\n const { language } = useSelector((state) => state.language);\n\n useEffect(() => {\n if (selectedVisualObj) {\n dispatch(setDRGLoading({ name: \"drgLoading\", value: true }));\n dispatch(\n getMetadata({\n method: \"GET\",\n name: selectedVisualObj.visualName,\n version: selectedVisualObj.visualVersion,\n year: selectedVisualObj.year,\n })\n ).then(() => {\n dispatch(\n getMetadataForLogicName({\n method: \"GET\",\n year: selectedVisualObj.year,\n })\n ).then(() => {\n dispatch(getDRGTypeSpecifications({ method: \"GET\" })).then(() => {\n dispatch(setDRGLoading({ name: \"drgLoading\", value: false }));\n });\n });\n });\n }\n }, []);\n\n const handleSearch = (event) => {\n setSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n dispatch(\n getDRGTypeSpecificationsSearch({\n method: \"GET\",\n search: event.target.value ?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setDRGLoading({ name: \"drgSearch\", value: true }));\n });\n }\n else if (event.target.value == \"\") {\n dispatch(setDRGLoading({ name: \"sksSearch\", value: false }));\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n }\n };\n const closeSearch = () => {\n setSearchValue(\"\");\n dispatch(setDRGLoading({ name: \"drgSearch\", value: false }));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n };\n\n const handleTreeSelection = (obj) => () => {\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n setSelectedValue(obj.id);\n dispatch(setDRGSelected({ code: obj.id, name: obj.name }));\n dispatch(setDRGLoading({ name: \"drgDataLoading\", value: true }));\n dispatch(getDRGPopUpJSON()).then(() => {\n dispatch(\n getshowTariff({ visualID: selectedVisualID, method: \"GET\" })\n ).then(() => {\n dispatch(getDRGPriceJSON()).then(() => {\n dispatch(setDRGLoading({ name: \"drgDataLoading\", value: false }));\n });\n });\n });\n };\n const handleRegelClick = (drg) => {\n //console.log(\"showRegelDiagram clicked:\", drg);\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: true }));\n var regel = drg.code.replace(\"REGEL\", \"\").trim();\n var filter1 = drg.desc.split(\" / \")[0];\n var filter = filter1.substring(0, 2).trim() + \"C00\";\n var column = \"DIAGRAM1\";\n dispatch(\n getDRGDiagramData({\n method: \"GET\",\n filter: filter,\n regel: regel,\n column: column,\n })\n );\n };\n\n function displayRegelDiagram() {\n if (showRegelDiagram) {\n return ;\n } else {\n return null;\n }\n }\n\n const drgDescClick = (drg, desc) => {\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n var link = 0;\n var mdcCode = desc.substring(0, 2);\n var regel = drg.code.replace(\"REGEL\", \"\").trim();\n if ((desc.includes(\"EX\")) && (mdcCode >= 1 && mdcCode <= 27)) link = 2;\n else if (mdcCode > 27) link = 1;\n else if (mdcCode >= 1 && mdcCode <= 27) link = 1;\n else link = 3;\n var selectedSpecification = visualMenuCollection.filter(\n (a) => a.name == mdcCode\n );\n\n dispatch(setSelectedSpecification(selectedSpecification[0]));\n let view = \"\";\n if (link == 2) {\n view = \"AdvancedView\";\n } else {\n view = \"SimpleView\";\n }\n dispatch(\n setDRGDiagramValues({ view: view, search: selectedValue, regel: regel })\n );\n };\n const handleViewChange = (e) => {\n dispatch(setResetValues());\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setView(e.target.value));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: true }));\n };\n\n const handleSpecification = (event, value) => {\n // if (value ?.groupName == \"Full Logic\" || value ?.groupName == \"Komplet logik\" || value ?.groupName == \"Other Specification\" || value ?.groupName == \"Øvrige Specifikationer\" || value ?.groupName == \"Type\" ) {\n // dispatch(setView(\"SimpleView\"));\n // }\n dispatch(setView(\"SimpleView\"));\n dispatch(setResetValues());\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setSelectedSpecification(value));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: true }));\n };\n function displayDRGDiagram() {\n if (selectedSpecification != null && showDRGDiagram) {\n return (\n
    \n
    \n
    \n \n {selectedSpecification ?.value}\n \n
    \n
    \n \n {t(\"viewer.simpleView\")}\n {(selectedSpecification ?.groupName == \"MDC Specification\" ||\n selectedSpecification ?.groupName == \"MDC Specifikationer\") && (\n \n {t(\"viewer.advancedView\")}\n \n )}\n \n option.groupName}\n getOptionLabel={(option) => option.displayName}\n sx={{ width: 300, paddingLeft: \"20px\" }}\n onChange={handleSpecification}\n value={selectedSpecification}\n renderInput={(params) => (\n \n )}\n />\n
    \n
    \n \n \n
    \n );\n } else {\n return null;\n }\n }\n function generateGroupCodeTable() {\n if (drgPriceInfoCollection ?.length > 0) {\n var mdcDescription = \"\";\n var linkGroupCode = [];\n var mdcCode = subCode.substring(0, 2);\n if (menuItems.length > 0) {\n if (mdcCode > 27) {\n var tempArray = menuItems[1];\n var temp = tempArray ?.value ?.filter((a) => a.name == mdcCode)[0];\n mdcDescription = temp ?.value;\n } else {\n var tempArray = menuItems[0];\n var temp = tempArray ?.value ?.filter((a) => a.name == mdcCode)[0];\n mdcDescription = temp ?.value;\n }\n }\n\n var codeInfo = drgGroupCodeCollection;\n for (let i = 0; i < codeInfo ?.length; i++) {\n var descCollection = [];\n descCollection.push({\n id: 1,\n formattedData:\n codeInfo[i].desc.split(\" / \")[0] + \" - \" + mdcDescription,\n item: codeInfo[i],\n linkValue: codeInfo[i].desc.split(\" / \")[0],\n });\n let count = codeInfo[i].desc.split(\" / \").length;\n for (let j = 1; j < count; j++) {\n if (codeInfo[i].desc.split(\" / \")[j] != \"\") {\n descCollection.push({\n id: j + 1,\n formattedData: codeInfo[i].desc.split(\" / \")[j],\n item: codeInfo[i],\n linkValue: codeInfo[i].desc.split(\" / \")[j],\n });\n }\n }\n linkGroupCode.push({\n id: i,\n item: codeInfo[i],\n code: codeInfo[i].code,\n desc: descCollection,\n });\n }\n\n return (\n
    \n \n {t(\"Global.Total_Rules\")}: {drgGroupCodeCollection ?.length}\n \n \n {linkGroupCode.map((row) => {\n return (\n \n \n \n \n );\n })}\n
    \n {\n handleRegelClick(row.item);\n }}\n >\n {row.code}\n \n \n {row.desc.map((a) => {\n return (\n <>\n {\n drgDescClick(a.item, a.linkValue);\n }}\n >\n {a.formattedData}\n \n { row.desc.indexOf(a) < row.desc.length - 1 && (   /  )}\n \n );\n })}\n
    \n
    \n );\n }\n }\n\n return (\n
    \n {drgLoading ? (\n
    \n theme.zIndex.drawer + 1,\n }}\n open={drgLoading}\n >\n \n \n
    \n ) : (\n
    \n \n \n ,\n endAdornment: (\n \n ),\n }}\n />\n {isDRGSearch ? (\n
    \n }\n defaultExpandIcon={}\n defaultEndIcon={
    }\n sx={{\n height: \"100%\",\n flexGrow: 1,\n maxWidth: \"95%\",\n width: \"95%\",\n paddingTop: \"10px\",\n }}\n >\n {drgSearchTree ?.map((b) => {\n return (\n \n );\n })}\n \n
    \n ) : (\n
    \n }\n defaultExpandIcon={}\n defaultEndIcon={
    }\n sx={{\n height: \"100%\",\n flexGrow: 1,\n maxWidth: \"95%\",\n width: \"95%\",\n paddingTop: \"10px\",\n }}\n >\n \n {drgTypeTree ?.map((x) => {\n return (\n \n {x ?.children ?.map((b) => {\n return (\n \n );\n })}\n \n );\n })}\n \n \n {drgSpecificationsTree ?.map((x) => {\n return (\n \n {x ?.children ?.map((b) => {\n return (\n \n );\n })}\n \n );\n })}\n \n \n
    \n )}\n \n \n \n \n {t(\"viewer.drg_details\")}\n \n {drgDataLoading ? (\n \n \n \n ) : (\n
    \n {isShowDRG && (\n
    \n \n {drgSelectedName}\n \n \n {drgPriceInfoCollection ?.map((x) => {\n let infoText;\n if (x.code == \"Takst\") {\n infoText = t(\"viewer.tariff\");\n } else if (x.code == \"Trimpunkt\") {\n infoText = t(\"viewer.averageStay\");\n } else if (x.code == \"Langliggertakst\") {\n infoText = t(\"viewer.thresholdRate\");\n }\n return (\n
    \n \n \n\n : \"\"}\n />\n \n
    \n );\n })}\n \n\n {generateGroupCodeTable()}\n
    \n )}\n
    \n )}\n
    \n \n \n {displayDRGDiagram()}\n {showRegelDiagram ? displayRegelDiagram() : null}\n
    \n )}\n
    \n );\n}\n","import React from \"react\";\nimport \"./Viewer.css\";\nimport { styled } from \"@mui/material/styles\";\nimport PropTypes from \"prop-types\";\nimport TreeView from \"@mui/lab/TreeView\";\nimport TreeItem, { treeItemClasses } from \"@mui/lab/TreeItem\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport DoneIcon from \"@mui/icons-material/Done\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getMetadata,\n getMetadataForLogicName,\n getAllParentSKS,\n setChildrenNode,\n getSKSTable,\n setSKSSelected,\n setDRGLoading,\n setPagination,\n} from \"./publicViewerSlice\";\n\nconst StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({\n color: theme.palette.text.secondary,\n [`& .${treeItemClasses.content}`]: {\n color: theme.palette.text.secondary,\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n /* paddingRight: theme.spacing(1),\n fontWeight: theme.typography.fontWeightMedium,\n \"&.Mui-expanded\": {\n fontWeight: theme.typography.fontWeightRegular,\n }, */\n \"&:hover\": {\n backgroundColor: theme.palette.action.hover,\n },\n \"&.Mui-focused, &.Mui-selected, &.Mui-selected.Mui-focused\": {\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: \"var(--tree-view-color)\",\n },\n /* [`& .${treeItemClasses.label}`]: {\n fontWeight: \"inherit\",\n color: \"inherit\",\n },\n },\n [`& .${treeItemClasses.group}`]: {\n marginLeft: 0,\n [`& .${treeItemClasses.content}`]: {\n paddingLeft: theme.spacing(2),\n },\n }, */\n },\n}));\n\nfunction StyledTreeItem(props) {\n const {\n bgColor,\n color,\n labelIcon: LabelIcon,\n labelInfo,\n labelText,\n ...other\n } = props;\n\n return (\n }\n collapseIcon={}\n label={\n \n \n \n {labelText}\n \n {labelInfo === \"Selected\" ? (\n \n ) : null}\n {labelInfo === \"Selected\" ? (\n \n {labelInfo}\n \n ) : (\n \n {labelInfo}\n \n )}\n \n }\n style={{\n \"--tree-view-color\": color,\n \"--tree-view-bg-color\": bgColor,\n }}\n {...other}\n />\n );\n}\n\nStyledTreeItem.propTypes = {\n bgColor: PropTypes.string,\n color: PropTypes.string,\n labelIcon: PropTypes.elementType.isRequired,\n labelInfo: PropTypes.string,\n labelText: PropTypes.string.isRequired,\n};\n\nconst { useState, useCallback } = React;\n\nfunction MyTreeItem(props) {\n const { t, i18n } = useTranslation(\"language\");\n const [childNodes, setChildNodes] = useState(null);\n const [expanded, setExpanded] = React.useState([]);\n // const [selectedValue, setSelectedValue] = useState(\"\");\n const dispatch = useDispatch();\n const viewer = useSelector((state) => state.publicViewer);\n const {\n selectedVisualObj,\n sksParentCollection,\n sksChildrenCollection,\n sksSelectedId,\n } = viewer;\n const { id, name, node } = props;\n\n const handleChange = (event, nodes) => {\n console.log(\"Nodes:\", nodes);\n const expandingNodes = nodes.filter((x) => !expanded.includes(x));\n console.log(\"expandingNodes:\", expandingNodes);\n setExpanded(nodes);\n if (expandingNodes[0]) {\n const parentId = expandingNodes[0];\n if (node.hasChildren) {\n dispatch(setChildrenNode(true));\n dispatch(getAllParentSKS({ method: \"GET\", parentId: parentId })).then(\n (res) => {\n console.log(\"Res:\", res);\n\n setChildNodes(\n res?.payload?.map((node) => (\n \n ))\n );\n }\n );\n }\n }\n };\n const handleTreeSelection = (obj) => () => {\n console.log(\"Selected tree item:\", obj);\n if (\n obj.isLeaf.toLowerCase() == \"true\" ||\n obj.isSelectable.toLowerCase() == \"true\"\n ) {\n dispatch(setSKSSelected(obj));\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(getSKSTable({ method: \"GET\", code: obj.code })).then(() => {\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: true }));\n dispatch(setPagination({ page: 0, rowsPerPage: 5 }));\n });\n }\n };\n let labelInfo = \"\";\n let bgColor = \"#fff\";\n if (node.isSelectable.toLowerCase() == \"true\" && id === sksSelectedId) {\n labelInfo = t(\"viewer.selected\");\n bgColor = \"#e8f0fe\";\n } else if (node.isSelectable.toLowerCase() == \"true\") {\n labelInfo = t(\"viewer.select\");\n }\n\n return (\n }\n defaultExpandIcon={}\n expanded={expanded}\n onNodeToggle={handleChange}\n sx={{ width: \"99%\" }}\n >\n {/*The node below should act as the root node for now */}\n }\n collapseIcon={}\n onClick={handleTreeSelection(node)}\n >\n {node.isLeaf.toLowerCase() == \"true\"\n ? childNodes\n : childNodes || [
    ]}\n \n \n );\n}\n\nexport default function SKSTreeView(props) {\n const dispatch = useDispatch();\n const viewer = useSelector((state) => state.publicViewer);\n const { sksParentCollection, sksSearchTree, isSKSSearch } = viewer;\n if (props.search && isSKSSearch) {\n return (\n
    \n {sksSearchTree?.map((b) => {\n return ;\n })}\n
    \n );\n } else {\n return (\n
    \n {sksParentCollection?.map((b) => {\n return ;\n })}\n
    \n );\n }\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport { styled } from \"@mui/material/styles\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport TextField from \"@mui/material/TextField\";\nimport CancelRoundedIcon from \"@mui/icons-material/CancelRounded\";\nimport Typography from \"@mui/material/Typography\";\nimport Divider from \"@mui/material/Divider\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell, { tableCellClasses } from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport Paper from \"@mui/material/Paper\";\nimport PropTypes from \"prop-types\";\nimport Box from \"@mui/material/Box\";\nimport Collapse from \"@mui/material/Collapse\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport ViewerDiagram from \"./ViewerDiagram\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getMetadata,\n getMetadataForLogicName,\n getAllParentSKS,\n setChildrenNode,\n setDRGLoading,\n getSKSCodeDiagramData,\n getSKSSearch,\n resetSKS,\n setPagination,\n setResetValues,\n setView,\n setSelectedSpecification\n} from \"./publicViewerSlice\";\nimport SKSTreeView from \"./SKSTreeView\";\nimport DRGDiagram from \"./DRGDiagram\";\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nfunction Row(props) {\n const { row } = props;\n const [open, setOpen] = React.useState(true);\n const [collapseOpen, setCollapseOpen] = React.useState(false);\n const [expandValue, setExpandValue] = React.useState(\"\");\n const dispatch = useDispatch();\n const viewer = useSelector((state) => state.publicViewer);\n const { showRegelDiagram, isExpandedValue } = viewer;\n\n const rowExpand = (sks) => {\n // setExpandValue(sks.regel);\n if (sks.regel == isExpandedValue) {\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false, expandedValue: \"\" }));\n } else {\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: true, expandedValue: sks.regel }));\n dispatch(\n getSKSCodeDiagramData({\n method: \"GET\",\n drgGroup: sks.drGgroup,\n regel: sks.regel,\n })\n );\n }\ndispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n // setOpen(!open);\n };\n\n function displayRegelDiagram() {\n if (showRegelDiagram) {\n return ;\n } else {\n return null;\n }\n }\n\n return (\n \n *\": { borderBottom: \"unset\" },\n borderTop: \"1px solid rgba(224, 224, 224, 1)\",\n }}\n >\n \n rowExpand(row)}\n >\n {row.regel == isExpandedValue ? : }\n \n \n {row.regel}\n {row.characteristic}\n {row.propertyType}\n {row.propertyName}\n {row.drGgroup}\n {row.drgName}\n \n \n \n \n \n {showRegelDiagram ? displayRegelDiagram() : null}\n \n \n \n \n \n );\n}\n\nexport default function SKSCodes() {\n const [searchValue, setSearchValue] = useState(\"\");\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const viewer = useSelector((state) => state.publicViewer);\n const {\n selectedVisualObj,\n sksLoading,\n sksSelectedName,\n sksMapData,\n isSKSSearch,\n showSKSTable,\n page,\n rowsPerPage,\n selectedSpecification,\n showDRGDiagram,\n visualMenuCollection,\n view,\n } = viewer;\n\n useEffect(() => {\n if (selectedVisualObj) {\n dispatch(setDRGLoading({ name: \"sksLoading\", value: true }));\n dispatch(\n getMetadata({\n method: \"GET\",\n name: selectedVisualObj.visualName,\n version: selectedVisualObj.visualVersion,\n year: selectedVisualObj.year,\n })\n ).then(() => {\n dispatch(\n getMetadataForLogicName({\n method: \"GET\",\n year: selectedVisualObj.year,\n })\n ).then(() => {\n dispatch(getAllParentSKS({ method: \"GET\" })).then(() => {\n dispatch(setDRGLoading({ name: \"sksLoading\", value: false }));\n });\n });\n });\n }\n return () => {\n setSearchValue(\"\");\n dispatch(resetSKS());\n }\n }, []);\n const handleChangePage = (event, newPage) => {\n dispatch(setPagination({ page: newPage, rowsPerPage: rowsPerPage }));\n };\n const handleChangeRowsPerPage = (event) => {\n dispatch(setPagination({ page: 0, rowsPerPage: event.target.value }));\n };\n const handleSearch = (event) => {\n setSearchValue(event.target.value);\n if (event.target.value.length > 2) {\n setTimeout(() => {\n dispatch(\n getSKSSearch({\n method: \"GET\",\n search: event.target.value ?.toLowerCase(),\n })\n ).then(() => {\n dispatch(setDRGLoading({ name: \"sksSearch\", value: true }));\n });\n }, 1000);\n }\n else if (event.target.value == \"\") {\n dispatch(setDRGLoading({ name: \"sksSearch\", value: false }));\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false })); \n }\n };\n const closeSearch = () => {\n setSearchValue(\"\");\n dispatch(setDRGLoading({ name: \"sksSearch\", value: false }));\n dispatch(setDRGLoading({ name: \"showSKSTable\", value: false }));\n dispatch(setDRGLoading({ name: \"showRegelDiagram\", value: false }));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false })); \n };\n\n const handleViewChange = (e) => {\n dispatch(setResetValues());\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setView(e.target.value));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: true }));\n };\n\n const handleSpecification = (event, value) => {\n // if (value ?.groupName == \"Full Logic\" || value ?.groupName == \"Komplet logik\" || value ?.groupName == \"Other Specification\" || value ?.groupName == \"Øvrige Specifikationer\" || value ?.groupName == \"Type\" ) {\n // dispatch(setView(\"SimpleView\"));\n // }\n dispatch(setView(\"SimpleView\"));\n dispatch(setResetValues());\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: false }));\n dispatch(setSelectedSpecification(value));\n dispatch(setDRGLoading({ name: \"showDRGDiagram\", value: true }));\n };\n\n function displayDRGDiagram() {\n if (selectedSpecification != null && showDRGDiagram) {\n return (\n
    \n
    \n
    \n \n {selectedSpecification ?.value}\n \n
    \n
    \n \n {t(\"viewer.simpleView\")}\n {(selectedSpecification ?.groupName == \"MDC Specification\" ||\n selectedSpecification ?.groupName == \"MDC Specifikationer\") && (\n \n {t(\"viewer.advancedView\")}\n \n )}\n \n option.groupName}\n getOptionLabel={(option) => option.displayName}\n sx={{ width: 300, paddingLeft: \"20px\" }}\n onChange={handleSpecification}\n value={selectedSpecification}\n renderInput={(params) => (\n \n )}\n />\n
    \n
    \n \n \n
    \n );\n } else {\n return null;\n }\n }\n\n return (\n
    \n {sksLoading ? (\n
    \n theme.zIndex.drawer + 1,\n }}\n open={sksLoading}\n >\n \n \n
    \n ) : (\n
    \n \n ,\n endAdornment: (\n \n ),\n }}\n />\n {isSKSSearch ? : }\n \n \n\n {showSKSTable ? (\n
    \n \n {t(\"Global.SKS_Code_Details\")}\n \n \n \n \n \n \n \n {sksSelectedName}
    \n {sksMapData != null ? sksMapData.length : \"\"}\n   {t(\"Global.Total\")}\n
    \n
    \n \n \n {t(\"viewer.rule\")}\n {t(\"Global.Characteristic\")}\n {t(\"Global.Property_Type\")}\n {t(\"Global.Property_Name\")}\n {t(\"Global.drgGroup\")}\n {t(\"Global.drgName\")}\n \n
    \n \n {sksMapData != null\n ? sksMapData\n .slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage\n )\n .map((row) => )\n : \"\"}\n \n
    \n \n
    \n
    \n
    \n ) : null}\n
    \n )}\n \n {displayDRGDiagram()}\n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport VisualSelectionTree from \"./VisualSelectionTree\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n setVisualDetails,\n getVisualMenus,\n setSelectedSpecification,\n getZipFile,\n setSelectedFileToDownload,\n clearValues,\n errorMessageClose,\n setView,\n getMetadata,\n setTabValue,\n setEnvironment,\n getCountries,\n GetVisualFrontPageContent,\n setSelectedVisual,\n setPanel,\n GetVisualDatabyId,\n setResetValues,\n resetViewer,\n} from \"./publicViewerSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { saveAs } from \"file-saver\";\nimport ViewerDiagram from \"./ViewerDiagram\";\nimport DRG from \"./DRG\";\nimport SKSCodes from \"./SKSCodes\";\nimport { redirectToLogin } from \"../../authentication/authenticationSlice\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport { styled } from \"@mui/material/styles\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport parse from 'html-react-parser';\nimport IQVIALogo from \"../../../assets/logos/logo-iqvia.svg\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { languageChanged } from \"../../../translations/languageSlice\";\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nexport default function ViewerTest() {\n const [open, setOpen] = useState(false);\n const [displayDiagram, setDisplayDiagram] = useState(false);\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const { language } = useSelector((state) => state.language);\n const [languageVal, setLanguageVal] = useState(\"1\");\n const viewer = useSelector((state) => state.publicViewer);\n const {\n selectedVisualObj,\n selectedVisualID,\n selectedVisualName,\n selectedVisualYear,\n enableTabs,\n visualMenuCollection,\n selectedSpecification,\n blobToDownload,\n selectedFileType,\n fileNotExists,\n view,\n tabValue,\n metadataCollection,\n countries,\n visualCollection,\n yearsCollection,\n viewerFrontPageContent,\n introInfoPanel,\n isHourGlass,\n isValidData,\n isInvalidData\n } = viewer;\n const queryParams = new URLSearchParams(window.location.search);\n const viewerId = queryParams.get(\"id\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Test\"));\n dispatch(getCountries({ method: \"GET\" }));\n let url = \"Public/GetVisualDatabyId?id=\" + viewerId;\n dispatch(GetVisualDatabyId({ method: \"GET\", url: url })).then(() => {\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n dispatch(getVisualMenus({ method: \"GET\" }));\n });\n return () => {\n dispatch(resetViewer());\n }\n }, []);\n\n useEffect(() => {\n if (Object.entries(selectedVisualObj).length != 0) {\n dispatch(getVisualMenus({ method: \"GET\", id: selectedVisualObj.id }));\n }\n if (selectedSpecification ?.name == \"Full Logic\" && language == \"en\") {\n dispatch(setSelectedSpecification({\n displayName: \"Full Logic\",\n groupName: \"Full Logic\",\n name: \"Full Logic\",\n value: \"Full Logic\",\n language: \"en\",\n }\n ));\n }\n else if (selectedSpecification ?.name == \"Full Logic\" && language == \"dk\") {\n dispatch(setSelectedSpecification({\n displayName: \"Komplet logik\",\n groupName: \"Komplet logik\",\n name: \"Full Logic\",\n value: \"Komplet logik\",\n language: \"dk\",\n }\n ));\n }\n }, [language])\n\n const handlePanelChange = (panel) => (event, newExpanded) => {\n dispatch(setPanel(panel));\n };\n\n const handleChange = (event, newValue) => {\n dispatch(setTabValue(newValue));\n //setValue(newValue);\n };\n const handleClose = () => {\n setOpen(false);\n };\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedVisualObj) {\n dispatch(\n setVisualDetails({\n id: selectedVisualObj.id,\n name: selectedVisualObj.visualName,\n year: selectedVisualObj.year,\n })\n );\n }\n dispatch(setTabValue(\"viewerMap\"));\n setOpen(false);\n dispatch(getVisualMenus({ method: \"GET\", id: selectedVisualObj.id }));\n };\n\n const handleDownload = (e) => {\n e.preventDefault();\n var eventValue = e.currentTarget.value;\n dispatch(setSelectedFileToDownload(eventValue));\n switch (eventValue) {\n case \"News\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"VisualNews\";\n break;\n case \"Guidance\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"VisualGuide\";\n break;\n case \"Codes\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"InterneKoderPdfFile\";\n break;\n }\n dispatch(getZipFile({ url: url, method: \"GET\" }));\n };\n const handleViewChange = (e) => {\n setDisplayDiagram(false);\n dispatch(setResetValues());\n dispatch(setView(e.target.value));\n if (metadataCollection != null) {\n setDisplayDiagram(true);\n }\n };\n\n const handleSpecification = (event, value) => {\n // if (value ?.groupName == \"Full Logic\" || value ?.groupName == \"Komplet logik\" || value ?.groupName == \"Other Specification\" || value ?.groupName == \"Øvrige Specifikationer\" || value ?.groupName == \"Type\" ) {\n // dispatch(setView(\"SimpleView\"));\n // }\n dispatch(setView(\"SimpleView\"));\n dispatch(setResetValues());\n dispatch(setSelectedSpecification(value));\n if (value != null) {\n dispatch(\n getMetadata({\n method: \"GET\",\n name: selectedVisualObj.visualName,\n version: selectedVisualObj.visualVersion,\n year: selectedVisualObj.year,\n })\n );\n setDisplayDiagram(true);\n }\n };\n function loadDiagram() {\n if (displayDiagram) {\n return ;\n } else {\n return
    ;\n }\n }\n function loadTabContent() {\n if (enableTabs) {\n return (\n \n \n \n \n \n \n \n \n \n
    \n
    \n \n {selectedSpecification ?.value}\n \n
    \n
    \n \n \n {t(\"viewer.simpleView\")}\n \n {(selectedSpecification ?.groupName == \"MDC Specification\" ||\n selectedSpecification ?.groupName == \"MDC Specifikationer\") && (\n \n {t(\"viewer.advancedView\")}\n \n )}\n \n option.groupName}\n getOptionLabel={(option) => option.displayName}\n sx={{ width: 300, paddingLeft: \"20px\" }}\n onChange={handleSpecification}\n renderInput={(params) => (\n \n )}\n />\n
    \n
    \n \n {loadDiagram()}\n
    \n \n \n \n \n \n \n
    \n );\n }\n }\n\n if (blobToDownload && selectedFileType) {\n switch (selectedFileType) {\n case \"News\":\n saveAs(blobToDownload, \"Visual News.pdf\");\n break;\n case \"Guidance\":\n saveAs(blobToDownload, \"Visual Guidance.pdf\");\n break;\n case \"Codes\":\n saveAs(blobToDownload, \"InterneKoder.xlsx\");\n break;\n }\n dispatch(clearValues());\n }\n\n if (!viewer.isSessionValid) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n if (value) {\n const result = visualCollection.filter((item) => {\n return item.year == value;\n })[0];\n dispatch(setSelectedVisual(result));\n dispatch(\n setVisualDetails({\n id: result.id,\n name: result.visualName,\n year: result.year,\n })\n );\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n dispatch(getVisualMenus({ method: \"GET\" }));\n }\n };\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n // localStorage.setItem(\"language\", language.name);\n dispatch(\n languageChanged({\n language: language.name,\n })\n );\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n {country.language}\n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n
    \n \n {t(\"viewer.Viwer\")}\n \n
    \n
    \n \n \n {t(\"viewer.news\")} (PDF)\n \n \n \n {t(\"viewer.guidance\")} (PDF)\n \n \n \n {t(\"viewer.internalCodes\")} (XLS)\n \n
    \n
    \n \n
    \n \n
    \n \n {t(\"Manager.Year\")}: {selectedVisualYear}\n \n \n {t(\"Manager_Common.Name\")}: {selectedVisualName}\n \n {/* \n {selectedVisualName == \"\"\n ? \"Select the visual file\"\n : selectedVisualName + \" - \" + selectedVisualYear}\n \n {\n setOpen(true);\n }}\n >\n {t(\"Global.open_file\")}\n */}\n
    \n \n {viewerFrontPageContent != \"\" &&\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n Introduction\n \n
    \n \n \n
    \n {parse(viewerFrontPageContent)}\n
    \n
    \n
    \n }\n \n {loadTabContent()}\n
    \n
    \n \n \n {t(\"publisher.Open_Viewer_File\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n
    \n dispatch(errorMessageClose())}\n >\n dispatch(errorMessageClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"viewer.fileNotExists\")}\n \n \n
    \n )}\n {isInvalidData && (\n
    The link you accessed has no data or expired
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isHourGlass}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport VisualSelectionTree from \"./VisualSelectionTree\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n setVisualDetails,\n getVisualMenus,\n setSelectedSpecification,\n getZipFile,\n setSelectedFileToDownload,\n clearValues,\n errorMessageClose,\n setView,\n getMetadata,\n setTabValue,\n setEnvironment,\n getCountries,\n GetVisualFrontPageContent,\n setSelectedVisual,\n setPanel,\n GetAllProductionVisual,\n setResetValues,\n resetViewer,\n} from \"./publicViewerSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { saveAs } from \"file-saver\";\nimport ViewerDiagram from \"./ViewerDiagram\";\nimport DRG from \"./DRG\";\nimport SKSCodes from \"./SKSCodes\";\nimport { redirectToLogin } from \"../../authentication/authenticationSlice\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport { styled } from \"@mui/material/styles\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport parse from \"html-react-parser\";\nimport Logo from \"../../../assets/logos/drg-logo.png\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { languageChanged } from \"../../../translations/languageSlice\";\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nexport default function ViewerHearing() {\n const [open, setOpen] = useState(false);\n const [displayDiagram, setDisplayDiagram] = useState(false);\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const { language } = useSelector((state) => state.language);\n const [languageVal, setLanguageVal] = useState(\"2\");\n const viewer = useSelector((state) => state.publicViewer);\n const {\n selectedVisualObj,\n selectedVisualID,\n selectedVisualName,\n selectedVisualYear,\n enableTabs,\n visualMenuCollection,\n selectedSpecification,\n blobToDownload,\n selectedFileType,\n fileNotExists,\n view,\n tabValue,\n metadataCollection,\n countries,\n visualCollection,\n yearsCollection,\n viewerFrontPageContent,\n introInfoPanel,\n isHourGlass,\n isValidData,\n isInvalidData,\n } = viewer;\n const queryParams = new URLSearchParams(window.location.search);\n const viewerId = queryParams.get(\"id\");\n\n useEffect(() => {\n dispatch(setEnvironment(\"Production\"));\n dispatch(getCountries({ method: \"GET\" }));\n let url = \"Public/GetAllProductionVisual?isHearing=true\";\n dispatch(GetAllProductionVisual({ method: \"GET\", url: url })).then(() => {\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n dispatch(getVisualMenus({ method: \"GET\" }));\n });\n return () => {\n dispatch(resetViewer());\n };\n }, []);\n\n useEffect(() => {\n if (Object.entries(selectedVisualObj).length != 0) {\n dispatch(getVisualMenus({ method: \"GET\", id: selectedVisualObj.id }));\n }\n if (selectedSpecification?.name == \"Full Logic\" && language == \"en\") {\n dispatch(\n setSelectedSpecification({\n displayName: \"Full Logic\",\n groupName: \"Full Logic\",\n name: \"Full Logic\",\n value: \"Full Logic\",\n language: \"en\",\n })\n );\n } else if (\n selectedSpecification?.name == \"Full Logic\" &&\n language == \"dk\"\n ) {\n dispatch(\n setSelectedSpecification({\n displayName: \"Komplet logik\",\n groupName: \"Komplet logik\",\n name: \"Full Logic\",\n value: \"Komplet logik\",\n language: \"dk\",\n })\n );\n }\n }, [language]);\n\n const handlePanelChange = (panel) => (event, newExpanded) => {\n dispatch(setPanel(panel));\n };\n\n const handleChange = (event, newValue) => {\n dispatch(setTabValue(newValue));\n //setValue(newValue);\n };\n const handleClose = () => {\n setOpen(false);\n };\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedVisualObj) {\n dispatch(\n setVisualDetails({\n id: selectedVisualObj.id,\n name: selectedVisualObj.visualName,\n year: selectedVisualObj.year,\n })\n );\n }\n dispatch(setTabValue(\"viewerMap\"));\n setOpen(false);\n dispatch(getVisualMenus({ method: \"GET\", id: selectedVisualObj.id }));\n };\n\n const handleDownload = (e) => {\n e.preventDefault();\n var eventValue = e.currentTarget.value;\n dispatch(setSelectedFileToDownload(eventValue));\n switch (eventValue) {\n case \"News\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"VisualNews\";\n break;\n case \"Guidance\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"VisualGuide\";\n break;\n case \"Codes\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"InterneKoderPdfFile\";\n break;\n }\n dispatch(getZipFile({ url: url, method: \"GET\" }));\n };\n const handleViewChange = (e) => {\n setDisplayDiagram(false);\n dispatch(setResetValues());\n dispatch(setView(e.target.value));\n if (metadataCollection != null) {\n setDisplayDiagram(true);\n }\n };\n\n const handleSpecification = (event, value) => {\n // if (value ?.groupName == \"Full Logic\" || value ?.groupName == \"Komplet logik\" || value ?.groupName == \"Other Specification\" || value ?.groupName == \"Øvrige Specifikationer\" || value ?.groupName == \"Type\" ) {\n // dispatch(setView(\"SimpleView\"));\n // }\n dispatch(setView(\"SimpleView\"));\n dispatch(setResetValues());\n dispatch(setSelectedSpecification(value));\n if (value != null) {\n dispatch(\n getMetadata({\n method: \"GET\",\n name: selectedVisualObj.visualName,\n version: selectedVisualObj.visualVersion,\n year: selectedVisualObj.year,\n })\n );\n setDisplayDiagram(true);\n }\n };\n function loadDiagram() {\n if (displayDiagram) {\n return ;\n } else {\n return
    ;\n }\n }\n function loadTabContent() {\n if (enableTabs) {\n return (\n \n \n \n \n \n \n \n \n \n
    \n
    \n \n {selectedSpecification?.value}\n \n
    \n
    \n \n \n {t(\"viewer.simpleView\")}\n \n {(selectedSpecification?.groupName == \"MDC Specification\" ||\n selectedSpecification?.groupName ==\n \"MDC Specifikationer\") && (\n \n {t(\"viewer.advancedView\")}\n \n )}\n \n option.groupName}\n getOptionLabel={(option) => option.displayName}\n sx={{ width: 300, paddingLeft: \"20px\" }}\n onChange={handleSpecification}\n renderInput={(params) => (\n \n )}\n />\n
    \n
    \n \n {loadDiagram()}\n
    \n \n \n \n \n \n \n
    \n );\n }\n }\n\n if (blobToDownload && selectedFileType) {\n switch (selectedFileType) {\n case \"News\":\n saveAs(blobToDownload, \"Visual News.pdf\");\n break;\n case \"Guidance\":\n saveAs(blobToDownload, \"Visual Guidance.pdf\");\n break;\n case \"Codes\":\n saveAs(blobToDownload, \"InterneKoder.xlsx\");\n break;\n }\n dispatch(clearValues());\n }\n\n if (!viewer.isSessionValid) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n if (value) {\n const result = visualCollection.filter((item) => {\n return item.year == value;\n })[0];\n dispatch(setSelectedVisual(result));\n dispatch(\n setVisualDetails({\n id: result.id,\n name: result.visualName,\n year: result.year,\n })\n );\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n dispatch(getVisualMenus({ method: \"GET\" }));\n }\n };\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n // localStorage.setItem(\"language\", language.name);\n dispatch(\n languageChanged({\n language: language.name,\n })\n );\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n \n {country.name === \"en\"\n ? t(\"contentUpload.english\")\n : t(\"contentUpload.danish\")}\n \n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n
    \n \n {t(\"viewer.Viwer\")}\n \n
    \n
    \n \n \n {t(\"viewer.news\")} (PDF)\n \n \n \n {t(\"viewer.guidance\")} (PDF)\n \n \n \n {t(\"viewer.internalCodes\")} (XLS)\n \n
    \n
    \n \n
    \n \n
    \n \n {t(\"publisher.Hearing\")}\n \n \n {t(\"Manager.Year\")}: {selectedVisualYear}\n \n {/* \n {selectedVisualName == \"\"\n ? \"Select the visual file\"\n : selectedVisualName + \" - \" + selectedVisualYear}\n \n {\n setOpen(true);\n }}\n >\n {t(\"Global.open_file\")}\n */}\n
    \n \n {viewerFrontPageContent != \"\" && (\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"Global.introduction\")}\n \n
    \n \n \n
    \n {parse(viewerFrontPageContent)}\n
    \n
    \n
    \n )}\n \n {loadTabContent()}\n
    \n
    \n \n \n {t(\"publisher.Open_Viewer_File\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n
    \n dispatch(errorMessageClose())}\n >\n dispatch(errorMessageClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"viewer.fileNotExists\")}\n \n \n
    \n )}\n {isInvalidData && (\n
    \n {\" \"}\n \n {\" \"}\n The link you accessed has no data or expired{\" \"}\n \n
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isHourGlass}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport \"./Viewer.css\";\nimport Paper from \"@mui/material/Paper\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Divider from \"@mui/material/Divider\";\nimport Box from \"@mui/material/Box\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport Link from \"@mui/material/Link\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport Alert from \"@mui/material/Alert\";\nimport VisualSelectionTree from \"./VisualSelectionTree\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n setVisualDetails,\n getVisualMenus,\n setSelectedSpecification,\n getZipFile,\n setSelectedFileToDownload,\n clearValues,\n errorMessageClose,\n setView,\n getMetadata,\n setTabValue,\n setEnvironment,\n getCountries,\n GetAllProductionVisual,\n GetVisualFrontPageContent,\n setSelectedVisual,\n setPanel,\n setResetValues,\n resetViewer,\n} from \"./publicViewerSlice\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { saveAs } from \"file-saver\";\nimport ViewerDiagram from \"./ViewerDiagram\";\nimport DRG from \"./DRG\";\nimport SKSCodes from \"./SKSCodes\";\nimport { redirectToLogin } from \"../.././authentication/authenticationSlice\";\nimport MuiAccordion from \"@mui/material/Accordion\";\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\nimport { styled } from \"@mui/material/styles\";\nimport MuiGrid from \"@mui/material/Grid\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport parse from \"html-react-parser\";\nimport Logo from \"../../../assets/logos/drg-logo.png\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { languageChanged } from \"../../../translations/languageSlice\";\n\nconst Accordion = styled((props) => (\n \n))(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n}));\n\nconst AccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({\n backgroundColor: \"#fff\",\n flexDirection: \"row-reverse\",\n \"& .MuiAccordionSummary-expandIconWrapper.Mui-expanded\": {\n transform: \"rotate(90deg)\",\n },\n \"& .MuiAccordionSummary-content\": {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n}));\n\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\n padding: theme.spacing(2),\n borderTop: \"1px solid rgba(0, 0, 0, .125)\",\n}));\n\nconst Grid = styled(MuiGrid)(({ theme }) => ({\n width: \"100%\",\n ...theme.typography.body2,\n '& [role=\"separator\"]': {\n margin: theme.spacing(0, 2),\n },\n}));\n\nexport default function ViewerProd() {\n const [open, setOpen] = useState(false);\n const [displayDiagram, setDisplayDiagram] = useState(false);\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation(\"language\");\n const { language } = useSelector((state) => state.language);\n const [languageVal, setLanguageVal] = useState(\"2\");\n const viewer = useSelector((state) => state.publicViewer);\n const {\n selectedVisualObj,\n selectedVisualID,\n selectedVisualName,\n selectedVisualYear,\n enableTabs,\n visualMenuCollection,\n selectedSpecification,\n blobToDownload,\n selectedFileType,\n fileNotExists,\n view,\n tabValue,\n metadataCollection,\n countries,\n visualCollection,\n yearsCollection,\n viewerFrontPageContent,\n introInfoPanel,\n isHourGlass,\n isValidData,\n isInvalidData,\n } = viewer;\n\n useEffect(() => {\n dispatch(setEnvironment(\"Production\"));\n dispatch(getCountries({ method: \"GET\" }));\n let url = \"Public/GetAllProductionVisual?isHearing=false\";\n dispatch(GetAllProductionVisual({ method: \"GET\", url: url })).then(() => {\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n dispatch(getVisualMenus({ method: \"GET\" }));\n });\n return () => {\n dispatch(resetViewer());\n };\n }, []);\n\n useEffect(() => {\n if (Object.entries(selectedVisualObj).length != 0) {\n dispatch(getVisualMenus({ method: \"GET\", id: selectedVisualObj.id }));\n }\n if (selectedSpecification?.name == \"Full Logic\" && language == \"en\") {\n dispatch(\n setSelectedSpecification({\n displayName: \"Full Logic\",\n groupName: \"Full Logic\",\n name: \"Full Logic\",\n value: \"Full Logic\",\n language: \"en\",\n })\n );\n } else if (\n selectedSpecification?.name == \"Full Logic\" &&\n language == \"dk\"\n ) {\n dispatch(\n setSelectedSpecification({\n displayName: \"Komplet logik\",\n groupName: \"Komplet logik\",\n name: \"Full Logic\",\n value: \"Komplet logik\",\n language: \"dk\",\n })\n );\n }\n }, [language]);\n\n const handlePanelChange = (panel) => (event, newExpanded) => {\n dispatch(setPanel(panel));\n };\n\n const handleChange = (event, newValue) => {\n dispatch(setTabValue(newValue));\n //setValue(newValue);\n };\n const handleClose = () => {\n setOpen(false);\n };\n const handleOpen = (e) => {\n e.preventDefault();\n if (selectedVisualObj) {\n dispatch(\n setVisualDetails({\n id: selectedVisualObj.id,\n name: selectedVisualObj.visualName,\n year: selectedVisualObj.year,\n })\n );\n }\n dispatch(setTabValue(\"viewerMap\"));\n setOpen(false);\n dispatch(getVisualMenus({ method: \"GET\", id: selectedVisualObj.id }));\n };\n\n const handleDownload = (e) => {\n e.preventDefault();\n var eventValue = e.currentTarget.value;\n dispatch(setSelectedFileToDownload(eventValue));\n switch (eventValue) {\n case \"News\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"VisualNews\";\n break;\n case \"Guidance\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"VisualGuide\";\n break;\n case \"Codes\":\n var url =\n \"Public/DownloadPdfFiles?Id=\" +\n selectedVisualObj.id +\n \"&selectionType=\" +\n \"Visual\" +\n \"&selectedOption=\" +\n \"InterneKoderPdfFile\";\n break;\n }\n dispatch(getZipFile({ url: url, method: \"GET\" }));\n };\n const handleViewChange = (e) => {\n setDisplayDiagram(false);\n dispatch(setResetValues());\n dispatch(setView(e.target.value));\n if (metadataCollection != null) {\n setDisplayDiagram(true);\n }\n };\n\n const handleSpecification = (event, value) => {\n // if (value ?.groupName == \"Full Logic\" || value ?.groupName == \"Komplet logik\" || value ?.groupName == \"Other Specification\" || value ?.groupName == \"Øvrige Specifikationer\" || value ?.groupName == \"Type\" ) {\n // dispatch(setView(\"SimpleView\"));\n // }\n dispatch(setView(\"SimpleView\"));\n dispatch(setResetValues());\n dispatch(setSelectedSpecification(value));\n if (value != null) {\n dispatch(\n getMetadata({\n method: \"GET\",\n name: selectedVisualObj.visualName,\n version: selectedVisualObj.visualVersion,\n year: selectedVisualObj.year,\n })\n );\n setDisplayDiagram(true);\n }\n };\n function loadDiagram() {\n if (displayDiagram) {\n return ;\n } else {\n return
    ;\n }\n }\n function loadTabContent() {\n if (enableTabs) {\n return (\n \n \n \n \n \n \n \n \n \n
    \n
    \n \n {selectedSpecification?.value}\n \n
    \n
    \n \n \n {t(\"viewer.simpleView\")}\n \n {(selectedSpecification?.groupName == \"MDC Specification\" ||\n selectedSpecification?.groupName ==\n \"MDC Specifikationer\") && (\n \n {t(\"viewer.advancedView\")}\n \n )}\n \n option.groupName}\n getOptionLabel={(option) => option.displayName}\n sx={{ width: 300, paddingLeft: \"20px\" }}\n onChange={handleSpecification}\n renderInput={(params) => (\n \n )}\n />\n
    \n
    \n \n {loadDiagram()}\n
    \n \n \n \n \n \n \n
    \n );\n }\n }\n\n if (blobToDownload && selectedFileType) {\n switch (selectedFileType) {\n case \"News\":\n saveAs(blobToDownload, \"Visual News.pdf\");\n break;\n case \"Guidance\":\n saveAs(blobToDownload, \"Visual Guidance.pdf\");\n break;\n case \"Codes\":\n saveAs(blobToDownload, \"InterneKoder.xlsx\");\n break;\n }\n dispatch(clearValues());\n }\n\n if (!viewer.isSessionValid) {\n dispatch(redirectToLogin({ isAuthorised: false }));\n }\n\n const handleYearSelect = (e) => {\n const value = e.target.value;\n if (value) {\n const result = visualCollection.filter((item) => {\n return item.year == value;\n })[0];\n dispatch(setTabValue(\"viewerMap\"));\n dispatch(setSelectedVisual(result));\n dispatch(\n setVisualDetails({\n id: result.id,\n name: result.visualName,\n year: result.year,\n })\n );\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n dispatch(getVisualMenus({ method: \"GET\" }));\n }\n };\n\n function handleLanguageChange(val) {\n if (countries != null && countries.length > 0) {\n var language = countries.find((x) => x.id == val);\n setLanguageVal(val);\n i18n.changeLanguage(language.name);\n // localStorage.setItem(\"language\", language.name);\n dispatch(\n languageChanged({\n language: language.name,\n })\n );\n dispatch(GetVisualFrontPageContent({ method: \"GET\" }));\n }\n }\n\n return (\n
    \n {isValidData && (\n
    \n
    \n
    \n \"Logo\"\n
    \n
    \n handleLanguageChange(event.target.value)}\n value={languageVal}\n >\n {countries ? (\n countries.map((country) => (\n \n {country.name === \"en\"\n ? t(\"contentUpload.english\")\n : t(\"contentUpload.danish\")}\n \n ))\n ) : (\n
    \n )}\n \n
    \n
    \n \n
    \n
    \n \n {t(\"viewer.Viwer\")}\n \n
    \n
    \n \n \n {t(\"viewer.news\")} (PDF)\n \n \n \n {t(\"viewer.guidance\")} (PDF)\n \n \n \n {t(\"viewer.internalCodes\")} (XLS)\n \n
    \n
    \n \n
    \n \n
    \n \n {yearsCollection.map((year) => {\n return (\n \n {year}\n \n );\n })}\n \n {/* \n {selectedVisualName == \"\"\n ? \"Select the visual file\"\n : selectedVisualName + \" - \" + selectedVisualYear}\n \n {\n setOpen(true);\n }}\n >\n {t(\"Global.open_file\")}\n */}\n
    \n \n {viewerFrontPageContent != \"\" && (\n \n \n }\n sx={{\n padding: \"0px !important\",\n cursor: \"default !important\",\n }}\n >\n
    \n \n {t(\"Global.introduction\")}\n \n
    \n \n \n
    \n {parse(viewerFrontPageContent)}\n
    \n
    \n
    \n )}\n \n {loadTabContent()}\n
    \n
    \n \n \n {t(\"publisher.Open_Viewer_File\")}\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n
    \n dispatch(errorMessageClose())}\n >\n dispatch(errorMessageClose())}\n severity=\"error\"\n sx={{ width: \"100%\" }}\n >\n {t(\"viewer.fileNotExists\")}\n \n \n
    \n )}\n {isInvalidData && (\n
    \n {\" \"}\n \n {\" \"}\n The link you accessed has no data or expired{\" \"}\n \n
    \n )}\n theme.zIndex.drawer + 1 }}\n open={isHourGlass}\n >\n \n \n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { Redirect, Switch, Route, useLocation } from \"react-router-dom\";\nimport NavBar from \"./features/Layout/NavBar\";\nimport FooterLayout from \"./features/Layout/Footer\";\nimport Logout from \"./features/Logout/Logout\";\nimport { Login } from \"./features/login/Login\";\nimport Dashboard from \"./features/Dashboard/Dashboard\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport RegisterUser from \"./features/registerUser/RegisterUser\";\nimport Publisher from \"./features/publisher/Publisher\";\nimport ManageUsers from \"./features/manageUsers/ManageUsers\";\nimport Manager from \"./features/manager/Manager\";\nimport PrivacyPolicy from \"./pages/PrivacyPolicy\";\nimport TermsOfUse from \"./pages/TermsOfUse\";\nimport ContentUpload from \"./features/contentUpload/ContentUpload\";\nimport Viewer from \"./features/viewer/Viewer\";\nimport Interactive from \"./features/interactive/Interactive\";\nimport DRG from \"./features/manager/DRG\";\nimport Editor from \"./features/editor/Editor\";\nimport ClassificationCodes from \"./features/editor/ClassificationCodes\";\nimport ChangeLogs from \"./features/editor/ChangeLogs\";\nimport IdleTimeOut from \"./features/idleTimeOut/IdleTimeOut\";\nimport Profile from \"./features/profile/Profile\";\nimport { clearMangerStatus } from \"./features/manager/managerSlice\";\nimport { resetEditor } from \"./features/editor/editorSlice\";\nimport DRGTest from \"./features/publicPages/DRGTest\";\nimport DRGHearing from \"./features/publicPages/DRGHearing\";\nimport DRGProd from \"./features/publicPages/DRGProd\";\nimport GrouperTest from \"./features/publicPages/GrouperTest\";\nimport GrouperHearing from \"./features/publicPages/GrouperHearing\";\nimport GrouperProd from \"./features/publicPages/GrouperProd\";\nimport InteractiveTest from \"./features/publicPages/interactive/InteractiveTest\";\nimport InteractiveHearing from \"./features/publicPages/interactive/InteractiveHearing\";\nimport InteractiveProd from \"./features/publicPages/interactive/InteractiveProd\";\nimport ViewerTest from \"./features/publicPages/viewer/ViewerTest\";\nimport ViewerHearing from \"./features/publicPages/viewer/ViewerHearing\";\nimport ViewerProd from \"./features/publicPages/viewer/ViewerProd\";\n\nexport default function AppRouter() {\n const dispatch = useDispatch();\n const location = useLocation();\n const { user, isAuthorised, shouldRedirect, isViewerRole } = useSelector(\n (state) => state.authentication\n );\n\n useEffect(() => {\n dispatch(clearMangerStatus());\n if (\n location.pathname != \"/groupcodes\" &&\n location.pathname != \"/editor\" &&\n location.pathname != \"/logs\"\n ) {\n dispatch(resetEditor());\n }\n }, [location.pathname]);\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {user[0] &&\n user[0]?.token &&\n !window.location.pathname.startsWith(\"/login\") ? (\n
    \n \n {!window.location.pathname.startsWith(\"/Drg\") &&\n !window.location.pathname.startsWith(\"/Grouper\") &&\n !window.location.pathname.startsWith(\"/Interactive\") &&\n !window.location.pathname.startsWith(\"/Viewer\") ? (\n \n ) : null}\n \n \n \n \n {/* */}\n \n \n \n \n {!isViewerRole && }\n \n \n \n \n }\n />\n \n \n {/* \n */}\n \n \n {user[0] &&\n user[0]?.token &&\n !window.location.pathname.startsWith(\"/login\") &&\n !window.location.pathname.startsWith(\"/Drg\") &&\n !window.location.pathname.startsWith(\"/Grouper\") &&\n !window.location.pathname.startsWith(\"/Interactive\") &&\n !window.location.pathname.startsWith(\"/Viewer\") ? (\n \n ) : null}\n \n
    \n ) : (\n
    \n {![\"/drg\", \"/grouper\", \"/interactive\", \"/viewer\"].some((prefix) =>\n window.location.pathname.toLowerCase().startsWith(prefix)\n ) && }\n
    \n )}\n
    \n );\n}\n","import React, { useEffect } from \"react\";\nimport AppRouter from \"./AppRouter\";\nimport { useHistory } from \"react-router-dom\";\nimport { useSelector } from \"react-redux\";\nimport {\n getUserDetails,\n resetSession,\n} from \"./features/authentication/authenticationSlice\";\nimport { useDispatch } from \"react-redux\";\nimport Backdrop from \"@mui/material/Backdrop\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\n\nexport default function App() {\n const history = useHistory();\n const dispatch = useDispatch();\n const authentication = useSelector((state) => state.authentication);\n // console.log(\"Initial value at store:\", authentication);\n // console.log(\"isAuthorised:\", authentication.isAuthorised);\n localStorage.setItem(\"siteUrl\", window.location.href);\n localStorage.setItem(\"language\", \"dk\");\n\n const MINUTE_MS = 900000;\n\n useEffect(() => {\n const interval = setInterval(() => {\n dispatch(resetSession({ method: \"GET\" }));\n }, MINUTE_MS);\n\n return () => clearInterval(interval);\n }, []);\n\n useEffect(() => {\n dispatch(getUserDetails({ method: \"GET\" }));\n }, [dispatch]);\n\n if (authentication.status == \"\" || authentication.status == \"loading\") {\n console.log(\"Loading...\");\n }\n //To check user is already authorized to access the application\n if (!authentication.isAuthorised && authentication.status == \"success\") {\n if (\n !window.location.pathname.startsWith(\"/Drg\") &&\n !window.location.pathname.startsWith(\"/Grouper\") &&\n !window.location.pathname.startsWith(\"/Interactive\") &&\n !window.location.pathname.startsWith(\"/\")\n ) {\n history.push(\"/login\");\n }\n }\n return (\n
    \n {authentication.status == \"success\" ? (\n \n ) : (\n
    \n theme.zIndex.drawer + 1,\n }}\n open={authentication.isLoading}\n >\n \n \n
    \n )}\n
    \n );\n}\n","import i18next from \"i18next\";\nimport language_dk from \"./dk/language.json\";\nimport language_en from \"./en/language.json\";\n\ni18next.init({\n interpolation: { escapeValue: false },\n lng: \"dk\",\n resources: {\n en: {\n language: language_en,\n },\n dk: {\n language: language_dk,\n },\n },\n});\n","import { createTheme } from \"@mui/material/styles\";\n\nexport const theme = createTheme({\n typography: {\n fontFamily: \"'Montserrat', sans-serif\",\n },\n palette: {\n primary: {\n main: \"#015ff1\",\n },\n },\n components: {\n MuiButton: {\n styleOverrides: {\n root: {\n //fontFamily: \"'Montserrat', sans-serif\",\n textTransform: \"capitalize\",\n \"&:hover\": {\n boxShadow: \"#0D3062\",\n },\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n //fontFamily: \"'Montserrat', sans-serif\",\n },\n },\n },\n },\n});\n","import \"dotenv/config\";\n//import \"bootstrap/dist/css/bootstrap.css\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport App from \"./App\";\nimport { Provider } from \"react-redux\";\nimport { store } from \"./app/store\";\nimport { I18nextProvider } from \"react-i18next\";\nimport i18next from \"i18next\";\nimport \"./translations/i18n\";\nimport { ThemeProvider } from \"@mui/material/styles\";\nimport { theme } from \"./themes/default\";\nimport { LicenseInfo } from \"@mui/x-data-grid-pro\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers\";\n\nLicenseInfo.setLicenseKey(\n \"28d31a3b61b93e70d9101ff0df9777afTz01NTAxNyxFPTE3MDEwMDU5NzQzOTMsUz1wcm8sTE09cGVycGV0dWFsLEtWPTI=\"\n);\n\nconst rootElement = document.getElementById(\"root\");\n\nReactDOM.render(\n \n \n \n \n \n \n \n \n \n \n ,\n rootElement\n);\n\n// import React from 'react';\n// import ReactDOM from 'react-dom';\n// import './index.css';\n// import App from './App';\n// import { store } from './app/store';\n// import { Provider } from 'react-redux';\n// import * as serviceWorker from './serviceWorker';\n\n// ReactDOM.render(\n// \n// \n// \n// \n// ,\n// document.getElementById('root')\n// );\n\n// // If you want your app to work offline and load faster, you can change\n// // unregister() to register() below. Note this comes with some pitfalls.\n// // Learn more about service workers: https://bit.ly/CRA-PWA\n// serviceWorker.unregister();\n"],"sourceRoot":""}