{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Autorefresh.vue?d3ec","webpack:///./src/assets/img/1anabLogo.png","webpack:///./src/components/tabs/disdi/DisdiDetailTab.vue?cb7d","webpack:///./src/components/popups/ConfirmationHover.vue?6eb8","webpack:///./src/components/Dialog.vue?cdb7","webpack:///./src/components/tabs/TabItem.vue","webpack:///./src/components/tabs/TabItem.vue?f7fe","webpack:///./src/views/Location.vue","webpack:///./src/components/tabs/disdi/DisdiLocationDetailsTab.vue?ffa6","webpack:///./src/models/ContactInfo.ts","webpack:///./src/utilities/services/BlobUploadService.ts","webpack:///./src/utilities/services/entities/SafetyInstructionService.ts","webpack:///./src/views/Notifications.vue?a3c4","webpack:///./src/utilities/services/PermissionService.ts","webpack:///./src/components/popups/locations/LocationCouplingPopup.vue?3dee","webpack:///./src/AppConfig.ts","webpack:///./src/utilities/services/entities/CompanyWorkerService.ts","webpack:///./src/utilities/services/entities/ActivityService.ts","webpack:///./src/utilities/helpers/DateToStringHelper.ts","webpack:///./src/views/DisdiMaintenance/DisdiMaintenance.vue?05e2","webpack:///./src/components/Error.vue","webpack:///./src/components/Error.vue?c2ca","webpack:///./src/components/tabs/TabsWrapper.vue","webpack:///./src/components/tabs/TabsWrapper.vue?1f88","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/models/AttributeFilter.ts","webpack:///./src/utilities/helpers/FilterMethodBuilder.ts","webpack:///./src/utilities/services/FilterService.ts","webpack:///./src/utilities/services/entities/ControlCenterService.ts","webpack:///./src/utilities/services/entities/RegistrationService.ts","webpack:///./src/models/location/LocationInfo.ts","webpack:///./src/dialog.ts","webpack:///./src/models/company/CompanyInfo.ts","webpack:///./src/assets/img/anab_logo_white.png","webpack:///./src/utilities/helpers/Sleeper.ts","webpack:///./src/components/inputs/Select.vue","webpack:///./src/components/inputs/Select.vue?0d90","webpack:///./src/components/TextOrSpinner.vue","webpack:///./src/utilities/services/entities/Group1Service.ts","webpack:///./src/utilities/enums/Enums.ts","webpack:///./src/components/inputs/Text.vue","webpack:///./src/components/inputs/Text.vue?df7b","webpack:///./src/models/user/UserInfo.ts","webpack:///./src/utilities/services/entities/CategoryService.ts","webpack:///./src/utilities/services/entities/CompanyService.ts","webpack:///./src/utilities/services/entities/DisdiService.ts","webpack:///./src/components/GridInputFilter.vue?6b9d","webpack:///./src/utilities/helpers/PathHelper.ts","webpack:///./src/models/api/Responses.ts","webpack:///./src/utilities/services/entities/MiscService.ts","webpack:///./src/models/registration/LocationRegistrationStatus.ts","webpack:///./src/utilities/services/entities/Group2Service.ts","webpack:///./src/assets/img/map_thumb.png","webpack:///./src/utilities/services/TokenService.ts","webpack:///./src/utilities/services/WebCallService.ts","webpack:///./src/models/location/LocationDisdiInfo.ts","webpack:///./src/locales/de.json","webpack:///./src/locales/en.json","webpack:///./src/utilities/i18n/config.ts","webpack:///./src/utilities/services/entities/SettingService.ts","webpack:///./src/views/Changelog.vue?e7b7","webpack:///./src/components/inputs/Tags.vue","webpack:///./src/components/inputs/Tags.vue?ad4f","webpack:///./src/stores/GlobalStore.ts","webpack:///./src/components/Autorefresh.vue","webpack:///./src/components/Autorefresh.vue?e947","webpack:///./src/views/LocationReports.vue","webpack:///./src/views/LocationReports.vue?28e4","webpack:///./src/views/Location.vue?7cd4","webpack:///./src/views/RegistrationReports.vue","webpack:///./src/views/RegistrationReports.vue?2075","webpack:///./src/models/safetyInstruction/SafetyInstructionInfo.ts","webpack:///./src/views/SafetyInstructions.vue","webpack:///./src/views/SafetyInstructions.vue?faba","webpack:///./src/views/Users.vue","webpack:///./src/views/Users.vue?3fde","webpack:///./src/models/group2/LevelInfo.ts","webpack:///./src/views/Group2.vue","webpack:///./src/views/Group2.vue?f44e","webpack:///./src/models/controlCenter/ControlCenterInfo.ts","webpack:///./src/views/ControlCenters.vue","webpack:///./src/views/ControlCenters.vue?8118","webpack:///./src/utilities/services/entities/AccountService.ts","webpack:///./src/models/SystemCompanySettings.ts","webpack:///./src/utilities/services/OAuthService.ts","webpack:///./src/views/Login.vue","webpack:///./src/views/Login.vue?a459","webpack:///./src/components/tabs/settings/SystemSettingsTab.vue","webpack:///./src/components/tabs/settings/SystemSettingsTab.vue?d6cc","webpack:///./src/components/tabs/settings/SpokenTextTab.vue","webpack:///./src/components/tabs/settings/SpokenTextTab.vue?b267","webpack:///./src/components/tabs/settings/ProviderSettingsTab.vue","webpack:///./src/components/tabs/settings/ProviderSettingsTab.vue?5316","webpack:///./src/models/system/CoupledSystemSetting.ts","webpack:///./src/components/tabs/settings/CoupledSystemsTab.vue","webpack:///./src/components/tabs/settings/CoupledSystemsTab.vue?5ff4","webpack:///./src/components/tabs/settings/DisdiSettingsTab.vue","webpack:///./src/components/tabs/settings/DisdiSettingsTab.vue?c9e8","webpack:///./src/views/Settings.vue","webpack:///./src/views/Settings.vue?21c8","webpack:///./src/models/group1/RegionInfo.ts","webpack:///./src/views/Group1.vue","webpack:///./src/views/Group1.vue?9782","webpack:///./src/utilities/helpers/GetBrowserLanguage.ts","webpack:///./src/models/user/UserPreference.ts","webpack:///./src/utilities/helpers/PolicyHelper.ts","webpack:///./src/views/Account.vue","webpack:///./src/views/Account.vue?1ee3","webpack:///./src/utilities/signalR/signalRSender.ts","webpack:///./src/views/Notifications.vue","webpack:///./src/views/Notifications.vue?97fc","webpack:///./src/views/PageNotFound.vue","webpack:///./src/views/PageNotFound.vue?9f03","webpack:///./src/views/Error.vue","webpack:///./src/views/Error.vue?80fb","webpack:///./src/views/Logout.vue","webpack:///./src/views/Logout.vue?aac2","webpack:///./src/views/Privacy.vue","webpack:///./src/views/Privacy.vue?ef82","webpack:///./src/components/tabs/activitySets/ActivityTab.vue","webpack:///./src/components/tabs/activitySets/ActivityTab.vue?49f5","webpack:///./src/models/activity/ActivitySetInfo.ts","webpack:///./src/components/tabs/activitySets/ActivitySetTab.vue","webpack:///./src/components/tabs/activitySets/ActivitySetTab.vue?c315","webpack:///./src/views/Activities.vue","webpack:///./src/views/Activities.vue?b026","webpack:///./src/views/Changelog.vue","webpack:///./src/views/Changelog.vue?6748","webpack:///./src/models/category/CategoryInfo.ts","webpack:///./src/views/Category.vue","webpack:///./src/views/Category.vue?f5d7","webpack:///./src/views/Disdi.vue","webpack:///./src/views/Disdi.vue?9c74","webpack:///./src/stores/DisdiMaintenanceStore.ts","webpack:///./src/components/Progressbar.vue","webpack:///./src/components/Progressbar.vue?30df","webpack:///./src/views/DisdiMaintenance/DisdiMaintenance.vue","webpack:///./src/views/DisdiMaintenance/DisdiMaintenance.vue?382d","webpack:///./src/views/DisdiMaintenance/DisdiLogin.vue","webpack:///./src/views/DisdiMaintenance/DisdiLogin.vue?2629","webpack:///./src/views/DisdiMaintenance/DisdiExit.vue","webpack:///./src/views/DisdiMaintenance/DisdiExit.vue?8156","webpack:///./src/views/Provider.vue","webpack:///./src/views/Provider.vue?0cbe","webpack:///./src/models/system/AnAbSystemInfo.ts","webpack:///./src/models/company/CompanyWorkerInfo.ts","webpack:///./src/views/ProviderDetails.vue","webpack:///./src/views/ProviderDetails.vue?8f61","webpack:///./src/views/oAuth/OAuthDisdiCallback.vue","webpack:///./src/views/oAuth/OAuthDisdiCallback.vue?0677","webpack:///./src/views/oAuth/OAuthDisdiSilentCallback.vue","webpack:///./src/views/oAuth/OAuthDisdiSilentCallback.vue?8dd9","webpack:///./src/views/oAuth/OAuthSsoCallback.vue","webpack:///./src/views/oAuth/OAuthSsoCallback.vue?1ca0","webpack:///./src/views/oAuth/OAuthSsoSilentCallback.vue","webpack:///./src/views/oAuth/OAuthSsoSilentCallback.vue?2dd3","webpack:///./src/views/oAuth/SamlCallback.vue","webpack:///./src/views/oAuth/SamlCallback.vue?0e7c","webpack:///./src/router/middleware/checkToken.ts","webpack:///./src/router/middleware/redirectToLogin.ts","webpack:///./src/router/middleware/checkPermission.ts","webpack:///./src/router/middleware/closeModals.ts","webpack:///./src/router/middleware/hideError.ts","webpack:///./src/router/middleware/resetFooterCounter.ts","webpack:///./src/router/middleware/changeTitle.ts","webpack:///./src/router/middleware/checkValidParams.ts","webpack:///./src/router/index.ts","webpack:///./src/utilities/helpers/CsvSanitizer.ts","webpack:///./src/models/CsvExportModels.ts","webpack:///./src/utilities/services/entities/CoupledSystemService.ts","webpack:///./src/stores/ProviderStore.ts","webpack:///./src/utilities/helpers/ErrorHandler.ts","webpack:///./src/components/Error.vue?d4d8","webpack:///./src/utilities/helpers/NullOrUndefinedHelper.ts","webpack:///./src/models/NameValueObject.ts","webpack:///./src/models/api/Requests.ts","webpack:///./src/utilities/services/entities/ActivitySetService.ts","webpack:///./src/components/Success.vue","webpack:///./src/components/Success.vue?25da","webpack:///./src/components/popups/locations/LocationInfoEditor.vue","webpack:///./src/components/popups/locations/LocationInfoEditor.vue?c0d3","webpack:///./src/components/popups/locations/LocationFilterPopup.vue","webpack:///./src/components/popups/locations/LocationFilterPopup.vue?41f8","webpack:///./src/components/popups/ConfirmationHover.vue","webpack:///./src/components/popups/ConfirmationHover.vue?21ee","webpack:///./src/components/popups/locations/LocationCouplingPopup.vue","webpack:///./src/components/popups/locations/LocationCouplingPopup.vue?53b1","webpack:///./src/components/popups/users/UserFilterPopup.vue","webpack:///./src/components/popups/users/UserFilterPopup.vue?0e34","webpack:///./src/components/popups/users/UserPopup.vue","webpack:///./src/components/popups/users/UserPopup.vue?7e81","webpack:///./src/components/popups/CSVImport.vue","webpack:///./src/components/popups/CSVImport.vue?0b09","webpack:///./src/components/popups/group2/Group2Popup.vue","webpack:///./src/components/popups/group2/Group2Popup.vue?6e74","webpack:///./src/components/popups/locations/LocationsPopup.vue","webpack:///./src/components/popups/locations/LocationsPopup.vue?fc6c","webpack:///./src/components/popups/controlCenter/ControlCenterEditor.vue","webpack:///./src/components/popups/controlCenter/ControlCenterEditor.vue?8ee0","webpack:///./src/components/popups/group1/Group1Popup.vue","webpack:///./src/components/popups/group1/Group1Popup.vue?af5a","webpack:///./src/components/popups/safetyInstructions/SafetyInstructionsPopup.vue","webpack:///./src/components/popups/safetyInstructions/SafetyInstructionsPopup.vue?3814","webpack:///./src/components/popups/safetyInstructions/SafetyInstructionLocationsPopup.vue","webpack:///./src/components/popups/safetyInstructions/SafetyInstructionLocationsPopup.vue?e650","webpack:///./src/components/popups/InstantMessagePopup.vue","webpack:///./src/components/popups/InstantMessagePopup.vue?ace9","webpack:///./src/components/popups/registation/RegisterPopup.vue","webpack:///./src/components/popups/registation/RegisterPopup.vue?dd10","webpack:///./src/components/popups/locationReports/LocationReportsUserHistoryPopup.vue","webpack:///./src/components/popups/locationReports/LocationReportsUserHistoryPopup.vue?ea79","webpack:///./src/components/popups/locationReports/LocationReportsDetailsPopup.vue","webpack:///./src/components/popups/locationReports/LocationReportsDetailsPopup.vue?e085","webpack:///./src/components/popups/locationReports/LocationReportsFilterPopup.vue","webpack:///./src/components/popups/locationReports/LocationReportsFilterPopup.vue?6809","webpack:///./src/components/popups/registation/RegistrationUserHistory.vue","webpack:///./src/components/popups/registation/RegistrationUserHistory.vue?61a5","webpack:///./src/components/popups/registation/RegistrationFilterPopup.vue","webpack:///./src/components/popups/registation/RegistrationFilterPopup.vue?d29d","webpack:///./src/components/popups/activitySets/ActivitySetLocationsPopup.vue","webpack:///./src/components/popups/activitySets/ActivitySetLocationsPopup.vue?f6c8","webpack:///./src/components/popups/activitySets/ActivitySetEditPopup.vue","webpack:///./src/components/popups/activitySets/ActivitySetEditPopup.vue?965c","webpack:///./src/components/popups/activitySets/ActivityEditPopup.vue","webpack:///./src/components/popups/activitySets/ActivityEditPopup.vue?dc25","webpack:///./src/components/popups/providerManagement/SimilarCompaniesSelectionPopup.vue","webpack:///./src/components/popups/providerManagement/SimilarCompaniesSelectionPopup.vue?a417","webpack:///./src/components/inputs/SearchComponent.vue?fad7","webpack:///./src/components/inputs/SearchComponent.vue","webpack:///./src/components/inputs/SearchComponent.vue?c917","webpack:///./src/components/popups/providerManagement/ProviderEditPopup.vue","webpack:///./src/components/popups/providerManagement/ProviderEditPopup.vue?d963","webpack:///./src/components/popups/providerManagement/ProviderNewCompanyWorker.vue","webpack:///./src/components/popups/providerManagement/ProviderNewCompanyWorker.vue?a8ef","webpack:///./src/components/popups/providerManagement/ProviderCompanyWorkerEdit.vue","webpack:///./src/components/popups/providerManagement/ProviderCompanyWorkerEdit.vue?b45d","webpack:///./src/components/popups/settings/EditSpokenText.vue","webpack:///./src/components/popups/settings/EditSpokenText.vue?c5b4","webpack:///./src/components/popups/settings/EditSystemSetting.vue","webpack:///./src/components/popups/settings/EditSystemSetting.vue?c29e","webpack:///./src/components/popups/settings/EditCoupledSystem.vue","webpack:///./src/components/popups/settings/EditCoupledSystem.vue?3dc7","webpack:///./src/components/popups/settings/ResetCredentials.vue","webpack:///./src/components/popups/settings/ResetCredentials.vue?9307","webpack:///./src/components/popups/registation/RegistrationChangeActivityText.vue","webpack:///./src/components/popups/registation/RegistrationChangeActivityText.vue?8a2e","webpack:///./src/components/inputs/MultiSelect.vue","webpack:///./src/components/inputs/MultiSelect.vue?bc14","webpack:///./src/components/popups/category/CategoryEditor.vue","webpack:///./src/components/popups/category/CategoryEditor.vue?84e0","webpack:///./src/components/popups/disdi/DisdiFilterPopup.vue","webpack:///./src/components/popups/disdi/DisdiFilterPopup.vue?33c7","webpack:///./src/components/tabs/disdi/DisdiAttachmentTab.vue","webpack:///./src/components/tabs/disdi/DisdiAttachmentTab.vue?b265","webpack:///./src/models/disdi/DisdiInfo.ts","webpack:///./src/components/tabs/disdi/DisdiDetailTab.vue","webpack:///./src/components/tabs/disdi/DisdiDetailTab.vue?ba67","webpack:///./src/components/tabs/disdi/DisdiLocationDetailsTab.vue","webpack:///./src/components/tabs/disdi/DisdiLocationDetailsTab.vue?3d5d","webpack:///./src/components/popups/disdi/DisdiDetailsPopup.vue","webpack:///./src/components/popups/disdi/DisdiDetailsPopup.vue?9bb8","webpack:///./src/components/popups/locations/LocationDisdiEditor.vue","webpack:///./src/components/popups/locations/LocationDisdiEditor.vue?83a2","webpack:///./src/components/Popup.vue","webpack:///./src/components/Popup.vue?b0a8","webpack:///./src/components/Dialog.vue","webpack:///./src/components/Dialog.vue?4053","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?14b8","webpack:///./src/App.vue","webpack:///./src/App.vue?8ecf","webpack:///./src/utilities/signalR/signalRFunctionCollection.ts","webpack:///./src/utilities/signalR/signalRPlugin.ts","webpack:///./src/main.ts","webpack:///./src/models/activity/ActivityInfo.ts","webpack:///./src/components/GridInputFilter.vue","webpack:///./src/components/GridInputFilter.vue?23eb","webpack:///./src/components/LoadingSpinner.vue","webpack:///./src/components/LoadingSpinner.vue?c176","webpack:///./src/components/Popup.vue?4408","webpack:///./src/components/inputs/SearchComponent.vue?8e9e","webpack:///./src/models/setting/disdi/DisdiSetting.ts","webpack:///./src/utilities/services/entities/UserService.ts","webpack:///./src/utilities/services/entities/LocationService.ts","webpack:///./src/stores/PermissionStore.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","selectedTitle","inject","__exports__","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_createElementVNode","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_defineComponent","__name","setup","__props","useI18n","locationService","LocationService","permissionService","PermissionService","disablePdfExport","ref","gridStore","Store","globalStore","useGlobalStore","selectedLocations","disdiIsOn","deleteSelection","async","some","answer","dialog","okText","cancelText","confirm","count","someEntriesFailed","loc","resp","deleteLocation","id","statusCode","applyChangeset","removed","ErrorHandler","handleError","ErrorLocationType","table","showSuccess","currentWindowHeight","recalcGridHeight","innerHeight","defaultSpaceAroundTableOnPage","newLocation","location","LocationInfo","nextIdResp","getNextFreeLocationId","secondaryId","openPopup","action","addOrUpdateLocation","resetButton","title","$t","PopupType","locationEditor","openMassDisdiPopoup","massEditDisdi","locationDisdiEditor","newDisdiInfo","Array","keyValueArray","entries","modal","contentObject","toRaw","success","putSetLocationDisdiSettings","popup","setGridData","closeModal","exportCSV","records","map","item","LocationCsvExport","fileName","exportType","exportFromJSON","types","csv","getPdf","PdfExportActionEnum","download","locationIds","sl","postExportLocationPdf","buffer","Buffer","pdfContentResult","fileContents","blob","Blob","contentType","link","URL","createObjectURL","fileDownloadName","click","remove","csvImport","uploadCsvFile","csvImportPopup","file","uploadedFile","NullOrUndefinedHelper","uploadResp","postImportLocations","updateLocationEntry","log","add","registrationRadius","replace","locResp","el","filter","sort","sorters","filterBy","FilterService","buildFilter","TableType","grid","useGridConfig","relayStoreEvents","headerMenuFeature","cellEditFeature","cellTooltipFeature","hoverDelay","textContent","hideOnDelegateChange","prioritizeColumns","enableTextSelection","selectionMode","cell","row","checkbox","checkboxColumnConfig","showCheckAll","deselectFilteredOutRecords","columns","text","field","width","filterable","hideable","flex","hidden","userHasPermission","sortable","template","htmlEncode","tooltipRenderer","record","safetyInstructions","listString","si","join","StringHelper","xss","couplingEnabled","coupledSystemsName","align","resizable","hasDisdi","disdiCount","widgets","icon","onAction","source","btn","menu","menuFactory","cellInfo","alignTo","show","listeners","isMove","saveUserColumnOrder","index","toString","selectionChange","selection","concat","selected","lr","deselected","datachange","currentItems","allItems","originalCount","column","locationReportsDetailsPopup","router","store","height","gridConfig","reactive","Menu","anchor","autoShow","items","cls","onItem","getLocation","weight","disabled","locationCouplingPopup","setRecord","locations","getLocations","setStoreData","instance","storage","values","needsHiding","userPreferences","userHiddenColumns","thc","attributeName","tableName","hide","permissionColumn","includes","reorderColumns","setDisdiColumVisibility","settings","disdiSettings","disdi","DisdiStateType","NoDISDI","hasDisdiCol","getById","onMounted","addEventListener","setGridStore","setGridColumnStore","gridDataIsLoading","onBeforeUnmount","removeEventListener","_ctx","_cache","_directive_permission","_resolveDirective","_openBlock","_createElementBlock","_Fragment","_toDisplayString","_unref","_withDirectives","_createVNode","errorLoc","onClick","$event","email","_createCommentVNode","GridInputFilter","popupType","locationFilterPopup","BryntumGrid","_mergeProps","ref_key","_vShow","LoadingSpinner","ContactInfo","BlobUploadService","constructor","this","axiosInstance","axios","url","callback","method","arrayBuffer","headers","onUploadProgress","loaded","total","status","SafetyInstructionService","webCaller","WebCallService","uriHelper","PathHelper","viewtype","uri","getSafetyInstructionsPath","HttpSend","HttpType","getSafetyInstructionPath","requestBody","SafetyInstructionRequest","reqType","post","put","delete","getAcceptCoupledSafetyInstructionPath","policyName","roleList","getRolesFromPolicyList","user","roles","updateDynamicPolicy","permissionStore","usePermissionStore","policy","anabPolicies","find","Name","Roles","indexOf","foundPolicy","split","phoneNumberPlaceholder","countryDialCodes","draggable","minWidth","forbiddenStartupRouteNames","disdiClientConfig","clientId","scopes","silent","baseURL","origin","CompanyWorkerService","company","getCompanyWorkerInfoForCompanyPath","getCompanyWorkersForCurrentSystemPath","companyId","dialCode","phoneNumber","getSearchCompanyWorkerByPhonenumberPath","PhoneNumberRequest","companyWorker","getCompanyWorkerPath","getCompanyWorkerByIdPath","CompanyWorkerRequest","userId","getPromoteToCompanyAdminPath","role","getCompanyHasUserWithRolePath","getSetCompanyWorkerEnabledPath","getResetExpirationForCompanyWorkerPath","ActivityService","setId","activities","getActivitySetActivitiesPath","viewType","errorLocation","getActivitiesPath","activityInfo","a","activityId","activityText","activity","isAdd","getActivityPath","getSpecificActivityPath","ActivityInfoRequest","date","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","props","computed","closeError","none","_normalizeClass","ErrorType","warning","_createTextVNode","slots","useSlots","tabTitles","default","tab","tabTitlesWithoutHidden","activeTab","provide","watch","newValue","clickTab","webpackContext","req","webpackContextResolve","keys","AttributeFilter","attribute","attributeValue","FilterMethodBuilder","LocationFilters","UserFilters","RegisterReportFilters","RegisterLocationReportFilters","DisdiFilters","filterStatus","obj","regStatus","LocationRegistrationStatus","registrationStatus","RegistrationStatusType","isBusy","wasBusy","unregisteredCount","registeredCount","notBusy","totalRegistrationsCount","filterControlCenter","controlCenterId","filterGroup1","group1Id","filterGroup2","group2Id","filterIsActive","isActive","filterRoles","filterHasKID","IsNullOrUndefined","kid","filterToday","regDate","dateToString","Date","lastRegisteredLocationDate","nowDate","isLocationBusy","lastRegisteredDate","filterCategory","categoryId","filterBuilder","useTmpFilters","filters","tmpPreferences","tmpUserFilters","userFilters","filterMethodDict","getFilterMethodDict","methodList","forEach","k","propMethodList","propFilterResult","tableFilters","f","isForHiddenColumn","getLocationMethods","getUserMethods","register","getRegisterReportMethods","registerLocation","getRegisterLocationReportMethods","getDisdiMethods","initFilterList","convertedAttrValue","parseInt","isNaN","reduce","initResult","attr","colStore","tmpUserHiddenColumns","hc","ControlCenterService","controlCenters","getControlCentersPath","center","getControlCenterPath","ControlCenterRequest","RegistrationService","locationId","guestCount","registrations","getManualRegistrationPath","ManualRegistrationRequest","getOpenRegistrationForUserPath","getLocationReportsPath","getLocationUserReportsPath","getRegistrationReportsPath","getOpenRegistrationsByUsersPath","registrationId","getChangeActivityForRegistrationPath","ChangeActivityRequest","state","active","hint","inputType","html","close","dialogPromise","open","reset","enabled","alert","prompt","cancel","ok","input","CompanyInfo","ms","options","String","Number","Boolean","searchable","valueProp","labelProp","emits","emit","optionsSelected","toRef","changeOptions","Multiselect","modelValue","_isRef","label","noOptionsText","onChange","Group1Service","regions","getRegionsPath","region","getRegionPath","RegionRequest","PreferenceType","CouplingActionType","CoupledSafetyInstructionActionType","ZdvSettingType","SsoType","NotifyType","DisdiMetadataType","UserInfo","firstName","lastName","CategoryService","category","getCategoriesPath","listResp","categories","getCategoryByIdPath","CategoryRequest","categoryResp","delResp","getAllIconNamesPath","iconInfo","ii","getAvailalbleIconNamesPath","CompanyService","getCompanyDetailsPath","getCompanyByNamePath","getCompanyIdCodePath","getCompanyPath","putProviderByIdPath","CompanyRequest","getProviderByIdPath","systemId","companyIdCode","info","getConnectSystemToCompanyPath","ConnectSystemToCompanyRequest","getAllSimilarCompanyPath","DisdiService","blobUploader","regId","getDisdiByRegistrationPath","diaryEntries","getDisdiByLocationPath","disdiId","getAttachmentsPath","diaryEntryAttachments","getCheckAndUpdateHasAttachmentPropertyPath","disdiIds","getDisdiPdfExportPath","getDisdiEntryByIdPath","diaryEntry","fileNames","getAttachmentUploadUrlPath","FileNameListRequest","getDeleteAttachmentFromBlobStoragePath","uploadUrls","files","allSuccess","encodedFileName","encodeURIComponent","uploadUrl","successful","UploadFile","GeneralResponse","statusDescription","entry","UpdateDisdiEntryRequest","locSecId","getCreateEmtpyPath","CreateEmptyDisdiRequest","LocationPathHelper","SafetyInstructionPathHelper","RegionPathHelper","LevelPathHelper","ControlCenterPathHelper","MiscPathHelper","CoupledSystemPathHelper","RegistrationPathHelper","UserPreferencePathHelper","AccountPathHelper","UserPathHelper","CompanyPathHelper","ActivitiesPathHelper","ActivitySetsPathHelper","SettingsPathHelper","CategoryPathHelper","DisdiPathHelper","getActivitySetsPath","getActivitySetBasePath","getSpecificActivitySetPath","getCoupledSystemsPath","getCoupledSystemByIdPath","getAvailableLocationsForForeignSystemPath","getPdfTemplatesPath","getVoiceTestCallPath","getStartupConfigPath","getHubNotificationsPath","getChangelogPath","getLevelsPath","getLevelPath","getNextFreeLocationIdPath","getLocationsPath","getLocationPath","getLocationNotifyPath","getLocationPdfExportPath","getLocationImportPath","getLocationCouplingPath","getCoupledLocationsPath","getChangeDisdiPath","getUserPreferencePath","typeId","getSaveUserPreferencesPath","getUsersPath","getUsersRoleSelectablePath","getUserByIdPath","tryLoadFromIdentityServer","getUserLocationPermissionPath","auth","getResetUserActivityPath","getNextFreeUserIdPath","getLoginPath","getResetPasswordMailPath","getResetPasswordPath","getChangePasswordPath","getLogoutPath","getRefreshTokenPath","getExchangeTokenPath","workerId","getGlobalSettingsPath","getPrivacySettingsPath","getGlobalSettingByIdPath","getGlobalSettingsWithIdPath","getPronunciationSettingsPath","getPronunciationSettingsWithIdPath","getCompanySettingsPath","getClientSettingsPath","getCompanyWorkerPersistancePath","getExpiredTextPath","getDisdiSettingsPath","getDisdiUserSettingsPath","getDisdiSettingByIdPath","getDefaultActivityTextPath","getDefaultInstantMessageTextPath","description","MiscService","misc","callNumber","VoiceTestRequest","errorLocationType","GetFromExtrenalAPI","coupledLocationRegistrationsCount","registeredGuestCount","totalPersonCount","Group2Service","levels","level","LevelRequest","TokenService","webcaller","path","doesntRequireToken","convertedToken","jwt_decode","token","expiration","exp","now","RefreshAccessToken","accessToken","account","RefreshTokenRequest","waitedForRefresh","isRefreshingToken","sleep","RefreshToken","ErrorResponseHandler","login","setToken","whitelist","baseUrl","withCredentials","tokenService","body","response","EnsureFreshToken","sendPostRequest","sendGetRequest","sendPutRequest","sendDeleteRequest","convertErrorIfNeeded","config","getRequestConfig","requestMethod","bodyContent","authorizationHeader","responseType","onDownloadProgress","downloadEvent","uploadEvent","axiosCall","LocationDisdiInfo","ctx","normalize","_normalize","interpolate","_interpolate","named","_named","messages","de","deLanguage","en","enLanguage","i18n","createI18n","locale","fallbackLocale","legacy","globalInjection","global","SettingService","ss","SystemSettingUpdateRequest","ps","UpdatePronuncicationRequest","daysAmount","disdiResp","convertToDisdiSetting","disdiSetting","setting","UpdateDisdiSettingRequest","convertToRequestBody","updateResp","base","DisdiSetting","selectableOptions","selectedOptions","showOptions","drag","selectOption","option","preventShowingOptiosOnRemove","classList","contains","removeSelectedOption","ele","defineStore","refreshIsActive","layout","validator","$validate","bigMode","gridColumnStore","userColumnOrder","general","darkMode","userStartPage","userLocale","refreshCurrentPage","countAfterFilters","oAuth","routeAfterLogin","notifications","durationSuccess","durationWarning","durationError","durationInfo","defaultHiddenColumns","systemCompanySettings","activitySettings","startupConfig","enabledFeatures","getters","getNewNotificationCount","x","isNew","actions","filteredCurrentFilters","tmpHiddenColumns","filteredCurrentHiddenColumns","setUserPreferences","userService","UserService","removeFilter","filterResp","hiddenColResp","hiddenColumn","setTmpFilters","setTmpHiddenColumns","resetState","customStore","orderedColumns","oc","moveColumnToIndex","columnId","columnStore","elementToMove","insert","toggleDarkMode","resetedAction","registerPopup","payload","newIndex","colmnOrder","saveResp","columnOrder","filteredList","addUserFilter","addUserHiddenColumn","setCountAfterFilters","setUser","getAuthorityUrl","currentRoute","idsUrl","ssoType","ssoUrl","activeIcon","inactiveIcon","autoRefreshActive","statusIcon","toggleRefresh","registrationService","selectedReports","openRegisterPopup","openInstantMessages","ids","sendInstantMessage","locationReportsPopup","toggleAutoRefresh","notifyResp","postSendMessageToRegisteredUsers","contactInfo","street","streetNumber","postalCode","city","safetyInstructionInfo","rr","safetyInstructionLocations","safetyInstructionLocationsPopup","locationReportsUserHistoryPopup","locationReportsResp","getLocationReports","locationRegistrationInfo","Autorefresh","locationReportsFilterPopup","hideFilterButton","readOnly","settingService","isNullOrUndefined","companyName","reg","DateToStringHelper","unreg","lastUnRegisteredLocationDate","activitesEnabled","defaultActivityText","defaultActivitExchangeable","currentRegLocation","registeredLocationInfo","openReg","opr","fullName","locationName","unregResp","postUnRegisterUser","changeActivityForRegistration","registrationUserHistory","getDefaultActivityText","defaultActivityResp","getSystemSettings","settingInfo","children","reapplyFilterAndHiddenCols","registration","changeResp","postChangeActivityForRegistration","regReportsResp","getRegistrationReports","convertedData","registrationInfo","Guid","registrationFilterPopup","SafetyInstructionInfo","isAccepted","coupledLocationId","displayOrder","safetyInstructionService","selectedSafetyInstruction","selectableLocations","deleteSafetyInstruction","safetyInstruction","sr","cellClick","addOrUpdateSafetyInstruction","newSafetyInstruction","safetyInstructionResp","SafetyinstructionCsvExport","safetyInstructionsResp","getSafetyInstructions","selectedUsers","deleteUser","newUser","getNextFreeUserId","identificationNumber","identifikationNumber","addOrUpdateUser","userPopup","UserCsvExport","userResp","addOrUpdateUsers","editor","ur","u","resetActivity","fullUser","getUserById","checkUserActivityOption","idList","resetUserActivity","resetMultipleActivities","users","getUsers","userInfo","userFilterPopup","LevelInfo","selectedLevels","group2Service","deleteLevel","group2","group2Locations","addOrUpdateLevel","group2Popup","newGroup2","createResp","getLevels","levelInfo","ControlCenterInfo","selectedControlCenters","controlCenterService","cc","deleteControlCenter","syncId","controlCenter","cr","addOrUpdateControlCenter","controlCenterEditor","newControlCenter","ccResp","controlCentersResp","getControlCenters","controlCenterInfo","controlCenterFilter","AccountService","password","rememberMe","LoginRequest","ResetPasswordEmailRequest","passwordRepetition","ResetPasswordRequest","oldPassword","newPassword","newPasswordRepetition","ChangePasswordRequest","SystemCompanySettings","OAuthService","authority","silentCallback","metdata","client_id","redirect_uri","silent_redirect_uri","automaticSilentRenew","response_type","scope","post_logout_redirect_uri","filterProtocolClaims","metadata","userManager","UserManager","signinRedirect","signoutRedirect","signinSilentCallback","_imports_0","alt","for","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","miscService","accountService","loading","useRoute","query","mail","passwordResetMailSent","saveNewPassword","isFormCorrect","vPassword$","resetPassword","passwordForm","newPasswordRepeat","notify","duration","abortPasswordChange","getStartupConfig","preferenceInfo","startupInfo","disdiInfo","oauth","clientScopes","metaDataUrl","metaData","getOidcMetaData","ssoCallback","ssoSilentCallback","oAuthService","saml","passwordResetForm","emailreset","form","username","rules","required","helpers","withMessage","passwordResetRules","newPasswordRules","hasNoneAlphaNum","regex","hasNumber","hasUppercaseLetter","hasLowercaseLetter","minLength","amount","sameAsPassword","sameAs","v$","useVuelidate","vPasswordReset$","sendPasswordResetMail","sendResetPasswordMail","addDynamicRoles","readRoleString","permissionRead","editRoleString","permissionEdit","onSubmit","getUserPreferences","columnResp","genSetResp","colOrderResp","pi","notifResp","getHubNotifications","innerHTML","TabsWrapper","_withCtx","TabItem","_withModifiers","$errors","placeholder","autocomplete","_vModelText","_renderList","$uid","$message","TextOrSpinner","spin","_","groupFeature","filterBarFeature","rowReorderFeature","stripeFeature","treeFeature","helpText","autoHeight","cellCls","isVisible","groupRenderer","groupRowFor","systemSetting","updateSystemSetting","settingsEditSystemSetting","dataType","match","updateSystemSettingResp","putUpdateSystemSetting","JSON","parse","toLocaleLowerCase","systemSettingsResp","flatGroupableList","groupName","spokenText","updatePronunciationSetting","settingsEditSpokenText","pronunciationSetting","pronunciationUpdateResp","putUpdatePronunciationSetting","spokenTextResp","getPronunciationSettings","currentSettings","dmaPersistence","expiredText","saveProviderSettings","updatePersistanceResp","postUpdateDmaPersistance","updateExpiredTextResp","postUpdateExpiredText","setData","providerSettingsResponse","getCompanySettings","min","max","rows","CoupledSystemSetting","coupledSystemService","CoupledSystemService","selectedCoupledSystems","cs","deleteCoupledSystemSetting","updateTestCouplingColumn","found","testCoupling","coupledSystem","coupledSystemResp","getLocationsForForeignSystem","addOrUpdateCoupledSystem","settingsEditCoupledSystems","newCoupledSystem","resetCredentials","settingsResetCredentials","addOrUpdateCoupledSystemSetting","coupledSystemSettingsResp","getCoupledSystemSettings","categoryService","categoryList","editRolesList","readRolesList","selectedRead","selectedEdit","metaTimestampValues","disdiValues","loadingConfirm","oldDisdiValue","metaTimestamp","updateReadList","updateEditList","setMetaTimestampValue","setDefaultCategory","defaultCategory","setDisdiValue","checkInputBounds","attributes","valueAsNumber","updateDisdiSettings","convertedRead","convertedEdit","updateDisdiSetting","AllLocations","deepUnref","initSettings","getCategories","getDisdiSettings","getUserRoles","setRoleDropdowns","convertedArray","convertedRole","Select","onSelectChanged","step","onInput","pictures","purgeOldDiaryEntriesIntervalDay","Tags","metaEditor","_vModelCheckbox","metaInvisibleTime","metaInvisible","metaDeleteAll","useGallery","showInAppNr","showInAppDays","disdiFeatureDisabled","RegionInfo","group1Service","selectedRegions","deleteRegion","group1","addOrUpdateRegion","regionEditor","newRegion","regionResp","regionsResp","getRegions","regionInfo","getBrowserLocale","defaultOptions","countryCodeOnly","opt","navigatorLocale","navigator","languages","language","trimmedLocale","trim","UserPreference","PolicyHelper","getPolicyFromRoute","route","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","showChangePasswordError","changePasswordError","availableRoutes","passwordChangedMoment","moment","lastPasswordChange","format","confirmPassword","changeUserStartPage","updateGeneralPreferences","changeUserLocale","prefList","converted","preferenceUpdateResp","isValidStartUpPage","isPermittedForRoute","permissionString","getRoutes","or","logoutUser","logout","updateUserInGlobalStore","changePassword","$reset","Text","_vModelSelect","SignalRSender","decision","connection","globalProps","signalRConnection","accept","AcceptCoupledSafetyInstruction","decline","send","discardNotification","_withScopeId","_pushScopeId","_popScopeId","selectedNotifs","notif","hasNoSafetyInstruction","actOnCoupledSecurityInstruction","renderer","notification","nr","locationNames","_component_router_link","_resolveComponent","to","navigate","render","privacySettings","privacySettingsResp","getPrivacySettings","selectedActivities","activityService","deleteActivity","categoryTitle","iconSpan","iconName","ar","addOrUpdateActivity","activityEditPopup","newActivity","ActivityInfo","successOrId","getActivities","categorySearchString","ActivitySetInfo","selectedActivity","activitySetService","ActivitySetService","deleteActivitySet","activitySetLocationInfo","activitySet","activitySetLocationsPopup","tmpLocs","addOrUpdateActivitySet","activitySetEditPopup","newActivitySet","computedAddedAndRemovedLocations","newList","oldList","addedLocs","lo","removedLocs","added","addedAndRemovedLocations","activitySetResponse","getActivitySets","activitiesWithRenamedId","activitySetInfo","activitySetId","activityResp","getActivitySetActivities","ae","ActivitySetTab","ActivityTab","logHtml","changelogResp","getChangelog","CategoryInfo","selectedCategories","deleteCategory","addOrUpdateCategory","updatedCategory","newCategory","categoryEditor","isDefault","disdiService","selectedDisdies","contextType","contextId","downloadingPdf","DisdiCsvExport","sd","exportPdf","categoryIconName","hasAttachment","dr","openDetailsPopup","disdiDetailsPopup","setContextProps","params","disdies","getDisdiEntriesForRegistration","getDisdiEntriesForLocation","args","back","_createBlock","disdiFilterPopup","useDisdiMaintenanceStore","currentDisdiId","barColor","percentage","style","_normalizeStyle","background","disdiStore","currentDisdi","contextLocation","loadingAttachments","attachmentUrlList","uploadPercentage","uploadInput","fileNameList","closingDisdi","regStartString","registrationStart","regEndString","registrationEnd","diaryDescription","changeCategoryId","uploadCallback","newPercentage","sleeper","addImageToUploadList","fileList","urlList","getAttachementUploadUrl","disdiMaintenance","uploadFilesToBlobStorage","getAttachments","updateHasAttachmentProperty","deleteAttachmentByIndex","pathname","deleteAttachmentByFileName","updateHasAttachmentResp","checkAndUpdateHasAttachmentProperty","closeDisdi","isValid","targetElement","querySelector","scrollIntoView","behavior","block","isCompleted","updateDisdiEntry","getUncompletedDisdiById","locationSecondaryId","group2Name","group1Name","controlCenterName","multiple","Progressbar","initializing","getTokenAndLogin","authService","providerStore","useProviderStore","selectedProviders","companyService","deleteSystemConnectionToCompany","statistic","pendingWorkerAssignments","classStr","buttonClassStr","provider","pr","addOrUpdateProvider","providerManagementEditPopup","newProvider","companyResp","getCompanyDetails","anAbCompaniesInfo","AnAbSystemInfo","CompanyWorkerInfo","showCompanyDetails","selectedCompanyWorkers","selectedCompany","companyWorkerService","offset","cw","deleteCompanyWorker","isAdmin","anAbSystem","userConfirmationExpired","outputString","isEnabled","providerStaff","cwr","postResetExpirationForCompanyWorker","postSetCompanyWorkerEnabled","addOrUpdateCompanyWorker","providerCompanyWorkerEditPopup","newCompanyWorker","checkForExistingPhoneNumber","providerNewCompanyWorkerPopup","foundCompanyWorkerResp","postSearchCompanyWorkerByPhonenumber","statusMessage","companyWorkerResponse","addorUpdateCompanyWorker","companyWorkerResp","getCompanyWorkerInfoForCompany","companyWorkers","hasAdmin","selectedCompanyResp","getCompanyById","companyInfo","watchEffect","streetnumber","zip","contactPersonName","contactPersonPhoneNumber","contactPersonEmail","oAuthUser","signinRedirectCallback","access_token","getDisdiUserById","sub","refreshTokensSilently","setUserSettings","setHubNotifs","id_token","exchangedToken","exchangeToken","samlMadeToken","localStorage","getItem","removeItem","reactToRouting","next","redirectToLogin","checkPermissionForRoute","closeModals","hideError","resetFooterCounter","changeTitle","defaultSystemCompanyName","checkValidParams","navigationParentsType","isValidNavigationParent","oAuthRoutes","component","OAuthDisdiCallback","OAuthDisdiSilentCallback","OAuthSsoCallback","OAuthSsoSilentCallback","SamlCallback","routes","PageNotFound","meta","middleware","Login","OtpLogin","DisdiMaintenance","DisdiExit","components","Disdi","LeftSidebar","checkToken","LocationReports","LocationManagement","RegistrationReports","SafetyInstructions","Activities","CategoryManagement","ProviderDetails","Provider","Group2","Users","ControlCenters","Settings","Group1","Account","Changelog","Notifications","Logout","Privacy","createRouter","history","createWebHistory","middlewarePipeline","context","nextMiddleware","nextPipeline","beforeEach","from","stringToSanitize","isPhonenumber","fullObj","SecondaryId","sanatizeCsv","SyncId","NamePronunciation","namePronunciation","PhoneNumber","PhoneNumberAlt1","phoneNumberAlt1","PhoneNumberAlt2","phoneNumberAlt2","PhoneNumberAltIsFallback","phoneNumberAltIsFallback","PostalCode","City","Street","StreetNumber","Longitude","longitude","Latitude","latitude","RegistrationRadius","Email","Group1Id","Group1SyncId","group1SyncId","Group2Id","ControlCenterId","ControlCenterSyncId","controlCenterSyncId","CustomAdditionalInformation","customAdditionalInformation","FirstName","LastName","IdentificationNumber","Kid","CompanyId","IsActive","HasProtection","hasProtection","Locations","comment","userFullname","userPhoneNumber","userEmail","coupledSystems","CoupledSystemRequest","selectedProviderCompany","similarCompaniesResp","postGetAllSimilarCompany","companiesInfo","sc","letEnterCompanyIdCodeIfNeeded","selectSimilarCompany","tryCreateAndConnectCompany","companyCreateResp","addOrUpdateCompany","connectResp","postConnectSystemToCompany","deleteCompany","address","StatusCode","isResponseError","reactoToStatusCode","notifyFailedCommunication","StatusDescription","additionalInfo","toCheck","NameValueObject","GeneralRequest","LocationRequest","super","pdfTemplate","UserPreferenceRequest","clearAll","preferenceTypeId","preferenceInfos","UserRequest","hasMultiAnAb","SendMessageRequest","phone","anAbSystemId","isAnonymous","expirationStatus","ActivitySetInfoRequest","activityIds","addedLocationIds","removedLocationIds","loginName","contactName","contactEmail","contactPhoneNumber","kvA","DisdiChangeRequest","changesList","locationDisdiSettings","fileNamelist","activitySets","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","popupData","regionList","levelList","controlCenterList","safetyInstructionList","pdfTemplateList","activitySetList","disdiForAll","voiceTestCall","testCallValidator","nameToRead","postVoiceTestCall","setActivitySetId","setPdfTemplate","selectionChanged","selectedList","g1","g2","levelResp","controlCenterResp","templateResp","getPdfTemplates","selectablePDFTemplate","fullInstruction","convertedItem","activitySetResp","as","phoneNumbersValidator","floatValidator","numeric","maxLength","between","readerRules","numberToCall","callData","hideCallValidatorErrors","modelModifiers","number","onFocusout","isFiltered","attName","attVal","tuf","isHidden","setRegionList","setLevelList","setControlCenterList","filterChanged","propName","checked","calculateRestEntities","visibilityChange","colName","allRecords","allValues","tmpFilterMethod","counter","yesAction","Function","yes","hideHover","no","div","getElementById","popupWrapper","selectedLocation","showCouplings","showNewCouplings","systemList","selectedSystemId","selectedForeignLocation","systemsAvailableLocs","tmpCoupledLocs","actionMode","selectedCoupledLocation","hoverText","couple","showConfirmationHover","left","Math","floor","clientX","top","clientY","acceptCallback","toCouple","filteredData","postCoupleLocation","systemCouplingIdentifier","foreignLocationIdentifier","sys","foreignSystemName","coupledStore","decouple","deleteCoupling","coupledSystemId","availableStore","hasCoupledLocationForSystem","selectedSystem","cLoc","reorderColumnsCoupled","coupledLocation","coupledGrid","useCoupledGridConfig","cellMenu","cellSelector","coupledGridConfig","reorderColumnsAvailable","availableCouplingLocation","availableGrid","useAvailableGridConfig","features","removeRow","copy","cut","availableGridConfig","coupledLocsResp","getCoupledLocations","locationInfo","coupledSystemsResp","getCoupledSystems","coupledSystemInfo","locationResponse","availableLocations","cl","locInfo","coupledLocations","ConfirmationHover","rolesList","requiredIf","fileChanged","locationsPopup","selectRows","instantMessageTextResp","getDefaultInstantMessageText","userList","locationList","currentOpenRegistrations","activityList","selectedUser","selectedGuestCount","showReg","showUnreg","userSelected","setLocationList","openRegForUser","oReg","locationSelected","hasActivitySet","setActivityList","guestCountSelected","activitySelected","cannotReg","cannotUnreg","unregUser","regUser","regResp","postRegisterUser","regIdResp","getOpenRegistrationForUser","createDisdiResp","createEmptyDisdiEntry","regList","setCurrentOpenRegs","openRegsResp","getOpenRegistrationsByUsers","setUserList","getCompleteCompanyWorkerListForSystem","b","nameA","toLowerCase","nameB","getCompanyWorkersForCurrentSystem","userInfos","isCoupled","registeredDate","unregisteredDate","maxWidth","locationReportsUserHistory","toJSON","backLocation","convertedUserData","convertToRegistrationReport","userData","userHistoryReps","getUserInfoForLocation","h","zoom","securityInstructionList","hasSafetyInstructions","showLocationReport","goBackToLocationHistoryPopup","userRegistrationHistory","userEntry","lastRegistrationTime","gridData","activitySetLocations","syncActivities","activityGridFilter","toggleActivityGridFilter","activitySetEditLocation","setActivityDropDown","currentSelectedProviderCompany","openEditWithEnteredCompanyData","suggestedProviderCompany","similarCompany","multiSelect","hasSelection","similarCompanies","$props","$setup","$data","$options","searchQuery","results","selectItem","displayField","emptyMessage","defineComponent","debouncedSearch","created","debounce","$emit","methods","clearSearch","isSelectedProvider","selectedProviderId","foundExistingCompaniesList","selectedDialCode","selectedDialCodeChanged","searchComp","selectProvider","foundCompany","hasAdminResp","getCompanyHasUserWithRole","isExist","searchForExistingCompanies","getCompaniesByName","warn","getDateString","sendVerificationEmailDate","canBeInvited","changeIsEnabled","sendAdminInvitation","invitationResp","postPromoteToCompanyAdmin","gridEntry","pronunciation","stringLengthForTextarea","activityTextInput","defaultActivity","dropDownSelectedId","foundActivity","inputChanged","availableIcons","allIcons","setSelectedIcon","getAllIconNames","getAvailableIconNames","MultiSelect","setAvailableFilter","DisdiInfo","contextCategory","getDetailedData","createDate","selectedRowsInitialized","syncWithPropsData","foundLocationDisdi","ld","dataCopy","isFilterPopup","modalType","popupNeedsCallbackButton","showModal","modalTitle","resetButtonState","lengthAfterFilter","confirmModal","resetPreferences","filteredDefaultHiddenCols","dhc","userInput","showChangelog","notificationTime","notificationType","reactToReload","_component_notifications","_component_RouterView","dark","Popup","Dialog","_Transition","Success","Footer","regService","removeAll","install","hubUrl","signalR","withUrl","configureLogging","withAutomaticReconnect","build","funCollection","on","onclose","keepAliveIntervalInMilliseconds","start","catch","app","globalProperties","pinia","createPinia","use","$id","fromStorage","$patch","$subscribe","mutation","setItem","stringify","createApp","App","directive","binding","vnode","permissionCheck","parentElement","mount","activeFilters","filterCount","tableType","hiddenColumns","reactToInput","searchTerm","allProps","stringProps","numberProps","np","searchableProps","sp","popupTitle","updateTablePreferences","None","preferences","roleResp","roleInfo","authorise","userIds","foreignLocationId","importFile","FormData","append","changeList"],"mappings":"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","file":"js/app.d294e888.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c9189\":\"8eac1d91\",\"chunk-2d0cf391\":\"275710b1\",\"chunk-2d0da8f3\":\"5f328b95\",\"chunk-2d2248b6\":\"ea9e4f12\",\"chunk-2d22523a\":\"c7709996\",\"chunk-7beab5da\":\"c03f5933\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-7beab5da\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c9189\":\"31d6cfe0\",\"chunk-2d0cf391\":\"31d6cfe0\",\"chunk-2d0da8f3\":\"31d6cfe0\",\"chunk-2d2248b6\":\"31d6cfe0\",\"chunk-2d22523a\":\"31d6cfe0\",\"chunk-7beab5da\":\"4a0b0014\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Autorefresh.vue?vue&type=style&index=0&id=67618a78&lang=scss&scoped=true\"","module.exports = \"data:image/png;base64,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\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./DisdiDetailTab.vue?vue&type=style&index=0&id=7b51570a&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ConfirmationHover.vue?vue&type=style&index=0&id=61c7c298&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Dialog.vue?vue&type=style&index=0&id=667f4626&lang=css\"","\n\n\n","import script from \"./TabItem.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./TabItem.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, mergeProps as _mergeProps, vShow as _vShow, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox flex-col\" }\nconst _hoisted_3 = { class: \"flex mb-4\" }\nconst _hoisted_4 = [\"title\"]\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\nconst _hoisted_7 = [\"title\"]\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-upload\" }, null, -1)\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = [\"disabled\", \"title\"]\nconst _hoisted_11 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-downlaod\" }, null, -1)\nconst _hoisted_12 = [\n _hoisted_11\n]\nconst _hoisted_13 = [\"disabled\", \"title\"]\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-pdf\" }, null, -1)\nconst _hoisted_15 = [\n _hoisted_14\n]\nconst _hoisted_16 = [\"disabled\", \"title\"]\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-versenden\" }, null, -1)\nconst _hoisted_18 = [\n _hoisted_17\n]\nconst _hoisted_19 = [\"disabled\", \"title\"]\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_21 = [\n _hoisted_20\n]\nconst _hoisted_22 = [\"title\"]\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-liste_tagebuch\" }, null, -1)\nconst _hoisted_24 = [\n _hoisted_23\n]\nconst _hoisted_25 = { class: \"ml-auto\" }\nconst _hoisted_26 = { class: \"text-center\" }\n\nimport FilterService from \"@/utilities/services/FilterService\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {LocationInfo} from \"@/models/location/LocationInfo\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {Menu, Store, StringHelper} from \"@bryntum/grid\";\nimport {onBeforeUnmount, onMounted, reactive, ref, toRaw} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport dialog from \"@/dialog\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {DisdiStateType, ErrorLocationType, PdfExportActionEnum, PopupType, TableType} from \"@/utilities/enums/Enums\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport {LocationCsvExport} from \"@/models/CsvExportModels\";\nimport Error from \"@/components/Error\";\nimport exportFromJSON from \"export-from-json\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage, permissionColumn} from \"@/AppConfig\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport router from \"@/router\";\nimport {LocationDisdiInfo} from \"@/models/location/LocationDisdiInfo\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Location',\n setup(__props) {\n\nconst { t } = useI18n();\nconst locationService = new LocationService();\nconst permissionService = new PermissionService();\nconst disablePdfExport = ref(false);\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nlet selectedLocations = ref([]);\nconst disdiIsOn = ref(false);\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedLocations.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t('global.delete'))\n .cancelText(t('global.cancel'))\n .confirm(t('locations.confirmDeletionMulti', {count:selectedLocations.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const loc of selectedLocations.value){\n const resp = await locationService.deleteLocation(loc.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:loc.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst newLocation = async () => {\n const location = new LocationInfo();\n\n // call API-Service and set locationIdentifier from next free Id\n const nextIdResp = await locationService.getNextFreeLocationId();\n if(nextIdResp === null || nextIdResp === undefined || nextIdResp?.statusCode !== 0){\n ErrorHandler.handleError(nextIdResp, ErrorLocationType.table);\n return;\n }\n\n location.secondaryId = nextIdResp.secondaryId;\n\n globalStore.openPopup({\n data:location,\n action:addOrUpdateLocation,\n resetButton:false,\n title:$t(\"popups.locationEditor.title.new\"),\n type:PopupType.locationEditor}\n );\n};\n\nconst openMassDisdiPopoup = async()=>{\n globalStore.openPopup({\n data: [],\n action: massEditDisdi,\n resetButton: false,\n title: $t(\"popups.locationDisdiEditor.title\"),\n type: PopupType.locationDisdiEditor,\n }, true);\n}\n\nconst massEditDisdi = async()=>{\n // need to make flat copy of proxy object to send correct json format to backend\n const newDisdiInfo = new Array();\n for (const keyValueArray of Object.entries(globalStore.modal.contentObject)){\n newDisdiInfo.push(toRaw(keyValueArray[1]) as LocationDisdiInfo)\n }\n\n const success = await locationService.putSetLocationDisdiSettings(newDisdiInfo, ErrorLocationType.popup);\n\n if(!success) return;\n\n await setGridData();\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\nconst exportCSV = () => {\n let data = selectedLocations.value?.length > 0 ? selectedLocations.value : gridStore.records;\n\n // remove unnecessary properties from csv\n data = data.map((item)=> new LocationCsvExport(item.data ?? item));\n\n const fileName = t('locations.exportFilename');\n const exportType = exportFromJSON.types.csv;\n\n exportFromJSON({\n data:data,\n fileName:fileName,\n exportType:exportType,\n });\n};\n\nconst getPdf = async (type:PdfExportActionEnum) => {\n if(type === PdfExportActionEnum.download) {\n disablePdfExport.value = true;\n }\n\n const locationIds = selectedLocations.value?.length > 0\n ? selectedLocations.value.map(sl => sl.id)\n : gridStore.data.map(l => l.id);\n\n const resp = await locationService.postExportLocationPdf(type, locationIds);\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, ErrorLocationType.table);\n disablePdfExport.value = false;\n return;\n }\n\n globalStore.showSuccess(type === PdfExportActionEnum.download ? $t('locations.willDownload') : $t('locations.willBeSend'));\n\n if(type === PdfExportActionEnum.download) {\n //@ts-expect-error\n const buffer = new Buffer(resp.pdfContentResult?.fileContents, \"base64\");\n const blob = new Blob([buffer], {type: resp.pdfContentResult?.contentType});\n const link = document.createElement(\"a\");\n\n link.href = window.URL.createObjectURL(blob);\n link.download = resp.pdfContentResult?.fileDownloadName as string;\n link.click();\n link.remove();\n disablePdfExport.value = false;\n }\n};\n\nconst csvImport = async () => {\n globalStore.openPopup({\n data: {},\n action: uploadCsvFile,\n resetButton:false,\n title: $t(\"popups.locationCsvImport.title\"),\n type: PopupType.csvImportPopup\n });\n}\n\nconst uploadCsvFile = async () => {\n const file = globalStore.uploadedFile;\n\n if(NullOrUndefinedHelper(file)) return;\n\n // @ts-expect-error\n const uploadResp = await locationService.postImportLocations(file);\n globalStore.uploadedFile = null;\n if (uploadResp === null || uploadResp === undefined || uploadResp.statusCode !== 0){\n ErrorHandler.handleError(uploadResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n // update globalStore data and filters etc\n await setGridData();\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n};\n\nconst updateLocationEntry = ()=>{\n const loc = globalStore.modal.contentObject;\n\n console.log(\"loc update\", loc);\n\n // in case on an update bryntum automatically replaces the entry with the same ID\n gridStore.add(loc);\n\n globalStore.closeModal();\n}\n\nconst addOrUpdateLocation = async () => {\n const loc = globalStore.modal.contentObject as LocationInfo;\n\n loc.registrationRadius = typeof loc.registrationRadius === \"string\"\n ? +(loc.registrationRadius as string).replace(\",\",\".\")\n : loc.registrationRadius;\n\n const locResp = await locationService.addOrUpdateLocation(loc);\n if (locResp === null || locResp === undefined || locResp.statusCode !== 0){\n ErrorHandler.handleError(locResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n // if response had an id-prop it was an add so copy the generated id\n if (locResp.id !== undefined) loc.id = locResp.id;\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedLocations.value.some(el => el.id === loc.id)) {\n selectedLocations.value = selectedLocations.value.filter(el => el.id !== loc.id);\n selectedLocations.value.push(loc);\n }\n\n // in case on an update bryntum automatically replaces the entry with the same ID\n gridStore.add(loc);\n // reapply sorting\n gridStore.sort(gridStore.sorters);\n // reapply filtering\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.location])\n });\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\n\nconst grid = ref(null);\nconst useGridConfig = {\n relayStoreEvents: true, // triggers important event (globalStore-/data-related) to get bryntum stores !\n headerMenuFeature: false,\n sort: true,\n cellEditFeature: false,\n cellTooltipFeature: {\n hoverDelay : 300,\n textContent : true,\n\t\thideOnDelegateChange: true,\n },\n filter: {\n prioritizeColumns : true\n },\n enableTextSelection: true,\n selectionMode: {\n cell: false,\n row: true,\n checkbox: checkboxColumnConfig,\n showCheckAll: true,\n deselectFilteredOutRecords: true,\n },\n columns : {\n data: [\n {\n id: 'secondaryId',\n text : t('locations.grid.secId'),\n field : 'secondaryId',\n width: 72,\n filterable: false,\n hideable: true\n },\n {\n id: 'name',\n text : t('locations.grid.name'),\n field : 'name',\n flex: 1,\n filterable: false,\n hideable: false\n },\n {\n id: 'infoButton',\n field: 'infoButton',\n text: t('registrationReports.grid.info'),\n hidden: permissionService.userHasPermission(\"Location.HideInfoColumn\"), // hide for Datenpfleger 4 role\n width: 36,\n sortable: false,\n type: \"template\",\n template: () => {\n return `
`;\n },\n },\n {\n id: 'group2Name',\n text : t('locations.grid.group2Name'),\n field : 'group2Name',\n flex: 1,\n filterable: false,\n hideable: true,\n },\n {\n id: 'group1Name',\n text : t('locations.grid.group1Name'),\n field : 'group1Name',\n flex: 1,\n filterable: false,\n hideable: true,\n },\n {\n id: 'controlCenterName',\n text : t('locations.grid.controlCenterName'),\n field : 'controlCenterName',\n flex: 1,\n filterable: false,\n hideable: true,\n },\n {\n id: 'customAdditionalInformation',\n text : t('locations.grid.customAdditionalInformation'),\n field : 'customAdditionalInformation',\n flex: 1,\n filterable: false,\n hideable: true,\n },\n\t\t\t{ id: 'email',\n\t\t\t\ttext : t('locations.grid.email'),\n\t\t\t\tfield : 'email',\n\t\t\t\tflex: 1,\n\t\t\t\tfilterable: false,\n\t\t\t\thideable: false,\n\t\t\t},\n\t\t\t{\n id: 'safetyInstructions',\n text: '',\n field: 'safetyInstructions',\n htmlEncode: false,\n\t\t\t\tsortable: false,\n type: 'template',\n width: 36,\n filterable: false,\n hideable: true,\n tooltipRenderer: ({ record }:any) =>{\n if(!record.safetyInstructions?.some(()=>true)) return \"\";\n\n const listString = record.data.safetyInstructions?.map((si:any) =>\"
  • \"+si.name+\"
  • \").join(\"\");\n\n return StringHelper.xss`${t('locationsReports.securityInformations')}:
      `+listString+`
    `;\n },\n template: ({ record }) => {\n if(!record.safetyInstructions?.some(()=>true)) return \"\";\n return `
    `;\n },\n },\n {\n id: 'coupling',\n text: '',\n\t\t\t\tsortable: false,\n field: 'coupledSystemsName',\n type: 'template',\n template: ({record}:any) => {\n if(!record.couplingEnabled) return \"\";\n if(!record.coupledSystemsName?.some(()=>true))\n return \"
    \";\n\n return \"
    \";\n },\n width: 36,\n tooltipRenderer: ({ record }:any) =>{\n if(!record.couplingEnabled) return \"\";\n if(!record.coupledSystemsName?.some(()=>true))\n return t('locations.grid.noCoupledSystems');\n\n return \"Systeme:
    \" + record.coupledSystemsName.join(\"
    \");\n },\n filterable: false,\n hideable: true,\n },\n {\n id:'hasDisdi',\n field:'hasDisdi',\n text\t: \"\",\n width : 36,\n type\t: 'template',\n align: \"center\",\n hidden: !permissionService.userHasPermission(\"Disdi.Read\"),\n resizable: false,\n filterable: false,\n template : ({record}:any)=> {\n return record.data.hasDisdi && record.data.disdiCount > 0\n ? `
    `\n : record.data.hasDisdi && record.data.disdiCount === 0\n ? `
    `\n : \"\";\n }\n },\n {\n id: 'menu',\n text : '',\n width : 36,\n type : 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [\n {\n type : 'button',\n width: 36,\n icon : 'icon-kontext_horizontal',\n onAction : ({ source: btn }:any) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }\n ]\n }\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.location], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n listeners: {\n selectionChange(event:any) {\n if(event.selection.length > 0 && event.selection[0].data === undefined) return;\n selectedLocations.value = selectedLocations.value.concat(event.selected.map(lr => lr.data))\n selectedLocations.value = selectedLocations.value.filter(l => !event.deselected.map(lr => lr.data).some(lr => l?.id === lr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n async cellClick({column, record}:any) {\n if(column.data.field === 'infoButton'){\n globalStore.openPopup({\n data:record.data,\n action: () => {},\n resetButton:false,\n title:$t(\"locationsReports.locationDetails\"),\n type:PopupType.locationReportsDetailsPopup\n }, true);\n }\n\n if(column.data.field === 'hasDisdi'){\n if (!record.data.hasDisdi || (record.data.hasDisdi && record.data.disdiCount === 0)) return;\n await router.push(`disdi/${TableType[TableType.location]}/${record.secondaryId}`);\n }\n },\n },\n store: gridStore,\n height: currentWindowHeight,\n};\nconst gridConfig = reactive(useGridConfig);\n\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items : [\n {\n text : t('global.edit'),\n icon : 'icon-editieren',\n hidden: !permissionService.userHasPermission(\"Location.Edit\"),\n cls : 'b-separator',\n onItem : async ({ menu }) => {\n const record = menu.record;\n const location = await locationService.getLocation(record.id, ErrorLocationType.table);\n\n\n if(NullOrUndefinedHelper(location)) return;\n\n // take coupling info into popup, since it is not returned by ById\n //@ts-expect-error\n location.coupledSystemsName = record.coupledSystemsName;\n\n // convert to list of indexes for Popup MultiSelect\n // @ts-expect-error\n location.safetyInstructions = location?.safetyInstructions.map(si => si.id);\n\n globalStore.openPopup({\n data:location,\n action:addOrUpdateLocation,\n resetButton:false,\n title:$t(\"popups.locationEditor.title.edit\"),\n type:PopupType.locationEditor\n });\n },\n weight : 200\n },\n {\n text : t('global.delete'),\n cls : 'b-separator',\n icon : 'icon-loeschen',\n hidden: !permissionService.userHasPermission(\"Location.Delete\"),\n onItem : async ({ menu }) => {\n const answer = await dialog\n .okText(t('global.delete'))\n .cancelText(t('global.cancel'))\n .confirm(t('locations.confirmDeletionSingle', {name:menu.record.name}));\n\n if (answer) {\n const resp = await locationService.deleteLocation(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n },\n weight : 300\n },\n {\n text : t('locations.changeCoupling'),\n disabled: !record.couplingEnabled,\n cls : 'b-separator',\n icon : 'icon-kopplung',\n onItem : ({ menu }) => {\n const record = menu.record;\n globalStore.openPopup({\n data:record,\n action:updateLocationEntry,\n resetButton:false,\n title:$t(\"popups.locationCoupling.title\"),\n type:PopupType.locationCouplingPopup\n }, true);\n },\n weight : 900\n }\n ]})\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst setGridData = async ()=>{\n const locations = await locationService.getLocations(\"display\", ErrorLocationType.table);\n\n gridStore.setStoreData(locations);\n\n // apply filters\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.location])\n });\n\n // apply hidden cols\n for(const c of grid.value.instance.value.columns.storage.values){\n const needsHiding = globalStore.userPreferences.userHiddenColumns\n .some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.location]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.reorderColumns(TableType[TableType.location]);\n\n globalStore.closeModal();\n}\n\nconst setDisdiColumVisibility = async() =>{\n disdiIsOn.value = globalStore.settings.disdiSettings?.disdi !== DisdiStateType.NoDISDI;\n\n if(!disdiIsOn.value){\n const hasDisdiCol = grid.value.instance.value.columns.getById(\"hasDisdi\");\n hasDisdiCol.hidden = true;\n }\n}\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n // because these are refs they dont survive page-reloads so set them anytime the grid loads\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n // start spinner\n globalStore.gridDataIsLoading = true;\n await setGridData();\n await setDisdiColumVisibility();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)(\"locations.title\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newLocation,\n title: _unref(t)('locations.newLocation')\n }, _hoisted_6, 8, _hoisted_4)), [\n [_directive_permission, 'Location.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: csvImport,\n title: _unref(t)('global.importCsv')\n }, _hoisted_9, 8, _hoisted_7)), [\n [_directive_permission, 'Location.CSV.Import']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n disabled: !_unref(selectedLocations).some(()=>true),\n class: \"primary mr-2\",\n onClick: exportCSV,\n title: _unref(t)('global.exportCsv')\n }, _hoisted_12, 8, _hoisted_10)), [\n [_directive_permission, 'Location.CSV.Export']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedLocations).some(()=>true) || disablePdfExport.value,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (getPdf(_unref(PdfExportActionEnum).download))),\n title: _unref(t)('global.downloadPdf')\n }, _hoisted_15, 8, _hoisted_13)), [\n [_directive_permission, 'Location.Read']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedLocations).some(()=>true),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (getPdf(_unref(PdfExportActionEnum).email))),\n title: _unref(t)('global.downloadPdfMail')\n }, _hoisted_18, 8, _hoisted_16)), [\n [_directive_permission, 'Location.Read']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedLocations).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_21, 8, _hoisted_19)), [\n [_directive_permission, 'Location.Delete']\n ]),\n (disdiIsOn.value)\n ? _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"primary mr-2\",\n onClick: openMassDisdiPopoup,\n title: _unref(t)('locations.massDisdi')\n }, _hoisted_24, 8, _hoisted_22)), [\n [_directive_permission, 'Disdi.LocationPropertyEdit']\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_25, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n popupType: _unref(PopupType).locationFilterPopup\n }, null, 8, [\"gridStore\", \"popupType\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig), null, 16)\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_26, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ], 64))\n}\n}\n\n})","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./DisdiLocationDetailsTab.vue?vue&type=style&index=0&id=0d3ed23c&scoped=true&lang=css\"","export class ContactInfo {\n street: string|null = null;\n streetNumber: string|null = null;\n postalCode: number|null = null;\n city: string|null = null;\n phoneNumber: string|null = null;\n}","import axios, {AxiosInstance} from \"axios\";\nimport sleeper from \"@/utilities/helpers/Sleeper\";\n\nexport class BlobUploadService{\n private axiosInstance : AxiosInstance;\n\n constructor(){\n this.axiosInstance = axios.create();\n }\n\n public async UploadFile(file:File, url:string, callback:Function|null = null):Promise{\n try {\n const resp = await this.axiosInstance.request({\n method: \"put\",\n url: url,\n data: await file.arrayBuffer(),\n headers: {\n 'x-ms-blob-type': 'BlockBlob',\n 'Content-Type': file.type\n },\n onUploadProgress: (p) => {\n if(callback === null) return\n callback(`${~~((p.loaded / p.total)*100)}%`)\n },\n });\n\n return resp.status >= 200 && resp.status <= 299\n } catch (e){\n console.log(e)\n return false;\n }\n }\n}","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {SafetyInstructionResponse} from \"@/models/api/Responses\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {SafetyInstructionInfo} from \"@/models/safetyInstruction/SafetyInstructionInfo\";\nimport {SafetyInstructionRequest} from \"@/models/api/Requests\";\n\nexport class SafetyInstructionService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getSafetyInstructions(viewtype: string = \"selectable\"):Promise {\n const uri = this.uriHelper.safetyInstructions.getSafetyInstructionsPath() + `/viewtype/${viewtype}`;\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async addOrUpdateSafetyInstruction(si:SafetyInstructionInfo):Promise{\n const uri = si.id < 0\n ? this.uriHelper.safetyInstructions.getSafetyInstructionsPath()\n : this.uriHelper.safetyInstructions.getSafetyInstructionPath(si.id);\n const requestBody = new SafetyInstructionRequest(si);\n const reqType = si.id < 0\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteSafetyInstruction(id:number):Promise{\n const uri = this.uriHelper.safetyInstructions.getSafetyInstructionPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n\n public async AcceptCoupledSafetyInstruction(id: number) {\n const uri = this.uriHelper.safetyInstructions.getAcceptCoupledSafetyInstructionPath(id);\n\n return await this.webCaller.HttpSend(HttpType.post, uri);\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Notifications.vue?vue&type=style&index=0&id=81f2d22a&scoped=true&lang=css\"","import { useGlobalStore } from \"@/stores/GlobalStore\";\nimport { anabPolicies } from \"@/AppConfig\";\nimport {usePermissionStore} from \"@/stores/PermissionStore\";\nimport {controlLayersProps} from \"@vue-leaflet/vue-leaflet/dist/src/functions/controlLayers\";\n\nexport class PermissionService {\n /*\n gets identifier of policy to look for, and checks if the user has one of the roles listed in the policy-roles\n\n returns false when user is not set\n */\n public userHasPermission(policyName:string):boolean{\n const globalStore = useGlobalStore();\n\n const roleList = this.getRolesFromPolicyList(policyName);\n\n if (globalStore.user === null || globalStore.user === undefined) return false;\n\n const roles = globalStore.user.roles;\n\n return roles.some((i:any) => roleList.includes(i));\n }\n\n /*\n takes a policy name and a new role-string to update anabPolicy array-entry via splice+push\n */\n public updateDynamicPolicy(policyName:string, roles:string){\n const permissionStore = usePermissionStore();\n\n const policy = permissionStore.anabPolicies.find(p => p.Name === policyName);\n\n if(policy === undefined) return;\n\n policy.Roles = roles;\n permissionStore.anabPolicies.splice(permissionStore.anabPolicies.indexOf(policy),1);\n permissionStore.anabPolicies.push(policy)\n }\n\n\n /* --- PRIVATE --- */\n\n\n private getRolesFromPolicyList(policyName:string):Array{\n const permissionStore = usePermissionStore();\n const foundPolicy = permissionStore.anabPolicies.find((i:any) => i.Name === policyName);\n\n if (foundPolicy === undefined) return new Array(); //TODO error handling?\n\n return foundPolicy.Roles.split(/,\\s*/g);\n }\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./LocationCouplingPopup.vue?vue&type=style&index=0&id=7c07741d&lang=scss&scoped=true\"","export const anabPolicies = [\n {\n \"Name\": \"UserAdministrator.User.Navigation.Show\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2, Datenpflege 3\"\n },\n {\n \"Name\": \"UserAdministrator.User.Read\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2, Datenpflege 3\"\n },\n {\n \"Name\": \"UserAdministrator.User.Create\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"UserAdministrator.User.Edit\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"UserAdministrator.User.Delete\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"UserAdministrator.User.Role.Edit\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"UserAdministrator.User.CSV.Export\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"UserAdministrator.User.CSV.Import\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"RegistrationReport.User.Logout\",\n \"Roles\": \"Administrator, Netzleitstelle, Standortverantwortlicher\"\n },\n {\n \"Name\": \"RegistrationReport.Read\",\n \"Roles\": \"Administrator, Netzleitstelle, Standortverantwortlicher\"\n },\n {\n \"Name\": \"RegistrationReport.Navigation.Show\",\n \"Roles\": \"Administrator, Netzleitstelle, Standortverantwortlicher\"\n },\n {\n \"Name\": \"Registration.Manual\",\n \"Roles\": \"Administrator, Netzleitstelle, Standortverantwortlicher\"\n },\n {\n \"Name\": \"ActivitySets.Show\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"Notification.Navigation.Show\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"Setting.Read\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"Setting.Navigation.Show\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"Setting.Edit\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.Read\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2, Datenpflege 3\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.Create\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.Edit\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.Delete\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.CompanyWorker.Navigation.Show\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2, Datenpflege 3\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.CompanyWorker.Read\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2, Datenpflege 3\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.CompanyWorker.Status\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.CompanyWorker.Create\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.CompanyWorker.Delete\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2\"\n },\n {\n \"Name\": \"ProviderManagementPolicy.CompanyWorker.Edit\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2\"\n },\n {\n \"Name\": \"Region.Navigation.Show\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"Region.Read\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"Region.Create\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"Region.Edit\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"Region.Delete\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"ControlCenter.Navigation.Show\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"ControlCenter.Read\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"ControlCenter.Create\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"ControlCenter.Edit\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"ControlCenter.Delete\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"SafetyInstruction.Read\",\n \"Roles\": \"Administrator, Datenpflege 1, Netzleitstelle, Standortverantwortlicher\"\n },\n {\n \"Name\": \"SafetyInstruction.Navigation.Show\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"SafetyInstruction.Create\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"SafetyInstruction.Edit\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"SafetyInstruction.Delete\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"LocationManagement.Navigation.Show\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 4\"\n },\n {\n \"Name\": \"Location.Read\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 4\"\n },\n {\n \"Name\": \"Location.Create\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"Location.Edit\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"Location.Delete\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"Location.CSV.Export\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"Location.CSV.Import\",\n \"Roles\": \"Administrator, Datenpflege 1\"\n },\n {\n \"Name\": \"LocationReport.Navigation.Show\",\n \"Roles\": \"Administrator, Netzleitstelle, Standortverantwortlicher\"\n },\n {\n \"Name\": \"LocationReport.Message.Send\",\n \"Roles\": \"Administrator, Netzleitstelle, Standortverantwortlicher\"\n },\n {\n \"Name\": \"CoupledSystem.Read\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"CoupledSystem.Edit\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"CoupledSystem.Create\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"CoupledSystem.Delete\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"Admin.CantSee\",\n \"Roles\": \"Datenpflege 1\"\n },\n {\n \"Name\": \"Twilio.VoiceCall\",\n \"Roles\": \"Administrator,Datenpflege 1, Datenpflege 2, Datenpflege 3, Datenpflege 4\"\n },\n {\n \"Name\": \"Twilio.ConferenceVoiceCall\",\n \"Roles\": \"Administrator,Datenpflege 1, Datenpflege 2, Datenpflege 3, Datenpflege 4\"\n },\n {\n \"Name\": \"Category.Read\",\n \"Roles\": \"Administrator,Datenpflege 1\"\n },\n {\n \"Name\": \"Category.Edit\",\n \"Roles\": \"Administrator,Datenpflege 1\"\n },\n {\n \"Name\": \"Category.Create\",\n \"Roles\": \"Administrator,Datenpflege 1\"\n },\n {\n \"Name\": \"Category.Delete\",\n \"Roles\": \"Administrator,Datenpflege 1\"\n },\n {\n \"Name\": \"CombinedPolicies.ReadSelectableUser\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2, Datenpflege 3, Netzleitstelle\"\n },\n {\n \"Name\": \"CombinedPolicies.ReadSelectableLocation\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 4, Netzleitstelle\"\n },\n {\n \"Name\": \"CombinedPolicies.ReadSelectableCompanyWorker\",\n \"Roles\": \"Administrator, Datenpflege 1, Datenpflege 2, Netzleitstelle\"\n },\n {\n \"Name\": \"CombinedPolicies.ReadSelectableActivities\",\n \"Roles\": \"Administrator, Netzleitstelle\"\n },\n {\n \"Name\": \"CombinedPolicies.ReadSelectableSettings\",\n \"Roles\": \"Administrator, Netzleitstelle\"\n },\n {\n \"Name\": \"Disdi.ReadAttachments\",\n \"Roles\": \"Administrator\"\n },\n {\n \"Name\": \"Disdi.AllRoles\",\n \"Roles\": \"Administrator,systemadmin,Netzleitstelle,Monteur,Datenpflege 1,Datenpflege 2,Datenpflege 3,Datenpflege 4,Datenpflege 5,Standortverantwortlicher\"\n },\n {\n \"Name\": \"Disdi.Read\",\n \"Roles\": \"DYNAMIC\"\n },\n {\n \"Name\": \"Disdi.LocationPropertyEdit\",\n \"Roles\": \"DYNAMIC\"\n }\n];\n\nexport const permissionColumn = [\n \"activityText\",\n \"hasDisdi\",\n \"disdi\",\n \"infoButton\"\n]\n\nexport const defaultSpaceAroundTableOnPage = 230;\n\nexport const phoneNumberPlaceholder = \"+491234567891\"\n\nexport const countryDialCodes =[\n {\n \"name\": \"Deutschland (+49)\",\n \"dialCode\": \"+49\",\n \"id\": \"DE\"\n },\n {\n \"name\": \"Griechenland (+30)\",\n \"dialCode\": \"+30\",\n \"id\": \"GRC\"\n },\n {\n \"name\": \"Niederlande (+31)\",\n \"dialCode\": \"+31\",\n \"id\": \"NL\"\n },\n {\n \"name\": \"Belgien (+32)\",\n \"dialCode\": \"+32\",\n \"id\": \"BEL\"\n },\n {\n \"name\": \"Frankreich (+33)\",\n \"dialCode\": \"+33\",\n \"id\": \"FRA\"\n },\n {\n \"name\": \"Spanien (+34)\",\n \"dialCode\": \"+34\",\n \"id\": \"ESP\"\n },\n {\n \"name\": \"Portugal (+351)\",\n \"dialCode\": \"+351\",\n \"id\": \"POR\"\n },\n {\n \"name\": \"Luxemburg (+352)\",\n \"dialCode\": \"+352\",\n \"id\": \"LUX\"\n },\n {\n \"name\": \"Irland (+353)\",\n \"dialCode\": \"+353\",\n \"id\": \"IRE\"\n },\n {\n \"name\": \"Malta (+356)\",\n \"dialCode\": \"+356\",\n \"id\": \"MLT\"\n },\n {\n \"name\": \"Zypern (+357)\",\n \"dialCode\": \"+357\",\n \"id\": \"CYP\"\n },\n {\n \"name\": \"Finnland (+358)\",\n \"dialCode\": \"+358\",\n \"id\": \"FIN\"\n },\n {\n \"name\": \"Bulgarien (+359)\",\n \"dialCode\": \"+359\",\n \"id\": \"BGR\"\n },\n {\n \"name\": \"Ungarn (+36)\",\n \"dialCode\": \"+36\",\n \"id\": \"HUN\"\n },\n {\n \"name\": \"Litauen (+370)\",\n \"dialCode\": \"+370\",\n \"id\": \"LTU\"\n },\n {\n \"name\": \"Lettland (+371)\",\n \"dialCode\": \"+371\",\n \"id\": \"LVA\"\n },\n {\n \"name\": \"Estland (+372)\",\n \"dialCode\": \"+372\",\n \"id\": \"EST\"\n },\n {\n \"name\": \"Ukraine (+380)\",\n \"dialCode\": \"+380\",\n \"id\": \"UKR\"\n },\n {\n \"name\": \"Serbien (+381)\",\n \"dialCode\": \"+381\",\n \"id\": \"SRB\"\n },\n {\n \"name\": \"Kroatien (+385)\",\n \"dialCode\": \"+385\",\n \"id\": \"CRO\"\n },\n {\n \"name\": \"Slowenien (+386)\",\n \"dialCode\": \"+386\",\n \"id\": \"SVN\"\n },\n {\n \"name\": \"Italien (+39)\",\n \"dialCode\": \"+39\",\n \"id\": \"ITA\"\n },\n {\n \"name\": \"Rumänien (+40)\",\n \"dialCode\": \"+40\",\n \"id\": \"ROU\"\n },\n {\n \"name\": \"Schweiz (+41)\",\n \"dialCode\": \"+41\",\n \"id\": \"SUI\"\n },\n {\n \"name\": \"Tschechische Republik (+420)\",\n \"dialCode\": \"+420\",\n \"id\": \"CZE\"\n },\n {\n \"name\": \"Slowakei (+421)\",\n \"dialCode\": \"+421\",\n \"id\": \"SVK\"\n },\n {\n \"name\": \"Österreich (+43)\",\n \"dialCode\": \"+43\",\n \"id\": \"AUT\"\n },\n {\n \"name\": \"England (+44)\",\n \"dialCode\": \"+44\",\n \"id\": \"ENG\"\n },\n {\n \"name\": \"Schottland (+44)\",\n \"dialCode\": \"+44\",\n \"id\": \"SCO\"\n },\n {\n \"name\": \"Dänemark (+45)\",\n \"dialCode\": \"+45\",\n \"id\": \"DK\"\n },\n {\n \"name\": \"Schweden (+46)\",\n \"dialCode\": \"+46\",\n \"id\": \"SWE\"\n },\n {\n \"name\": \"Norwegen (+47)\",\n \"dialCode\": \"+47\",\n \"id\": \"NOR\"\n },\n {\n \"name\": \"Polen (+48)\",\n \"dialCode\": \"+48\",\n \"id\": \"PL\"\n },\n {\n \"name\": \"Türkei (+90)\",\n \"dialCode\": \"+90\",\n \"id\": \"TUR\"\n }\n];\n\nexport const checkboxColumnConfig = {\n id: \"checkColumn\",\n hideable: false,\n draggable: true,\n resizable: false,\n minWidth: 64,\n width: 64\n};\n\nexport const forbiddenStartupRouteNames =[\n \"ProviderManagementDetails\",\n \"Home\",\n \"Login\",\n \"Changelog\",\n \"Error\",\n \"Logout\",\n \"404\",\n \"Settings\",\n \"DisdiOtpLogin\",\n \"DisdiMaintenance\",\n \"DisdiView\",\n \"DisdiExit\",\n \"OAuthCallback\",\n \"OAuthSilentCallback\",\n \"DisdioAuthCallback\",\n \"DisdioAuthSilentCallback\",\n \"SsoOAuthCallback\",\n \"SsoOAuthSilentCallback\",\n \"SamlCallback\"\n]\n\nexport const disdiClientConfig = {\n clientId: \"DisdiClient\",\n scopes: \"openid profile disdiMaintain accountsvc\",\n callback: \"/disdi/oAuthCallback\",\n silent: \"/disdi/oAuthCallback/silent\"\n}\n\nexport const baseURL = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && typeof console !== 'undefined'\n // ? \"http://localhost:59572\"\n //? \"https://localhost:52178\"\n ? \"https://localhost:50767\"\n : window.location.origin;\n","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {\n AddedCompanyWorkerResponse,\n CompamyWorkersUserInfoResponse,\n CompanyWorkerSearchResponse,\n CompanyWorkersResponse,\n ExistsResponse,\n GeneralResponse\n} from \"@/models/api/Responses\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {CompanyWorkerRequest, PhoneNumberRequest} from \"@/models/api/Requests\";\nimport {CompanyWorkerInfo} from \"@/models/company/CompanyWorkerInfo\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {CompanyInfo} from \"@/models/company/CompanyInfo\";\n\nexport class CompanyWorkerService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getCompanyWorkerInfoForCompany(id: string): Promise {\n const uri = this.uriHelper.company.getCompanyWorkerInfoForCompanyPath(id);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getCompanyWorkersForCurrentSystem(): Promise {\n const uri = this.uriHelper.company.getCompanyWorkersForCurrentSystemPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async postSearchCompanyWorkerByPhonenumber(companyId: string, dialCode: string, phoneNumber: string): Promise {\n const uri = this.uriHelper.company.getSearchCompanyWorkerByPhonenumberPath(companyId);\n const requestBody = new PhoneNumberRequest(dialCode, phoneNumber);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async addorUpdateCompanyWorker(companyId: string, companyWorker: CompanyWorkerInfo): Promise {\n const uri = NullOrUndefinedHelper(companyWorker.id)\n ? this.uriHelper.company.getCompanyWorkerPath(companyId)\n : this.uriHelper.company.getCompanyWorkerByIdPath(companyId, companyWorker.id);\n\n const requestBody = new CompanyWorkerRequest(companyWorker);\n\n const reqType = NullOrUndefinedHelper(companyWorker.id)\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteCompanyWorker(companyId: string, userId: string): Promise {\n const uri = this.uriHelper.company.getCompanyWorkerByIdPath(companyId, userId);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n\n public async postPromoteToCompanyAdmin(company: CompanyInfo, user: CompanyWorkerInfo): Promise {\n // @ts-expect-error\n const uri = this.uriHelper.company.getPromoteToCompanyAdminPath(company.id ?? company.companyId, user.id ?? user.userId);\n\n return await this.webCaller.HttpSend(HttpType.put, uri);\n }\n\n public async getCompanyHasUserWithRole(id: string, role: string): Promise {\n const uri = this.uriHelper.company.getCompanyHasUserWithRolePath(id, role);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async postSetCompanyWorkerEnabled(id: string, status: boolean): Promise {\n const uri = this.uriHelper.company.getSetCompanyWorkerEnabledPath(id);\n const requestBody = status;\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async postResetExpirationForCompanyWorker(companyId: string, userId: string): Promise {\n const uri = this.uriHelper.company.getResetExpirationForCompanyWorkerPath(companyId, userId);\n const requestBody = false;\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n}","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {ActivityResponse, GeneralResponse, GuidResponse, IdResponse} from \"@/models/api/Responses\";\nimport {ErrorLocationType, HttpType} from \"@/utilities/enums/Enums\";\nimport {ActivityInfo} from \"@/models/activity/ActivityInfo\";\nimport {ActivityInfoRequest} from \"@/models/api/Requests\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\n\nexport class ActivityService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getActivitySetActivities(setId:number):Promise{\n const uri = this.uriHelper.activities.getActivitySetActivitiesPath(setId);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getActivities(viewType:string = \"display\", errorLocation:ErrorLocationType):Promise|null>{\n const uri = this.uriHelper.activities.getActivitiesPath(viewType);\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as ActivityResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.activityInfo.map(a => {\n a.id = a.activityId;\n a.name = a.activityText;\n return a;\n });\n }\n\n /*\n returns boolean on update, and string/id when add\n */\n public async addOrUpdateActivity(activity:ActivityInfo, errorLocation:ErrorLocationType):Promise{\n const isAdd = activity.id < 0;\n const uri = isAdd\n ? this.uriHelper.activities.getActivityPath()\n : this.uriHelper.activities.getSpecificActivityPath(activity.id);\n\n const requestBody = new ActivityInfoRequest(activity);\n\n const reqType = isAdd\n ? HttpType.post\n : HttpType.put;\n\n const resp = await this.webCaller.HttpSend(reqType, uri, requestBody) as GeneralResponse | IdResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return isAdd\n ? -1\n : false;\n }\n\n return isAdd\n ? (resp).id\n : true;\n }\n\n public async deleteActivity(id:number):Promise{\n const uri = this.uriHelper.activities.getSpecificActivityPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n}","export default (date:Date)=>`${date.getDate().toString().padStart(2, \"0\")}.${(date.getMonth()+1).toString().padStart(2, \"0\")}.${(date.getFullYear()-2000).toString()} ${date.getHours().toString().padStart(2, \"0\")}:${date.getMinutes().toString().padStart(2, \"0\")}`;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./DisdiMaintenance.vue?vue&type=style&index=0&id=0c471f40&scoped=true&lang=scss\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vShow as _vShow, normalizeClass as _normalizeClass, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"textSection\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-schliessen\" }, null, -1)\nconst _hoisted_4 = [\n _hoisted_3\n]\n\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport { computed } from \"vue\";\nimport { ErrorType, ErrorLocationType } from \"@/utilities/enums/Enums\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Error',\n props: {\n errorLoc: ErrorLocationType,\n},\n setup(__props) {\n\nconst props = __props\n\n\n\nconst globalStore = useGlobalStore();\n\nconst show = computed(()=> props.errorLoc === globalStore.error.location);\n\nconst closeError = ()=>{\n globalStore.error.location = ErrorLocationType.none;\n};\n\nreturn (_ctx: any,_cache: any) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(['contextError', _unref(globalStore).error.type === _unref(ErrorType).warning ? 'warningType' : 'errorType'])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createTextVNode(_toDisplayString(_unref(globalStore).error.text), 1),\n _hoisted_2\n ]),\n _createElementVNode(\"div\", { class: \"buttonSection\" }, [\n _createElementVNode(\"div\", {\n type: \"button\",\n class: \"errorCloseButton\",\n onClick: closeError\n }, _hoisted_4)\n ])\n ], 2)), [\n [_vShow, _unref(show)]\n ])\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=0cbbdaac&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./TabsWrapper.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./TabsWrapper.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export class AttributeFilter{\n tableName:string;\n attributeName:string;\n attributeValue:string;\n\n constructor(tableName:string, attribute:string, value:string) {\n this.tableName = tableName;\n this.attributeName = attribute;\n this.attributeValue = value;\n }\n}","import { RegistrationStatusType } from \"@/utilities/enums/Enums\";\nimport { LocationRegistrationStatus } from \"@/models/registration/LocationRegistrationStatus\";\nimport dateToString from \"@/utilities/helpers/DateToStringHelper\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport IsNullOrUndefined from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\nexport class FilterMethodBuilder {\n location: LocationFilters = new LocationFilters();\n user: UserFilters = new UserFilters();\n register: RegisterReportFilters = new RegisterReportFilters();\n registerLocation: RegisterLocationReportFilters = new RegisterLocationReportFilters();\n disdi: DisdiFilters = new DisdiFilters();\n}\n\nclass LocationFilters {\n filterStatus(value:any) {\n return (record:any) => {\n const obj = record.data;\n const regStatus = new LocationRegistrationStatus(obj.registrationStatus);\n\n switch (value) {\n case RegistrationStatusType.isBusy:\n return regStatus.isBusy();\n\n case RegistrationStatusType.wasBusy:\n return regStatus.unregisteredCount > 0 && regStatus.registeredCount === 0;\n\n case RegistrationStatusType.notBusy:\n return regStatus.totalRegistrationsCount() === 0;\n\n default:\n console.log(\"invalid regStatusType given when filtering:\", value);\n break;\n }\n };\n }\n\n filterControlCenter(value:number) {\n return (record:any) => {\n const obj = record.data;\n \n return obj.controlCenterId === value;\n };\n }\n\n filterGroup1(value:number) {\n return (record:any) => {\n const obj = record.data;\n \n return obj.group1Id === value;\n };\n }\n\n filterGroup2(value:number) {\n return (record:any) => {\n const obj = record.data;\n \n return obj.group2Id === value;\n }; \n }\n}\n\nclass UserFilters {\n filterIsActive(value:boolean){\n return (record:any) => {\n const obj = record.data;\n\n return obj.isActive === value;\n };\n }\n\n filterRoles(value:string){\n return (record:any) => {\n const obj = record.data;\n\n return obj.roles.includes(value);\n };\n }\n\n filterHasKID(value:boolean){\n return (record:any) => {\n const obj = record.data;\n\n return value ? !IsNullOrUndefined(obj.kid) : IsNullOrUndefined(obj.kid);\n };\n }\n}\n\nclass RegisterReportFilters {\n filterIsActive(value:boolean){\n return (record:any) => {\n const obj = record.data;\n\n return obj.isActive === value;\n };\n }\n filterToday(){\n return (record:any)=>{\n const obj = record.data;\n\n const regDate = dateToString(new Date(obj.lastRegisteredLocationDate)).slice(0,-6);\n const nowDate = dateToString(new Date()).slice(0,-6);\n\n return regDate === nowDate;\n }\n }\n}\n\nclass RegisterLocationReportFilters{\n filterIsActive(value:boolean){\n return (record:any) => {\n const obj = record.data;\n\n return obj.registrationStatus.isLocationBusy === value;\n };\n }\n filterToday(){\n return (record:any)=>{\n const obj = record.data;\n\n const regDate = dateToString(new Date(obj.lastRegisteredDate)).slice(0,-6);\n const nowDate = dateToString(new Date()).slice(0,-6);\n\n return regDate === nowDate;\n }\n }\n filterControlCenter(value:number) {\n return (record:any) => {\n const obj = record.data;\n\n return obj.controlCenterId === value;\n };\n }\n filterGroup1(value:number) {\n return (record:any) => {\n const obj = record.data;\n\n return obj.group1Id === value;\n };\n }\n filterGroup2(value:number) {\n return (record:any) => {\n const obj = record.data;\n\n return obj.group2Id === value;\n };\n }\n}\n\nclass DisdiFilters{\n filterCategory(value:string) {\n return (record:any) => {\n const obj = record.data as DisdiInfo;\n\n return obj.categoryId === value;\n };\n }\n}\n","import { FilterMethodBuilder } from \"@/utilities/helpers/FilterMethodBuilder\";\nimport { UserPreference } from \"@/models/user/UserPreference\";\nimport { RegistrationStatusType, TableType } from \"@/utilities/enums/Enums\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\n\nclass FilterService {\n filterBuilder: FilterMethodBuilder;\n\n constructor() {\n this.filterBuilder = new FilterMethodBuilder();\n }\n\n /*\n returns a method that the grid can filter by\n optionally can be used to return a method to filter with tmp-filter-selection\n */\n buildFilter(tableName:string, useTmpFilters:boolean = false) {\n const globalStore = useGlobalStore()\n\n const filters = useTmpFilters\n ? globalStore.tmpPreferences.tmpUserFilters\n : globalStore.userPreferences.userFilters;\n const filterMethodDict = this.getFilterMethodDict(tableName, filters, useTmpFilters);\n\n // return userPreference-Filter as a method for bryntums filterBy-Method\n return (record:any) => {\n // convert {:[propFilterMethods], :[propFilterMethods], ...} to [[propFilterMethods], [propFilterMethods], ...]\n const methodList:any = [];\n Object.keys(filterMethodDict).forEach((k:any) => methodList.push(filterMethodDict[k]));\n\n let result = true;\n\n methodList.forEach((propMethodList:any) => {\n let propFilterResult = false;\n\n // concatinate multiple filters for the same property via '||'\n propMethodList.forEach((method:any) => {\n propFilterResult = propFilterResult || method(record);\n });\n\n // concatinate propFilterResult with other propFilterResults via '&&'\n result = result && propFilterResult;\n });\n\n return result;\n };\n }\n\n\n /* ---- PRIVATE ---- */\n\n\n /*\n returns a dict for all properties to filter (key == propertyName and value == arrayOfFolterMethods)\n */\n private getFilterMethodDict (tableName:string, filters:Array, useTmpFilters:boolean = false): any {\n // filter for only table-relevant filters and also ignore filters for hidden columns\n const tableFilters = filters.filter((f:UserPreference) => f.tableName === tableName && !this.isForHiddenColumn(f, useTmpFilters));\n\n switch(tableName) {\n case TableType[TableType.location]: {\n return this.getLocationMethods(tableFilters);\n break;\n }\n case TableType[TableType.user]: {\n return this.getUserMethods(tableFilters);\n break;\n }\n case TableType[TableType.register]: {\n return this.getRegisterReportMethods(tableFilters);\n break;\n }\n case TableType[TableType.registerLocation]: {\n return this.getRegisterLocationReportMethods(tableFilters);\n break;\n }\n case TableType[TableType.disdi]:{\n return this.getDisdiMethods(tableFilters);\n break;\n }\n default: {\n console.log(\"[FilterService] [getFilterMethodDict]: unknown table\");\n return {};\n break;\n }\n }\n }\n\n /*\n returns array of filter-methods per property to apply to the record\n */\n private getLocationMethods(filters:Array): any {\n const result = this.initFilterList(filters);\n\n // fill with correct filter-methods\n filters.forEach((f:UserPreference) => {\n switch (f.attributeName) {\n case \"registrationStatus\": {\n const convertedAttrValue = (RegistrationStatusType[f.attributeValue as keyof typeof RegistrationStatusType]);\n result[f.attributeName].push(this.filterBuilder.location.filterStatus(convertedAttrValue));\n\n break;\n }\n case \"controlCenterId\": {\n const convertedAttrValue = parseInt(f.attributeValue);\n if(!isNaN(convertedAttrValue)) result[f.attributeName].push(this.filterBuilder.location.filterControlCenter(convertedAttrValue));\n\n break;\n }\n case \"group1Id\": {\n const convertedAttrValue = parseInt(f.attributeValue);\n if(!isNaN(convertedAttrValue)) result[f.attributeName].push(this.filterBuilder.location.filterGroup1(convertedAttrValue));\n\n break;\n }\n case \"group2Id\": {\n const convertedAttrValue = parseInt(f.attributeValue);\n if(!isNaN(convertedAttrValue)) result[f.attributeName].push(this.filterBuilder.location.filterGroup2(convertedAttrValue));\n\n break;\n }\n default: {\n console.log(\"attribute not known, skipping filter\");\n\n break;\n }\n }\n });\n\n return result;\n }\n\n /*\n returns array of filter-methods per property to apply to the record\n */\n private getUserMethods(filters:Array):any{\n const result = this.initFilterList(filters);\n\n // fill with correct filter-methods\n filters.forEach((f:UserPreference) => {\n switch (f.attributeName) {\n case \"roles\": {\n const convertedAttrValue = f.attributeValue;\n result[f.attributeName].push(this.filterBuilder.user.filterRoles(convertedAttrValue));\n\n break;\n }\n case \"isActive\": {\n const convertedAttrValue = f.attributeValue === \"true\";\n result[f.attributeName].push(this.filterBuilder.user.filterIsActive(convertedAttrValue));\n\n break;\n }\n case \"kid\": {\n const convertedAttrValue = f.attributeValue === \"true\";\n result[f.attributeName].push(this.filterBuilder.user.filterHasKID(convertedAttrValue));\n\n break;\n }\n default: {\n console.log(\"attribute not known, skipping filter\");\n\n break;\n }\n }\n });\n\n return result;\n }\n\n /*\n returns array of filter-methods per property to apply to the record\n */\n private getRegisterReportMethods(filters:Array): any {\n const result = this.initFilterList(filters);\n\n // fill with correct filter-methods\n filters.forEach((f:UserPreference) => {\n switch (f.attributeName) {\n case \"isActive\": {\n const convertedAttrValue = f.attributeValue === \"Active\";\n result[f.attributeName].push(this.filterBuilder.register.filterIsActive(convertedAttrValue));\n\n break;\n }\n case \"isToday\": { //TODO read value? needed?\n result[f.attributeName].push(this.filterBuilder.register.filterToday());\n\n break;\n }\n default: {\n console.log(\"attribute not known, skipping filter\");\n\n break;\n }\n }\n });\n\n return result;\n }\n\n /*\n returns array of filter-methods per property to apply to the record\n */\n private getRegisterLocationReportMethods(filters:Array): any{\n const result = this.initFilterList(filters);\n\n // fill with correct filter-methods\n filters.forEach((f:UserPreference) => {\n switch (f.attributeName) {\n case \"registrationStatus.isLocationBusy\": {\n const convertedAttrValue = f.attributeValue === \"Active\";\n result[f.attributeName].push(this.filterBuilder.registerLocation.filterIsActive(convertedAttrValue));\n\n break;\n }\n case \"isToday\": {\n result[f.attributeName].push(this.filterBuilder.registerLocation.filterToday());\n\n break;\n }\n case \"controlCenterId\": {\n const convertedAttrValue = parseInt(f.attributeValue);\n if(!isNaN(convertedAttrValue)) result[f.attributeName].push(this.filterBuilder.registerLocation.filterControlCenter(convertedAttrValue));\n\n break;\n }\n case \"group1Id\": {\n const convertedAttrValue = parseInt(f.attributeValue);\n if(!isNaN(convertedAttrValue)) result[f.attributeName].push(this.filterBuilder.registerLocation.filterGroup1(convertedAttrValue));\n\n break;\n }\n case \"group2Id\": {\n const convertedAttrValue = parseInt(f.attributeValue);\n if(!isNaN(convertedAttrValue)) result[f.attributeName].push(this.filterBuilder.registerLocation.filterGroup2(convertedAttrValue));\n\n break;\n }\n default: {\n console.log(\"attribute not known, skipping filter\");\n\n break;\n }\n }\n });\n\n return result;\n }\n\n private getDisdiMethods(filters:Array): any{\n const result = this.initFilterList(filters);\n\n for (const f of filters){\n switch (f.attributeName) {\n case \"categoryId\": {\n result[f.attributeName].push(this.filterBuilder.disdi.filterCategory(f.attributeValue));\n\n break;\n }\n default: {\n console.log(\"attribute not known, skipping filter\");\n\n break;\n }\n }\n }\n\n return result;\n }\n\n\n /*\n init result as dict where 'key == propName' && 'value == array'\n */\n private initFilterList(filters:Array){\n return filters.reduce((initResult:any , filter:UserPreference)=>{\n const attr = filter.attributeName;\n\n if (initResult[attr] === undefined) initResult[attr] = [];\n\n return initResult;\n }, {});\n }\n\n /*\n translate from attributeName to col-field-id and return if the filter is for a hidden column\n */\n private isForHiddenColumn(filter:UserPreference, useTmpFilters:boolean = false) {\n let attribute = \"\";\n\n switch(filter.attributeName){\n case \"group2Id\":{\n attribute = \"group2Name\";\n break;\n }\n case \"group1Id\":{\n attribute = \"group1Name\";\n break;\n }\n case \"controlCenterId\":{\n attribute = \"controlCenterName\";\n break;\n }\n default:{\n attribute = filter.attributeName;\n break;\n }\n }\n\n const globalStore = useGlobalStore();\n\n const colStore = useTmpFilters\n ? globalStore.tmpPreferences.tmpUserHiddenColumns\n : globalStore.userPreferences.userHiddenColumns;\n\n return colStore.some((hc:UserPreference) => hc.attributeName === attribute);\n }\n}\n\nexport default new FilterService();\n","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {ControlCentersResponse} from \"@/models/api/Responses\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {ControlCenterInfo} from \"@/models/controlCenter/ControlCenterInfo\";\nimport {ControlCenterRequest} from \"@/models/api/Requests\";\n\nexport class ControlCenterService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getControlCenters(viewtype: string = \"selectable\"):Promise {\n const uri = this.uriHelper.controlCenters.getControlCentersPath() + `/viewtype/${viewtype}`;\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async addOrUpdateControlCenter(center:ControlCenterInfo):Promise{\n const uri = center.id < 0\n ? this.uriHelper.controlCenters.getControlCentersPath()\n : this.uriHelper.controlCenters.getControlCenterPath(center.id);\n const requestBody = new ControlCenterRequest(center);\n const reqType = center.id < 0\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteControlCenter(id:number):Promise{\n const uri = this.uriHelper.controlCenters.getControlCenterPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n}\n","import {\n GeneralResponse,\n LocationRegistrationResponse,\n LocationUsersResponse,\n RegisteredUserResponse, RegistrationResponse\n} from \"@/models/api/Responses\";\nimport {ChangeActivityRequest, ManualRegistrationRequest} from \"@/models/api/Requests\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\n\nexport class RegistrationService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n\n public async postRegisterUser(userId:string, locationId:number, activityText:string|undefined = undefined, guestCount:number = 0):Promise{\n const uri = this.uriHelper.registrations.getManualRegistrationPath();\n const requestBody = new ManualRegistrationRequest(userId, locationId, activityText, guestCount);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async postUnRegisterUser(userId:string, locationId:number):Promise{\n const uri = this.uriHelper.registrations.getManualRegistrationPath();\n const requestBody = new ManualRegistrationRequest(userId, locationId, undefined, 0);\n\n return await this.webCaller.HttpSend(HttpType.put, uri, requestBody);\n }\n\n public async getOpenRegistrationForUser(userId:string):Promise{\n const uri = this.uriHelper.registrations.getOpenRegistrationForUserPath(userId);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n // LOCATION REPORTS\n\n public async getLocationReports():Promise{\n const uri = this.uriHelper.registrations.getLocationReportsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getUserInfoForLocation(id:number):Promise {\n const uri = this.uriHelper.registrations.getLocationUserReportsPath(id);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n // REGISTRATION REPORTS\n\n public async getRegistrationReports():Promise{\n const uri = this.uriHelper.registrations.getRegistrationReportsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getOpenRegistrationsByUsers():Promise{\n const uri = this.uriHelper.registrations.getOpenRegistrationsByUsersPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async postChangeActivityForRegistration(registrationId:number, activityId:number | undefined, activityText:string):Promise{\n const uri = this.uriHelper.registrations.getChangeActivityForRegistrationPath(registrationId);\n const requestBody = new ChangeActivityRequest(activityId, activityText);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n}\n","import { ContactInfo } from \"../ContactInfo\";\nimport { SafetyInstructionInfo } from \"../safetyInstruction/SafetyInstructionInfo\";\nimport { LocationRegistrationStatus } from \"../registration/LocationRegistrationStatus\";\n\nexport class LocationInfo {\n id: number = -1;\n secondaryId: string = \"\";\n syncId?: string = \"\";\n longitude?: number = undefined;\n latitude?: number = undefined;\n registrationRadius?: number = undefined;\n name: string = \"\";\n namePronunciation: string = \"\";\n contactInfo: ContactInfo = new ContactInfo();\n email: string = \"\";\n phoneNumber: string = \"\";\n phoneNumberAlt1?: string = undefined;\n phoneNumberAlt2?: string = undefined;\n phoneNumberAltIsFallback: boolean = false;\n couplingEnabled: boolean = false;\n coupledSystemsName: Array = [];\n customAdditionalInformation?: string = undefined;\n registrationStatus: LocationRegistrationStatus = new LocationRegistrationStatus;\n group1Id?: number = undefined;\n group1SyncId: string = \"\";\n group2Id?: number = undefined;\n controlCenterId?: number = undefined;\n controlCenterSyncId: string = \"\";\n group1Name: string = \"\";\n group2Name: string = \"\";\n controlCenterName: string = \"\";\n safetyInstructions: Array = [];\n pdfTemplate?: number = undefined;\n systemCouplingIdentifier?: string = undefined;\n activitySetId:number | null = null;\n hasDisdi:boolean = false;\n disdiCount:number = -1;\n}","import { ref } from 'vue'\nconst state = ref({\n type: 'alert',\n active: false,\n message: '',\n title: '',\n hint:'',\n okText: 'Ok',\n cancelText: 'Abbrechen',\n inputType: 'text',\n html: false,\n})\n\n\nlet close:any\nconst dialogPromise = () => new Promise((resolve) => (close = resolve))\nconst open = (message: any) => {\n state.value.message = message\n state.value.active = true\n return dialogPromise()\n}\nconst reset = () => {\n state.value.active = false\n state.value.message = ''\n state.value.okText = 'Ok'\n state.value.cancelText = 'Cancel'\n state.value.inputType = 'text'\n state.value.html = false\n state.value.title = ''\n state.value.hint = ''\n state.value.type = 'alert'\n}\n\n\nconst dialog = {\n get state() {\n return state\n },\n title(title: any) {\n state.value.title = title\n return this\n },\n hint(hint: string){\n state.value.hint = hint\n return this\n },\n okText(text: any) {\n state.value.okText = text\n return this\n },\n\n cancelText(text: any) {\n state.value.cancelText = text\n return this\n },\n inputType(type: any) {\n state.value.inputType = type\n return this\n },\n html(enabled = true) {\n state.value.html = enabled\n return this\n },\n alert(message: any) {\n state.value.type = 'alert'\n return open(message)\n },\n confirm(message: any) {\n state.value.type = 'confirm'\n return open(message)\n },\n prompt(message: any) {\n state.value.type = 'prompt'\n return open(message)\n },\n cancel() {\n close(false)\n reset()\n },\n ok(input = true) {\n input = state.value.type === 'prompt' ? input : true\n close(input)\n reset()\n },\n}\n\nexport default dialog\n","export class CompanyInfo{\n id:string = \"\";\n name:string = \"\";\n searchName:string = \"\";\n hasAdmin:boolean = false;\n phoneNumber:string = \"\";\n zip:string = \"\";\n city:string = \"\";\n street:string = \"\";\n streetnumber:string = \"\";\n userId:string = \"\";\n contactPersonName:string = \"\";\n companyIdCode:string = \"\";\n info:string = \"\";\n dialCode:string = \"\";\n contactPersonEmail:string = \"\";\n isContactPerson:boolean = false;\n contactPersonPhoneNumber:string = \"\";\n idCode:string = \"\";\n}","module.exports = \"data:image/png;base64,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\"","export default async (ms:number) => {\n return new Promise(resolve => setTimeout(resolve, ms));\n};","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport Multiselect from '@vueform/multiselect'\nimport {toRef} from \"vue\";\n\nimport {useI18n} from \"vue-i18n\";\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Select',\n props: {\n options: Array,\n mode: String,\n selected: [Number, String],\n\tdisabled: Boolean,\n searchable: { type: Boolean, default: false},\n valueProp: { type: String, default: \"id\" },\n labelProp: { type: String, default: \"name\" }\n},\n emits: ['selectChanged'],\n setup(__props, { emit }) {\n\nconst props = __props\n\nconst { t } = useI18n();\n\n\n\n\nlet optionsSelected = toRef(props, 'selected');\nconst options = toRef(props, 'options');\n\nfunction changeOptions(value) {\n emit('selectChanged', value);\n}\n\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_unref(Multiselect), {\n modelValue: _unref(optionsSelected),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(optionsSelected) ? (optionsSelected).value = $event : optionsSelected = $event)),\n mode: __props.mode,\n label: __props.labelProp,\n valueProp: __props.valueProp,\n \"close-on-select\": true,\n \"create-option\": false,\n searchable: __props.searchable,\n options: _unref(options),\n disabled: __props.disabled,\n noOptionsText: _unref(t)('global.emptyList'),\n onChange: _cache[1] || (_cache[1] = ($event: any) => (changeOptions($event)))\n }, null, 8, [\"modelValue\", \"mode\", \"label\", \"valueProp\", \"searchable\", \"options\", \"disabled\", \"noOptionsText\"])\n ]))\n}\n}\n\n})","import script from \"./Select.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Select.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./TextOrSpinner.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./TextOrSpinner.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {RegionsResponse} from \"@/models/api/Responses\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {RegionInfo} from \"@/models/group1/RegionInfo\";\nimport {RegionRequest} from \"@/models/api/Requests\";\n\nexport class Group1Service {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getRegions(viewtype: string = \"selectable\"):Promise {\n const uri = this.uriHelper.regions.getRegionsPath() + `/viewtype/${viewtype}`;\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async addOrUpdateRegion(region:RegionInfo):Promise{\n const uri = region.id < 0\n ? this.uriHelper.regions.getRegionsPath()\n : this.uriHelper.regions.getRegionPath(region.id);\n const requestBody = new RegionRequest(region);\n const reqType = region.id < 0\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteRegion(id:number):Promise{\n const uri = this.uriHelper.regions.getRegionPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n}\n","export enum HttpType {\n post,\n get,\n delete,\n put,\n}\n\nexport enum PdfExportActionEnum {\n download,\n email,\n}\n\nexport enum PopupType {\n none,\n locationEditor,\n locationFilterPopup,\n locationCouplingPopup,\n userFilterPopup,\n userPopup,\n csvImportPopup,\n group2Popup,\n group2Locations,\n controlCenterEditor,\n regionEditor,\n registrationUserHistory,\n registrationFilterPopup,\n safetyInstructions,\n safetyInstructionLocationsPopup,\n locationReportsPopup,\n locationReportsDetailsPopup,\n locationReportsFilterPopup,\n locationReportsUserHistoryPopup,\n registerPopup,\n activitySetLocationsPopup,\n activitySetEditPopup,\n activityEditPopup,\n providerManagementEditPopup,\n providerNewCompanyWorkerPopup,\n providerCompanyWorkerEditPopup,\n selectSimilarCompany,\n settingsEditSpokenText,\n settingsEditSystemSetting,\n settingsEditCoupledSystems,\n settingsResetCredentials,\n changeActivityForRegistration,\n categoryEditor,\n disdiDetailsPopup,\n disdiFilterPopup,\n locationDisdiEditor\n}\n\nexport enum ErrorType {\n warning,\n error,\n}\n\nexport enum ErrorLocationType {\n none,\n login,\n popup,\n table,\n form,\n disdiMaintenance\n}\n\nexport enum RegistrationStatusType {\n isBusy,\n wasBusy,\n notBusy,\n}\n\nexport enum PreferenceType {\n filter = 1,\n hiddenColumn = 2,\n general = 3,\n columnOrder = 4,\n}\n\nexport enum TableType {\n location,\n user,\n controlCenter,\n group1,\n group2,\n register,\n registerLocation,\n activitySetLocations,\n safetyInstructionLocations,\n activitySet,\n activitySetEditLocation,\n activity,\n locationReportsUserHistory,\n coupledLocation,\n availableCouplingLocation,\n locationsPopup,\n similarCompany,\n userRegistrationHistory,\n safetyInstruction,\n coupledSystem,\n systemSetting,\n notification,\n provider,\n providerStaff,\n spokenText,\n category,\n disdi,\n}\n\nexport enum CouplingActionType {\n couple,\n decouple,\n}\n\nexport enum CoupledSafetyInstructionActionType {\n accept,\n decline\n}\n\nexport enum ZdvSettingType{\n disdi = 1\n}\n\nexport enum SsoType {\n none,\n oauth,\n saml\n}\n\nexport enum NotifyType {\n info,\n success,\n error\n}\n\nexport enum DisdiStateType{\n NoDISDI,\n SomeLocations,\n AllLocations\n}\n\nexport enum DisdiMetadataType{\n None,\n OnlyRegistration,\n OnlyUnregistration,\n Both\n}","\n\n\n\n\n","import script from \"./Text.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Text.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { RegisteredLocationInfo } from \"../registration/RegisteredLocationInfo\";\nimport {SelectableRoleInfo} from \"@/models/SelectableRoleInfo\";\n\nexport class UserInfo {\n id: string = \"\";\n firstName: string = \"\";\n lastName: string = \"\";\n fullName: string = `${this.firstName} ${this.lastName}`;\n namePronunciation: string = \"\";\n identificationNumber: string = \"\";\n kid: string|null = null;\n email: string = \"\";\n dialCode:string = \"\";\n phoneNumber: string = \"\"; // sadly sometimes with and sometimes without dialCode, seperation of the 2 not globally implemented yet (15.03.2023)\n registeredLocationInfo: Array = [];\n companyId?:string = undefined;\n roles: Array = [];\n info: string = \"\";\n deletedDays: number = 0;\n isActive: boolean = false;\n deleteWarning: boolean = false;\n deleteDate: string = \"\";\n isRegistered: boolean = false;\n hasProtection: boolean = false;\n lastPasswordChange:string = \"\";\n}\n","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {ErrorLocationType, HttpType} from \"@/utilities/enums/Enums\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {CategoryRequest} from \"@/models/api/Requests\";\nimport {\n CategoriesResponse,\n CategoryByIdResponse,\n GeneralResponse,\n GuidResponse,\n IconsResponse\n} from \"@/models/api/Responses\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\nexport class CategoryService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor() {\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getCategories(viewtype: string = \"display\", errorLocation:ErrorLocationType):Promise | null> {\n const uri = this.uriHelper.category.getCategoriesPath() + `/viewtype/${viewtype}`;\n\n const listResp = (await this.webCaller.HttpSend(HttpType.get, uri)) as CategoriesResponse;\n if (listResp === null || listResp === undefined || listResp.statusCode !== 0){\n ErrorHandler.handleError(listResp, errorLocation);\n return null;\n }\n\n return listResp.categories;\n }\n\n public async addOrUpdateCategory(category:CategoryInfo, errorLocation:ErrorLocationType):Promise{\n const uri = NullOrUndefinedHelper(category.id)\n ? this.uriHelper.category.getCategoriesPath()\n : this.uriHelper.category.getCategoryByIdPath(category.id);\n const requestBody = new CategoryRequest(category);\n const reqType = NullOrUndefinedHelper(category.id)\n ? HttpType.post\n : HttpType.put;\n\n const categoryResp = (await this.webCaller.HttpSend(reqType, uri, requestBody)) as GuidResponse | GeneralResponse;\n if (categoryResp === null || categoryResp === undefined || categoryResp.statusCode !== 0) {\n ErrorHandler.handleError(categoryResp, errorLocation);\n return null;\n }\n\n if (NullOrUndefinedHelper(category.id)) category.id = (categoryResp as GuidResponse).id;\n\n return category;\n }\n\n public async deleteCategory(id:string, errorLocation:ErrorLocationType):Promise{\n const uri = this.uriHelper.category.getCategoryByIdPath(id);\n\n const delResp = (await this.webCaller.HttpSend(HttpType.delete, uri)) as GeneralResponse;\n const success = delResp !== null && delResp !== undefined && delResp.statusCode === 0\n if (!success) ErrorHandler.handleError(delResp, errorLocation);\n\n return success;\n }\n\n public async getAllIconNames(errorLocation:ErrorLocationType):Promise|null>{\n const uri = this.uriHelper.category.getAllIconNamesPath();\n\n const listResp = (await this.webCaller.HttpSend(HttpType.get, uri)) as IconsResponse;\n if (listResp === null || listResp === undefined || listResp.statusCode !== 0){\n ErrorHandler.handleError(listResp, errorLocation);\n return null;\n }\n\n return listResp.iconInfo?.map(ii => ii.name) ?? null;\n }\n\n public async getAvailableIconNames(errorLocation:ErrorLocationType):Promise|null>{\n const uri = this.uriHelper.category.getAvailalbleIconNamesPath();\n\n const listResp = (await this.webCaller.HttpSend(HttpType.get, uri)) as IconsResponse;\n if (listResp === null || listResp === undefined || listResp.statusCode !== 0){\n ErrorHandler.handleError(listResp, errorLocation);\n return null;\n }\n\n return listResp.iconInfo?.map(ii => ii.name) ?? null;\n }\n}","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {\n CompaniesResponse,\n CompanyIdCodeResponse,\n CompanyIdResponse,\n CompanyInfoResponse,\n GeneralResponse\n} from \"@/models/api/Responses\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {CompanyInfo} from \"@/models/company/CompanyInfo\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {CompanyRequest, ConnectSystemToCompanyRequest} from \"@/models/api/Requests\";\n\nexport class CompanyService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getCompanyDetails(viewType: string = \"display\"): Promise {\n const uri = this.uriHelper.company.getCompanyDetailsPath(viewType);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getCompaniesByName(name: string): Promise {\n const uri = this.uriHelper.company.getCompanyByNamePath(name);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getNewCompanyIdCode(): Promise {\n const uri = this.uriHelper.company.getCompanyIdCodePath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async addOrUpdateCompany(company: CompanyInfo): Promise {\n const uri = NullOrUndefinedHelper(company.id)\n ? this.uriHelper.company.getCompanyPath()\n : this.uriHelper.company.putProviderByIdPath(company.id);\n\n const requestBody = new CompanyRequest(company);\n\n const reqType = NullOrUndefinedHelper(company.id)\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async getCompanyById(id: string): Promise {\n const uri = this.uriHelper.company.getProviderByIdPath(id);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n // careful with this one: it hard-deletes the company entry not the anabsystemCompany one!\n public async deleteCompany(id: string): Promise {\n const uri = this.uriHelper.company.getProviderByIdPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n\n // correct 'deletion API', it only deletes the cross-table reference in anabsystemCompany and not globally deletes the company entity (which may be connected to other systems aswell)\n public async deleteSystemConnectionToCompany(id: string): Promise {\n const uri = this.uriHelper.company.getProviderByIdPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n\n public async postConnectSystemToCompany(systemId: (string | undefined) = undefined, companyId: string, companyIdCode: string, info: string): Promise {\n const uri = this.uriHelper.company.getConnectSystemToCompanyPath();\n const requestBody = new ConnectSystemToCompanyRequest(systemId, companyId, companyIdCode, info);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async postGetAllSimilarCompany(company: CompanyInfo): Promise {\n const uri = this.uriHelper.company.getAllSimilarCompanyPath();\n const requestBody = new CompanyRequest(company);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n}","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport {ErrorLocationType, HttpType} from \"@/utilities/enums/Enums\";\nimport {\n AttachmentResponse, DiaryEntryAttachmentResponse,\n DiaryEntryResponse,\n DisdiResponse,\n ExportPDFResponse,\n GeneralResponse, GuidResponse\n} from \"@/models/api/Responses\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {CreateEmptyDisdiRequest, FileNameListRequest, UpdateDisdiEntryRequest} from \"@/models/api/Requests\";\nimport {BlobUploadService} from \"@/utilities/services/BlobUploadService\";\nimport {PdfFile} from \"@/models/PdfFile\";\n\nexport class DisdiService{\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n private blobUploader: BlobUploadService;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n this.blobUploader = new BlobUploadService();\n }\n\n public async getDisdiEntriesForRegistration(regId:number, errorLocation:ErrorLocationType):Promise | null>{\n const uri = this.uriHelper.disdi.getDisdiByRegistrationPath(regId);\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as DisdiResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.diaryEntries;\n }\n\n public async getDisdiEntriesForLocation(locationId:number, errorLocation:ErrorLocationType):Promise | null>{\n const uri = this.uriHelper.disdi.getDisdiByLocationPath(locationId);\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as DisdiResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.diaryEntries;\n }\n\n public async getAttachments(disdiId:string, errorLocation:ErrorLocationType):Promise|null>{\n const uri = this.uriHelper.disdi.getAttachmentsPath(disdiId);\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as AttachmentResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.diaryEntryAttachments;\n }\n\n public async checkAndUpdateHasAttachmentProperty(disdiId:string):Promise{\n const uri = this.uriHelper.disdi.getCheckAndUpdateHasAttachmentPropertyPath(disdiId);\n\n return await this.webCaller.HttpSend(HttpType.put, uri) as GeneralResponse;\n }\n\n public async exportPdf(disdiIds: Array, errorLocation:ErrorLocationType): Promise {\n const uri = this.uriHelper.disdi.getDisdiPdfExportPath();\n const requestBody = disdiIds;\n\n const resp = await this.webCaller.HttpSend(HttpType.post, uri, requestBody) as ExportPDFResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return false;\n }\n\n //@ts-expect-error\n const buffer = new Buffer(resp.pdfContentResult?.fileContents, \"base64\");\n const blob = new Blob([buffer], { type: resp.pdfContentResult?.contentType });\n\n const link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(blob);\n link.download = resp.pdfContentResult?.fileDownloadName as string;\n link.click();\n link.remove();\n\n return true;\n }\n\n public async getUncompletedDisdiById(disdiId:string, errorLocation:ErrorLocationType):Promise{\n const uri = this.uriHelper.disdi.getDisdiEntryByIdPath(disdiId);\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as DiaryEntryResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.diaryEntry;\n }\n\n public async getAttachementUploadUrl(disdiId:string, fileNames:Array, errorLocation:ErrorLocationType):Promise|null>{\n const uri = this.uriHelper.disdi.getAttachmentUploadUrlPath(disdiId);\n const requestBody = new FileNameListRequest(fileNames);\n\n const resp = await this.webCaller.HttpSend(HttpType.put, uri, requestBody) as DiaryEntryAttachmentResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.diaryEntryAttachments;\n }\n\n public async deleteAttachmentByFileName(disdiId:string, fileName:string, errorLocation:ErrorLocationType):Promise{\n const uri = this.uriHelper.disdi.getDeleteAttachmentFromBlobStoragePath(disdiId, fileName);\n\n const resp = await this.webCaller.HttpSend(HttpType.delete, uri) as GeneralResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return false;\n }\n\n return true;\n }\n\n public async uploadFilesToBlobStorage(uploadUrls:Array, files:Array, errorLocation:ErrorLocationType, callback:Function|null = null):Promise{\n let allSuccess = true;\n for (const file of files) {\n const encodedFileName = encodeURIComponent(file.name).replace(/\\(/g, \"%28\").replace(/\\)/g, \"%29\");\n const uploadUrl = uploadUrls.find(url => url.includes(encodedFileName)) as string;\n const successful = await this.blobUploader.UploadFile(file, uploadUrl, callback);\n allSuccess = !allSuccess ? false : successful;\n }\n\n if(!allSuccess){\n const resp = new GeneralResponse();\n resp.statusCode = 999999;\n resp.statusDescription = \"Failed to ulpoad some pictures\";\n ErrorHandler.handleError(resp, errorLocation);\n }\n\n return allSuccess;\n }\n\n public async updateDisdiEntry(entry:DisdiInfo, errorLocation:ErrorLocationType):Promise{\n const uri = this.uriHelper.disdi.getDisdiEntryByIdPath(entry.id);\n const requestBody = new UpdateDisdiEntryRequest(entry);\n\n const resp = await this.webCaller.HttpSend(HttpType.put, uri, requestBody) as GeneralResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return false;\n }\n\n return true;\n }\n\n public async createEmptyDisdiEntry(locSecId:number, regId:number, userId:string):Promise{\n const uri = this.uriHelper.disdi.getCreateEmtpyPath();\n const requestBody = new CreateEmptyDisdiRequest(locSecId, regId, userId);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./GridInputFilter.vue?vue&type=style&index=0&id=3c55e3c6&lang=scss&scoped=true\"","import { Guid } from \"guid-typescript\";\nimport { PdfExportActionEnum } from \"@/utilities/enums/Enums\";\n\nexport class PathHelper {\n locations: LocationPathHelper = new LocationPathHelper();\n safetyInstructions: SafetyInstructionPathHelper = new SafetyInstructionPathHelper();\n regions: RegionPathHelper = new RegionPathHelper();\n levels: LevelPathHelper = new LevelPathHelper();\n controlCenters: ControlCenterPathHelper = new ControlCenterPathHelper();\n misc: MiscPathHelper = new MiscPathHelper();\n coupledSystems:CoupledSystemPathHelper = new CoupledSystemPathHelper();\n registrations:RegistrationPathHelper = new RegistrationPathHelper();\n preferences:UserPreferencePathHelper = new UserPreferencePathHelper();\n account: AccountPathHelper = new AccountPathHelper();\n users: UserPathHelper = new UserPathHelper();\n company: CompanyPathHelper = new CompanyPathHelper();\n activities: ActivitiesPathHelper = new ActivitiesPathHelper();\n activitySets: ActivitySetsPathHelper = new ActivitySetsPathHelper();\n settings: SettingsPathHelper = new SettingsPathHelper();\n category: CategoryPathHelper = new CategoryPathHelper();\n disdi: DisdiPathHelper = new DisdiPathHelper();\n}\n\nclass ActivitiesPathHelper {\n getActivitySetActivitiesPath(setId:number):string {\n return `activities/activitySet/${setId}`;\n }\n getActivityPath():string {\n return `activities`;\n }\n getActivitiesPath(viewType:string):string {\n return `activities/viewType/${viewType}`;\n }\n getSpecificActivityPath(id:number):string {\n return `activities/${id}`;\n }\n}\n\nclass ActivitySetsPathHelper {\n getActivitySetsPath(viewType:string):string {\n return `activitieSets/viewType/${viewType}`;\n }\n getActivitySetBasePath():string {\n return `activitieSets`;\n }\n getSpecificActivitySetPath(id:number):string {\n return `activitieSets/${id}`;\n }\n}\n\nclass CoupledSystemPathHelper {\n getCoupledSystemsPath():string {\n return `coupledsystems`;\n }\n getCoupledSystemByIdPath(id:number):string {\n return `coupledsystems/${id}`;\n }\n getAvailableLocationsForForeignSystemPath(systemId:number):string {\n return `coupledsystems/foreignLocation/callAPI/${systemId}`;\n }\n}\n\nclass ControlCenterPathHelper {\n getControlCentersPath():string {\n return `controlCenters`;\n }\n getControlCenterPath(id:number) {\n return `controlCenters/${id}`;\n }\n}\n\nclass MiscPathHelper {\n getPdfTemplatesPath():string {\n return `pdf/templates/locations`;\n }\n getVoiceTestCallPath():string {\n return `twilios/voice`;\n }\n getStartupConfigPath(){\n return `startups`;\n }\n getHubNotificationsPath(){\n return `hubnotifs`;\n }\n getChangelogPath(){\n return `logs`;\n }\n}\n\nclass SafetyInstructionPathHelper {\n getSafetyInstructionsPath():string {\n return `safetyInstructions`;\n }\n\n getSafetyInstructionPath(id:number):string {\n return `safetyInstructions/${id}`;\n }\n\n getAcceptCoupledSafetyInstructionPath(id:number):string {\n return `safetyInstructions/${id}/coupling/accept`;\n }\n}\n\nclass RegionPathHelper {\n getRegionsPath():string {\n return `regions`;\n }\n getRegionPath(id:number):string {\n return `regions/${id}`;\n }\n}\n\nclass LevelPathHelper {\n getLevelsPath():string {\n return `levels`;\n }\n getLevelPath(id:number) {\n return `levels/${id}`;\n }\n}\n\nclass LocationPathHelper {\n getNextFreeLocationIdPath():string {\n return `locations/nextId`;\n }\n getLocationsPath():string {\n return `locations`;\n }\n getLocationPath(id:number):string {\n return `locations/${id}`;\n }\n getLocationNotifyPath():string {\n return `locations/message`;\n }\n getLocationPdfExportPath(action:PdfExportActionEnum):string {\n return `locations/export/pdf/${PdfExportActionEnum[action]}`;\n }\n getLocationImportPath():string {\n return `locations/import`;\n }\n getLocationCouplingPath(id:number, systemId:number):string {\n return `locations/${id}/couple/${systemId}`;\n }\n getCoupledLocationsPath(id:number):string {\n return `locations/coupled/${id}`;\n }\n getChangeDisdiPath(){\n return `locations/changeDisdi`\n }\n}\n\nclass RegistrationPathHelper {\n getManualRegistrationPath() {\n return `registrations/manual`;\n }\n getOpenRegistrationsByUsersPath() {\n return `registrations/open/users`;\n }\n getRegistrationReportsPath(){\n return `registrations/all`;\n }\n getLocationUserReportsPath(id:number):string {\n return `locations/${id}/users`;\n }\n getLocationReportsPath(){\n return `locations/registrations/all`;\n }\n getChangeActivityForRegistrationPath(regId:number){\n return `registrations/activity/${regId}`;\n }\n getOpenRegistrationForUserPath(userId:string){\n return `registrations/users/${userId}/open`;\n }\n}\n\nclass UserPreferencePathHelper {\n getUserPreferencePath(id:string, typeId:number){\n return `users/${id}/preference/${typeId}`;\n }\n getSaveUserPreferencesPath(){\n return `users/preference`;\n }\n}\n\nclass UserPathHelper {\n getUsersPath():string {\n return `users`;\n }\n getUsersRoleSelectablePath():string{\n return `users/rolle/viewType/selectable`;\n }\n getUserByIdPath(id:string, tryLoadFromIdentityServer:boolean | any = undefined){\n return tryLoadFromIdentityServer !== undefined\n ? `users/${id}?tryLoadFromIdentityServer=${tryLoadFromIdentityServer}`\n : `users/${id}`;\n }\n getUserLocationPermissionPath(id:string, auth:boolean | any = undefined){\n return auth !== undefined\n ? `users/${id}/locationpermissions/${auth}`\n : `users/${id}/locationpermissions`;\n }\n getResetUserActivityPath(){\n return `users/resetactivity`;\n }\n getNextFreeUserIdPath(){\n return `users/nextId`;\n }\n}\n\nclass AccountPathHelper{\n getLoginPath(){\n return `account`;\n }\n getResetPasswordMailPath(){\n return `account/resetPassword/email`;\n }\n getResetPasswordPath(){\n return `account/resetPassword`;\n }\n getChangePasswordPath(){\n return `account/changePassword`;\n }\n getLogoutPath(){\n return `account/logout`;\n }\n getRefreshTokenPath(){\n return `account/refresh`;\n }\n getExchangeTokenPath(){\n return `account/exchange`;\n }\n}\n\nclass CompanyPathHelper {\n getCompanyPath(){\n return `providers`;\n }\n getProviderByIdPath(id:string){\n return `providers/company/${id}`;\n }\n putProviderByIdPath(id:string){\n return `providers/${id}`;\n }\n getCompanyDetailsPath(viewType:string){\n return `providers/viewType/${viewType}`;\n }\n getCompanyWorkerInfoForCompanyPath(id:string){\n return `providers/users/company/${id}/display`;\n }\n getCompanyWorkersForCurrentSystemPath(){\n return `providers/worker/viewType/selectable`;\n }\n getCompanyByNamePath(name:string){\n return `providers/search/company/${name}`;\n }\n getCompanyIdCodePath(){\n return `providers/idCode`;\n }\n getConnectSystemToCompanyPath(){\n return `providers/anabsystems/companies`;\n }\n getAllSimilarCompanyPath(){\n return `providers/searchByCompany`;\n }\n getPromoteToCompanyAdminPath(companyId:string, userId:string){\n return `providers/company/${companyId}/worker/${userId}/Admin`;\n }\n getCompanyHasUserWithRolePath(id:string, role:string){\n return `providers/companies/${id}/hasRoles/${role}`;\n }\n getSearchCompanyWorkerByPhonenumberPath(companyId:string) {\n return `providers/search/worker/${companyId}`;\n }\n getSetCompanyWorkerEnabledPath(id:string){\n return `providers/worker/${id}/status`;\n }\n getResetExpirationForCompanyWorkerPath(companyId:string, userId:string){\n return `providers/company/${companyId}/worker/${userId}/expiration`;\n }\n getCompanyWorkerPath(companyId:string){\n return `providers/company/${companyId}/worker`;\n }\n getCompanyWorkerByIdPath(companyId:string, workerId:string){\n return `providers/company/${companyId}/worker/${workerId}`;\n }\n}\n\nclass SettingsPathHelper {\n getGlobalSettingsPath(){\n return `settings/global`\n }\n getPrivacySettingsPath(){\n return `settings/privacy`\n }\n getGlobalSettingByIdPath(id:number){\n return `settings/global/${id}`\n }\n getGlobalSettingsWithIdPath(id:number){\n return `settings/global/${id}`\n }\n getPronunciationSettingsPath(){\n return `settings/pronunciation`\n }\n getPronunciationSettingsWithIdPath(id:number){\n return `settings/pronunciation/${id}`\n }\n getCompanySettingsPath(){\n return `settings/company`\n }\n getClientSettingsPath(){\n return `settings/client`\n }\n getCompanyWorkerPersistancePath(){\n return `settings/dmaPersistence`\n }\n getExpiredTextPath(){\n return `settings/expiredText`\n }\n getDisdiSettingsPath(){\n return `settings/disdi`;\n }\n getDisdiUserSettingsPath(){\n return `settings/disdi/user`;\n }\n getDisdiSettingByIdPath(typeId:number){\n return `settings/zfv/type/${typeId}`;\n }\n getDefaultActivityTextPath(){\n return `settings/default/activity`;\n }\n getDefaultInstantMessageTextPath(){\n return `settings/default/instantmessage`;\n }\n}\n\nclass CategoryPathHelper{\n getCategoriesPath():string {\n return `category`;\n }\n getCategoryByIdPath(id:string):string {\n return `category/id/${id}`;\n }\n getAllIconNamesPath(){\n return `category/icons/all`;\n }\n getAvailalbleIconNamesPath(){\n return `category/icons/unused`;\n }\n}\n\nclass DisdiPathHelper{\n getDisdiByLocationPath(locationId:number){\n return `disdi/locations/${locationId}`;\n }\n getDisdiByRegistrationPath(regId:number){\n return `disdi/registration/${regId}`;\n }\n getAttachmentsPath(id:string){\n return `disdi/diaryEntries/${id}/attachments/1`;\n }\n getCheckAndUpdateHasAttachmentPropertyPath(id:string){\n return `disdi/diaryentries/${id}/attachment/checkandupdate`;\n }\n getDisdiPdfExportPath():string {\n return `disdi/pdf`;\n }\n getDisdiEntryByIdPath(id:string) {\n return `disdi/diaryEntries/${id}`;\n }\n getAttachmentUploadUrlPath(id:string){\n return `disdi/diaryEntries/${id}/attachments`;\n }\n getDeleteAttachmentFromBlobStoragePath(id:string, fileName:string){\n return `disdi/diaryEntries/${id}/attachments/${fileName}`;\n }\n getCreateEmtpyPath(){\n return `disdi/accesstype/frontend`;\n }\n}","import { LocationInfo } from \"@/models/location/LocationInfo\";\nimport { SafetyInstructionInfo } from \"@/models/safetyInstruction/SafetyInstructionInfo\";\nimport { RegionInfo } from \"@/models/group1/RegionInfo\";\nimport { LevelInfo } from \"@/models/group2/LevelInfo\";\nimport { ControlCenterInfo } from \"@/models/controlCenter/ControlCenterInfo\";\nimport { PdfTemplateInfo } from \"@/models/PdfTemplateInfo\";\nimport { CoupledLocationInfo } from \"@/models/location/CoupledLocationInfo\";\nimport { CoupledSystemInfo } from \"@/models/system/CoupledSystemInfo\";\nimport { ForeignLocationInfo } from \"@/models/location/ForeignLocationInfo\";\nimport { UserPreference } from \"@/models/user/UserPreference\";\nimport { UserInfo } from \"@/models/user/UserInfo\";\nimport { SelectableRoleInfo } from \"@/models/SelectableRoleInfo\";\nimport { UserLocationPermissionInfo } from \"@/models/user/UserLocationPermissionInfo\";\nimport { StartupConfig } from \"@/models/StartupConfig\";\nimport {HubNotification} from \"@/models/HubNotification\";\nimport {RegisteredUserInfo} from \"@/models/registration/RegisteredUserInfo\";\nimport {LocationRegistrationInfo} from \"@/models/registration/LocationRegistrationInfo\";\nimport {UnRegisteredHistoryInfo} from \"@/models/registration/UnRegisteredHistoryInfo\";\nimport {CoupledRegistrationInfo} from \"@/models/registration/CoupledRegistrationInfo\";\nimport {CompanyInfo} from \"@/models/company/CompanyInfo\";\nimport {CompanyWorkerInfo} from \"@/models/company/CompanyWorkerInfo\";\nimport {ActivityInfo} from \"@/models/activity/ActivityInfo\";\nimport {ActivitySetInfo} from \"@/models/activity/ActivitySetInfo\";\nimport {PronunciationSetting} from \"@/models/setting/PronunciationSetting\";\nimport {GroupedSystemSettings} from \"@/models/setting/GroupedSystemSettings\";\nimport {CoupledSystemSetting} from \"@/models/system/CoupledSystemSetting\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport {DisdiSetting} from \"@/models/setting/disdi/DisdiSetting\";\nimport {DisdiSettingWrapper} from \"@/models/setting/disdi/DisdiSettingWrapper\";\nimport {IconInfo} from \"@/models/category/IconInfo\";\nimport {GeneralRequest} from \"@/models/api/Requests\";\nimport {PdfFile} from \"@/models/PdfFile\";\nimport {ActivitySetting} from \"@/models/setting/ActivitySetting\";\nimport {RegistrationInfo} from \"@/models/registration/RegistrationInfo\";\n\n\nexport class GeneralResponse{\n statusCode: number;\n statusDescription: string;\n\n constructor(code?:number, description?:string) {\n this.statusCode = code ?? -1;\n this.statusDescription = description ?? \"\";\n }\n}\n\nexport class DetailedLocationResponse extends GeneralResponse{\n locationInfo:LocationInfo = new LocationInfo();\n}\n\nexport class LocationsResponse extends GeneralResponse{\n locationInfo: Array = new Array();\n}\n\nexport class UsersResponse extends GeneralResponse{\n userInfo: Array = new Array();\n}\n\nexport class UserResponse extends GeneralResponse{\n userInfo: UserInfo = new UserInfo();\n}\n\nexport class SafetyInstructionResponse extends GeneralResponse{\n safetyInstructionInfo: Array = new Array();\n}\n\nexport class RegionsResponse extends GeneralResponse{\n regionInfo: Array = new Array();\n}\n\nexport class LevelsResponse extends GeneralResponse{\n levelInfo: Array = new Array();\n}\n\nexport class ControlCentersResponse extends GeneralResponse{\n controlCenterInfo: Array = new Array();\n}\n\nexport class PdfTemplatesResponse extends GeneralResponse{\n selectablePDFTemplate: Array = new Array();\n}\n\nexport class CoupledSystemsResponse extends GeneralResponse{\n coupledSystemInfo: Array = new Array();\n}\n\nexport class ForeignLocationsResponse extends GeneralResponse{\n availableLocations:Array = new Array();\n coupledLocations:Array = new Array();\n}\n\nexport class CoupledLocationsResponse extends GeneralResponse{\n coupledLocationsInfo:Array = new Array();\n}\n\nexport class UserPreferenceResponse extends GeneralResponse{\n preferenceInfo:Array = new Array();\n}\n\nexport class TokenResponse extends GeneralResponse{\n token:string = \"\";\n}\n\nexport class SelectableRoleResponse extends GeneralResponse{\n roleInfo: Array = [];\n}\n\nexport class UserLocationPermissionResponse extends GeneralResponse{\n userLocationsPermissionInfo: Array = [];\n}\n\nexport class CSVImportResponse extends GeneralResponse{\n hTMLReport:string = \"\";\n}\n\nexport class ExportPDFResponse extends GeneralResponse{\n pdfContentResult:PdfFile|null = null;\n locationStatusReport:string = \"\";\n}\n\nexport class UserIdNumberResponse extends GeneralResponse{\n identifikationNumber:string = \"\";\n}\n\nexport class StartupConfigResponse extends GeneralResponse{\n startupInfo:StartupConfig = new StartupConfig();\n activityInfo:ActivitySetting = new ActivitySetting();\n disdiInfo:DisdiSetting = new DisdiSetting();\n enabledFeatures:Array = [];\n preferenceInfo:Array = [];\n companyName:string = \"\";\n companyIdCode:string = \"\";\n}\n\nexport class HubNotificationResponse extends GeneralResponse{\n notifications:Array = [];\n}\n\nexport class RegisteredUserResponse extends GeneralResponse{\n registrationInfo: Array = [];\n}\n\nexport class LocationRegistrationResponse extends GeneralResponse {\n locationRegistrationInfo: Array = [];\n}\n\nexport class LocationRegistrationHistoryResponse extends GeneralResponse {\n locationInfo: Array = [];\n}\n\nexport class RegistrationHistoryResponse extends GeneralResponse {\n unRegisteredInfo: Array = [];\n}\n\nexport class LocationUsersResponse extends GeneralResponse {\n locationInfo:Array = [];\n}\n\nexport class CoupledRegistrationResponse extends GeneralResponse {\n registrationInfo:Array = [];\n}\n\nexport class RegistrationResponse extends GeneralResponse {\n regList:Array = [];\n}\n\nexport class CompanyInfoResponse extends GeneralResponse {\n anAbCompaniesInfo:Array = [];\n companyInfo:CompanyInfo = new CompanyInfo();\n}\n\nexport class CompanyWorkersResponse extends GeneralResponse {\n companyWorkers:Array = [];\n}\n\nexport class CompamyWorkersUserInfoResponse extends GeneralResponse {\n userInfos: Array = [];\n}\n\nexport class ActivityResponse extends GeneralResponse {\n activityInfo: Array = [];\n}\n\nexport class CompaniesResponse extends GeneralResponse {\n companiesInfo:Array = [];\n}\n\nexport class CompanyIdCodeResponse extends GeneralResponse {\n companyIdCode:string = \"\";\n}\n\nexport class CompanyIdResponse extends GeneralResponse {\n companyId:string = \"\";\n}\n\nexport class ExistsResponse extends GeneralResponse {\n isExist:boolean = false;\n}\n\nexport class AddedCompanyWorkerResponse extends GeneralResponse {\n userId:string = \"\";\n}\n\nexport class ActivitySetResponse extends GeneralResponse {\n activitySetInfo:Array = [];\n}\n\nexport class SettingsResponse extends GeneralResponse {\n settingInfo:Array = [];\n}\n\nexport class PrivacyResponse extends GeneralResponse {\n privacyHeader:string = \"\";\n privacyText:string = \"\";\n companyName:string = \"\";\n}\n\nexport class TextResponse extends GeneralResponse {\n text:string = \"\";\n}\n\nexport class CompanySettingsResponse extends GeneralResponse {\n dmaPersistence:string = \"\";\n expiredText:string = \"\";\n}\n\nexport class ChangelogResponse extends GeneralResponse {\n log:string = \"\";\n}\n\nexport class CompanyWorkerSearchResponse extends GeneralResponse {\n statusMessage:string = \"\";\n user:CompanyWorkerInfo | undefined = undefined;\n}\n\nexport class IdResponse extends GeneralResponse{\n id:number = -1;\n\n}\n\nexport class GuidResponse extends GeneralResponse{\n id:string = \"\"; //GUID format\n}\n\nexport class CategoryByIdResponse extends GeneralResponse{\n category:CategoryInfo|null = null;\n}\n\nexport class CategoriesResponse extends GeneralResponse{\n categories:Array|null = null;\n}\n\nexport class DisdiResponse extends GeneralResponse{\n diaryEntries:Array|null = null;\n}\n\nexport class DisdiSettingResponse extends GeneralResponse{\n disdiSetting:DisdiSettingWrapper|null = null;\n}\n\nexport class AttachmentResponse extends GeneralResponse{\n diaryEntryAttachments:Array|null = null;\n}\n\nexport class DiaryEntryResponse extends GeneralResponse{\n diaryEntry:DisdiInfo|null = null;\n}\n\nexport class IconsResponse extends GeneralResponse{\n iconInfo:Array|null = null;\n}\n\nexport class DiaryEntryAttachmentResponse extends GeneralResponse{\n diaryEntryAttachments:Array = [];\n}\n","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {\n ChangelogResponse,\n HubNotificationResponse,\n PdfTemplatesResponse,\n StartupConfigResponse\n} from \"@/models/api/Responses\";\nimport {ErrorLocationType, HttpType} from \"@/utilities/enums/Enums\";\nimport {VoiceTestRequest} from \"@/models/api/Requests\";\nimport {OidcMetadata} from \"oidc-client\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\n\n\nexport class MiscService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getPdfTemplates():Promise {\n const uri = this.uriHelper.misc.getPdfTemplatesPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async postVoiceTestCall(text:string, callNumber:string):Promise {\n const uri = this.uriHelper.misc.getVoiceTestCallPath();\n const requestBody = new VoiceTestRequest(text, callNumber);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async getStartupConfig(errorLocationType:ErrorLocationType):Promise {\n try{\n const uri = this.uriHelper.misc.getStartupConfigPath();\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as StartupConfigResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0) {\n ErrorHandler.handleError(resp, errorLocationType);\n console.log(\"CONFIG LOADING FAILED!\", resp);\n return null;\n }\n\n console.log(\"CONFIG LOADED\", resp);\n return resp;\n }\n catch (e){\n console.log(\"CONFIG LOADING FAILED!\", e);\n return null;\n }\n }\n\n public async getHubNotifications():Promise {\n const uri = this.uriHelper.misc.getHubNotificationsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getChangelog():Promise {\n const uri = this.uriHelper.misc.getChangelogPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getOidcMetaData(url:string):Promise {\n return (await this.webCaller.GetFromExtrenalAPI(url)).data as OidcMetadata ;\n }\n}","export class LocationRegistrationStatus {\n coupledLocationRegistrationsCount:number; //gekoppelt\n registeredCount:number;\n unregisteredCount:number;\n registeredGuestCount:number;\n\n constructor(obj:any = null){\n this.coupledLocationRegistrationsCount = obj === null ? 0 : obj.coupledLocationRegistrationsCount;\n this.registeredCount = obj === null ? 0 : obj.registeredCount;\n this.unregisteredCount = obj === null ? 0 : obj.unregisteredCount;\n this.registeredGuestCount = obj === null ? 0 : obj.registeredGuestCount;\n }\n\n public isBusy():boolean {\n return this.registeredCount > 0 || this.coupledLocationRegistrationsCount > 0;\n }\n\n public totalRegistrationsCount():number {\n return this.coupledLocationRegistrationsCount + this.registeredCount + this.unregisteredCount;\n }\n\n public totalPersonCount():number {\n return this.coupledLocationRegistrationsCount + this.registeredCount + this.registeredGuestCount;\n }\n}","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {LevelsResponse} from \"@/models/api/Responses\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {LevelInfo} from \"@/models/group2/LevelInfo\";\nimport {LevelRequest} from \"@/models/api/Requests\";\n\nexport class Group2Service {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getLevels(viewtype: string = \"selectable\"):Promise {\n const uri = this.uriHelper.levels.getLevelsPath() + `/viewtype/${viewtype}`;\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async addOrUpdateLevel(level:LevelInfo):Promise{\n const uri = level.id < 0\n ? this.uriHelper.levels.getLevelsPath()\n : this.uriHelper.levels.getLevelPath(level.id);\n const requestBody = new LevelRequest(level);\n const reqType = level.id < 0\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteLevel(id:number):Promise{\n const uri = this.uriHelper.levels.getLevelPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n\n}\n","module.exports = __webpack_public_path__ + \"img/map_thumb.c736b3b8.png\";","import {ErrorLocationType, HttpType} from \"@/utilities/enums/Enums\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport jwt_decode from \"jwt-decode\";\nimport sleep from \"@/utilities/helpers/Sleeper\";\nimport router from \"@/router\";\nimport ErrorResponseHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {TokenResponse} from \"@/models/api/Responses\";\nimport {RefreshTokenRequest} from \"@/models/api/Requests\";\nimport {WebCallService} from \"@/utilities/services/WebCallService\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\n\nexport class TokenService {\n private uriHelper: PathHelper;\n private isRefreshingToken:boolean = false;\n private webCaller:WebCallService;\n\n\n constructor(webcaller:WebCallService){\n this.webCaller = webcaller;\n this.uriHelper = new PathHelper();\n }\n\n public async EnsureFreshToken(path:string, type:HttpType):Promise{\n // filter out login for token refresh\n if (this.doesntRequireToken(path)) return \"\";\n\n const globalStore = useGlobalStore();\n // hide errors but exclude deletion\n if(globalStore.error.location !== ErrorLocationType.none && type !== HttpType.delete) globalStore.error.location = ErrorLocationType.none;\n\n const convertedToken = jwt_decode(globalStore.token) as { exp:number }; // read token from store as object with exp-property of type number\n const expiration = (convertedToken.exp - 5) * 1000; // subtract 5 seconds from expiration to refresh token early and convert to milliseconds\n const now = Date.now();\n\n if(now > expiration) {\n await this.RefreshAccessToken();\n }\n\n return \"done\";\n }\n\n public async RefreshToken(accessToken:string):Promise{\n const uri = this.uriHelper.account.getRefreshTokenPath();\n const requestBody = new RefreshTokenRequest(accessToken);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n /*\n checks if a refresh is already in progress and if so holds the api call till refresh is done\n if no refresh is in progresss this function refreshes the tokens\n */\n public async RefreshAccessToken():Promise{\n let waitedForRefresh = false;\n\n // if refresh is in progress hold calls\n while(this.isRefreshingToken){\n console.log(\"waiting\");\n await sleep(66);\n waitedForRefresh = true;\n }\n\n // drop call when it was hold by previous refresh of the token\n if (waitedForRefresh) return \"done\";\n\n this.isRefreshingToken = true;\n\n const globalStore = useGlobalStore();\n\n const accessToken = globalStore.token;\n\n const resp = await this.RefreshToken(accessToken);\n\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n resp.statusCode = 401;\n await router.push(\"/login\");\n\n ErrorResponseHandler.handleError(resp, ErrorLocationType.login);\n\n this.isRefreshingToken = false;\n\n return \"error\";\n }\n\n globalStore.setToken(resp.token);\n\n this.isRefreshingToken = false;\n\n return \"done\";\n }\n\n private doesntRequireToken(path:string):boolean{\n const whitelist = [\n this.uriHelper.account.getLoginPath(),\n this.uriHelper.settings.getPrivacySettingsPath(),\n this.uriHelper.account.getRefreshTokenPath(),\n this.uriHelper.account.getResetPasswordMailPath(),\n this.uriHelper.account.getResetPasswordPath(),\n this.uriHelper.misc.getStartupConfigPath(),\n ]\n\n return whitelist.includes(path);\n }\n}","import axios, {AxiosInstance, AxiosRequestConfig, Method} from \"axios\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {HttpType, PdfExportActionEnum} from \"@/utilities/enums/Enums\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport {TokenService} from \"@/utilities/services/TokenService\";\nimport {baseURL} from \"@/AppConfig\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\n\n\nexport type HttpClientResponse = [null, T] | [Error, any]\n\nexport class WebCallService {\n private axiosInstance : AxiosInstance;\n private url: string;\n private readonly baseUrl: string;\n private tokenService:TokenService;\n private uriHelper:PathHelper;\n\n constructor(){\n this.url = '';\n this.baseUrl = baseURL+\"/anabapi/v2\";\n this.axiosInstance = axios.create({\n withCredentials: true,\n baseURL: this.baseUrl\n });\n this.tokenService = new TokenService(this);\n this.uriHelper = new PathHelper();\n }\n\n public async HttpSend(type:HttpType, uri:string, body:any = null):Promise{\n await this.tokenService.EnsureFreshToken(uri, type);\n\n let response;\n\n switch(type){\n case HttpType.post: {\n response = await this.sendPostRequest(uri, body);\n break;\n }\n case HttpType.get: {\n response = await this.sendGetRequest(uri);\n break;\n }\n case HttpType.put: {\n response = await this.sendPutRequest(uri, body);\n break;\n }\n case HttpType.delete: {\n response = await this.sendDeleteRequest(uri, body);\n break;\n }\n }\n\n return this.convertErrorIfNeeded(response);\n }\n\n /*\n * creates new axios instance and cleanly gets from an external API without response conversion or token workflow\n */\n public async GetFromExtrenalAPI(uri:string):Promise{\n return await axios.create().get(uri);\n }\n\n /*--- PRIVATE ---*/\n\n private async axiosCall(config: AxiosRequestConfig): Promise>\n {\n\n try {\n const { data } = await this.axiosInstance.request(config);\n return [null, data];\n }\n catch (error:any) {\n return [new Error(error as string), error.response]; //return response as data to read HttpCode\n }\n }\n\n private getRequestConfig(requestMethod: Method, path: string, bodyContent: any) : AxiosRequestConfig\n {\n this.url = `${this.baseUrl}/${path}`;\n\n const globalStore = useGlobalStore();\n\n const token = globalStore.token;\n const authorizationHeader: string = 'Bearer ' + token;\n\n if(requestMethod === \"get\")\n {\n if(path === this.uriHelper.locations.getLocationPdfExportPath(PdfExportActionEnum.download)){\n return {\n method: requestMethod,\n responseType: \"arraybuffer\",\n onDownloadProgress: (downloadEvent:any) => {\n console.log(\"downloadEvent triggered\", downloadEvent);\n },\n url: this.url,\n headers: {\n 'Authorization': authorizationHeader\n }\n }\n }\n\n return {\n method: requestMethod,\n url: this.url,\n headers: path === this.uriHelper.misc.getStartupConfigPath() ? {} : {\n 'Authorization': authorizationHeader\n }\n }\n }\n\n let contentType = \"application/json\";\n\n if(requestMethod === \"post\" && path === this.uriHelper.locations.getLocationImportPath()){\n contentType = \"multipart/form-data\";\n }\n\n return {\n method: requestMethod,\n url: this.url,\n data: bodyContent,\n onUploadProgress: (uploadEvent:any) => {\n if (path === this.uriHelper.locations.getLocationImportPath()) console.log(\"file upload progress triggered\", uploadEvent);\n },\n headers: {\n 'content-type': contentType,\n 'Authorization': authorizationHeader\n }\n }\n }\n\n public async sendGetRequest(path: string): Promise>\n {\n return await this.axiosCall(this.getRequestConfig(\"get\", path, null));\n }\n\n public async sendPostRequest(path: string, bodyContent: any): Promise>\n {\n return await this.axiosCall(this.getRequestConfig(\"post\", path, bodyContent));\n }\n\n public async sendPutRequest(path: string, bodyContent: any): Promise>\n {\n return await this.axiosCall(this.getRequestConfig(\"put\", path, bodyContent));\n }\n\n public async sendDeleteRequest(path: string, bodyContent: any): Promise>\n {\n return await this.axiosCall(this.getRequestConfig(\"delete\", path, bodyContent));\n }\n\n // convert error to generalResponse if needed\n private convertErrorIfNeeded(resp:HttpClientResponse):any {\n const error = resp[0];\n const data = resp[1];\n\n if(error) {\n const result = new GeneralResponse();\n result.statusCode = data?.status ?? 666666666666;\n result.statusDescription = `${error.message}`;\n\n return result;\n }\n\n return data;\n }\n}","import {LocationInfo} from \"@/models/location/LocationInfo\";\n\nexport class LocationDisdiInfo{\n id:number\n hasDisdi:boolean\n\n constructor(id:number = -1, disdi:boolean = false) {\n this.id = id;\n this.hasDisdi = disdi;\n }\n}\n","export default {\n \"sidebar\": {\n \"LocationRegistration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortreports\"])},\n \"LocationManagement\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standorte\"])},\n \"RegistrationReports\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldereports\"])},\n \"SafetyInstructions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweise\"])},\n \"User\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer\"])},\n \"ControlCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstellen\"])},\n \"Settings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen\"])},\n \"Account\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mein Account\"])},\n \"Group2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"Group1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter/Region\"])},\n \"Activities\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tätigkeitsgruppen\"])},\n \"ProviderManagement\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleister\"])},\n \"Notifications\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benachrichtigungen\"])},\n \"CategoryManagement\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorien\"])}\n },\n \"footer\": {\n \"results\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ergebnissen\"])},\n \"of\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"von\"])},\n \"imprint\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Impressum\"])},\n \"privacy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datenschutz\"])},\n \"changelog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changelog\"])}\n },\n \"login\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die smarte
    Online-Verwaltung
    der 1ANAB App\"])},\n \"subline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"1ANAB WEB\"])},\n \"tabs\": {\n \"login\": {\n \"tabTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail*\"])},\n \"password\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort*\"])},\n \"rememberMe\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"eingeloggt bleiben\"])},\n \"submit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])}\n },\n \"changePassword\": {\n \"tabTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort ändern\"])},\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort ändern\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Für welche E-Mail-Adresse soll das Passwort geändert werden?\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail*\"])},\n \"submit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"confirmHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail wurde versendet\"])},\n \"confirmDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ihnen wurde eine E-Mail zugeschickt, die einen Link für die Passwortänderung enthält. Bitte prüfen Sie ihr Postfach.\"])},\n \"confirmButton\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ok\"])},\n \"newPasswordHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Passwort\"])},\n \"newPasswordDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte geben Sie das neue Passwort ein.

    Folgeden Bedingungen müssen erfüllt werden:
    - mind. 8 Zeichen
    - mind. 1 Sonderzeichen
    - mind. eine Zahl (0-9)
    - mind. einen Großbuchstaben
    - mind. einen Kleinbuchstaben\"])},\n \"newPasswordLabel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort*\"])},\n \"newPasswordRepeatLabel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort wiederholen*\"])},\n \"newPasswordSave\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Speichern\"])},\n \"newPasswordCancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abbrechen\"])}\n }\n },\n \"error\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das hat leider nicht funktioniert\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bei der Ausführung Ihrer Anfrage ist ein Fehler aufgetreten. Versuchen Sie es später erneut oder kehren Sie zum Login zurück.\"])},\n \"button\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zum Login\"])}\n },\n \"notifySuccessfulLogin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sie wurden erfolgreich angemeldet.\"])}\n },\n \"404\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Uuups, Error 404.\"])},\n \"subline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Da ist etwas schief gelaufen.\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Leider konnte die angeforderte Seite nicht gefunden werden.
    Bitte versuchen Sie es später erneut oder navigieren Sie zur Startseite.
    \"])},\n \"buttonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zur Startseite\"])},\n \"buttonLogin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zum Login\"])}\n },\n \"403\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Uuups, Error 403.\"])},\n \"subline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Berechtigung\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Leider sind Sie nicht Berechtigt diese Funktion zu nutzen.
    Bitte kontaktieren Sie ihren Vorgesetzten.
    \"])},\n \"buttonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zur Startseite\"])}\n },\n \"logout\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erfolgreich ausgeloggt\"])},\n \"subline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bis demnächst!\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([])},\n \"buttonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zum Login\"])}\n },\n \"changelog\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changelog\"])}\n },\n \"settings\": {\n \"languageSaved\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache aktualisiert\"])},\n \"startPageSaved\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite aktualisiert\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen\"])},\n \"tabs\": {\n \"systemSettings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Systemeinstellungen\"])},\n \"speachTexts\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprachtexte\"])},\n \"coupledSystems\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gekoppelte Systeme\"])},\n \"providerSettings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleistereinstellungen\"])},\n \"disdiSettings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB Einstellungen\"])}\n },\n \"providerSettings\": {\n \"elapseTime\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ablaufzeit in Tagen\"])},\n \"infoText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hinweistext\"])},\n \"inactiveUsers\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inaktive Benutzer\"])}\n },\n \"systemSettings\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"value\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wert\"])}\n },\n \"coupledSystems\": {\n \"testSuccessful\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Test erfolgreich\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie das folgende gekoppelte System '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten gekoppelten Systeme wirklich löschen?\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"url\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL\"])},\n \"loginName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldename\"])},\n \"testCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kopplung testen\"])},\n \"testingCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte warten...\"])}\n }\n },\n \"disdiSettingsTab\": {\n \"generalDisdiSettings\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Allgemeine Einstellungen\"])},\n \"disdi\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortverfügbarkeit ATB-Feature\"])},\n \"activityFeature\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivitäts-Feature\"])},\n \"editDefaultActvity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standardwert für Tätigkeiten editierbar (nach Anmeldung)\"])},\n \"picturesAmount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximale Anzahl Bilder pro ATB-Eintrag\"])},\n \"defaultCategory\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorausgewählte Kategorie\"])},\n \"deleteDeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Löschintervall für ATB-Einträge\"])}\n },\n \"disdiPermissionsSettings\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Berechtigungen\"])},\n \"readRoles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB einsehen\"])},\n \"editRoles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB für Standorte aktivieren\"])}\n },\n \"metadataSettings\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metadaten\"])},\n \"metaTimestamp\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zeitstempel\"])},\n \"metaEditor\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erstellerpersistierung\"])},\n \"metaInvisibleTime\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sichtbarkeitsdauer Zeiten\"])},\n \"metaInvisible\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sichtbarkeitsdauer Metadaten\"])},\n \"metaDeleteAll\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ablaufzeit (Löschung der Metadaten)\"])}\n },\n \"disdiAppSettings\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Appeinstellungen / -berechtigungen\"])},\n \"showInAppNr\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximale Anzahl der übermittelten ATB-Einträge\"])},\n \"showInAppDays\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximales Alter der übermittelten ATB-Einträge\"])},\n \"useGalleryInApp\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzung der Mediengalerie erlauben\"])}\n },\n \"metaTimestampType\": {\n \"None\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine\"])},\n \"OnlyRegistration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nur Anmeldung\"])},\n \"OnlyUnregistration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nur Abmeldung\"])},\n \"Both\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An- und Abmeldung\"])}\n },\n \"disdiType\": {\n \"NoDISDI\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aus\"])},\n \"SomeLocations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einzelne Standorte\"])},\n \"AllLocations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle Standorte\"])}\n }\n },\n \"grid\": {\n \"intern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Interne Kennung\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bezeichnung\"])},\n \"speachText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprechtext\"])}\n }\n },\n \"validators\": {\n \"required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieses Feld wird benötigt\"])},\n \"requiredIf\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eines dieser Felder wird benötigt\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieses Feld muss eine gültige E-Mail Adresse sein.\"])},\n \"sameAs\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Felder sind nicht identisch\"])},\n \"longitude\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Längegrad muss zwischen -180 und 180 sein.\"])},\n \"latitude\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Breitengrad muss zwischen -90 und 90 sein.\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das ist keine gültige Telefonnummer. Format: +491234567891\"])},\n \"numeric\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"In diesem Feld sind nur Zahlen erlaubt\"])},\n \"maxLength\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Dieses Feld darf maximal \", _interpolate(_named(\"amount\")), \" Zeichen haben\"])},\n \"minLength\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Dieses Feld muss minimum \", _interpolate(_named(\"amount\")), \" Zeichen haben\"])},\n \"hasNoneAlphaNum\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mind. 1 Sonderzeichen wird benötigt\"])},\n \"hasNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mind. 1 Zahl wird benötigt\"])},\n \"hasUppercaseLetter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mind. 1 Großbuchstabe wird benötigt\"])},\n \"hasLowercaseLetter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mind. 1 Kleinbuchstabe wird benötigt\"])},\n \"float\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine valide durch '.' getrennte Fließkommazahl erkannt. (Bsp. 0.1)\"])}\n },\n \"notifications\": {\n \"passwordReset\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ihr Passwort wurde erfolgreich zurückgesetzt!\"])},\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benachrichtigungen\"])},\n \"deleteAll\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle löschen\"])},\n \"text\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachrichtentext\"])},\n \"type\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ\"])},\n \"date\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datum\"])},\n \"showDetails\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Details anzeigen\"])},\n \"applySafetyInstruction\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benachrichtigung löschen\"])},\n \"yesButtonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"JA\"])},\n \"noButtonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NEIN\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wollen Sie die ausgewählte Benachrichtigung wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die ausgewählten \", _interpolate(_named(\"count\")), \" Benachrichtigungen wirklich löschen?\"])},\n \"promptInformationTitle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Zu '\", _interpolate(_named(\"locationNames\")), \"' wurde folgender gekoppelter Sicherheitshinweis übernommen:\"])},\n \"promptInformationBody\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Name: \", _interpolate(_named(\"name\")), \" ; Text: \", _interpolate(_named(\"text\"))])},\n \"promptInformationHint\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sie können den Sicherheitshinweis in den Standortdetails oder der Sicherheitshinweis-Verwatlung bearbeiten.\"])},\n \"signalrDisconnected\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ACHTUNG\"])},\n \"text\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das automatische Nachladen hat die Verbindung verloren, bitte laden Sie die Seite neu.\"])}\n }\n },\n \"account\": {\n \"passwordReset\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ihr Passwort wurde erfolgreich geändert!\"])},\n \"passwordResetButton\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort ändern\"])},\n \"lastPasswordChangeText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zuletzt geändert am\"])},\n \"logout\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmelden\"])},\n \"passwordRepeat\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Passwort wiederholen\"])},\n \"passwordNew\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Passwort\"])},\n \"passwordCurrent\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelles Passwort\"])},\n \"passwordTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort\"])},\n \"language\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"browserLanguage\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Browser Sprache\"])},\n \"startpage\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"settings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzerkennung\"])},\n \"roles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rollen\"])},\n \"username\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"user\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer\"])},\n \"myAccount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mein Account\"])}\n },\n \"global\": {\n \"saved\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gespeichert\"])},\n \"send\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gesendet\"])},\n \"save\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Speichern\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bearbeiten\"])},\n \"cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abbrechen\"])},\n \"delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Löschen\"])},\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gelöscht\"])},\n \"reset\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurücksetzen\"])},\n \"back\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück\"])},\n \"exportCsv\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CSV herunterladen\"])},\n \"importCsv\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CSV importieren\"])},\n \"downloadPdf\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PDF herunterladen\"])},\n \"downloadPdfMail\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PDF per Mail verschicken\"])},\n \"locations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standorte\"])},\n \"unregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmelden\"])},\n \"noValidToken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ihre Sitzung ist abgelaufen oder fehlerhaft, bitte melden Sie sich erneut an!\"])},\n \"validationFailed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte füllen Sie alle Felder korrekt aus\"])},\n \"units\": {\n \"days\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"in Tagen\"])}\n },\n \"emptyList\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Einträge\"])}\n },\n \"locations\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standorte\"])},\n \"newLocation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neuer Standort\"])},\n \"massDisdi\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB Einstellung für mehrere Standorte bearbeiten\"])},\n \"exportFilename\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortexport\"])},\n \"changeCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Koppelung ändern\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie den folgenden Standort '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Standorte wirklich löschen?\"])},\n \"grid\": {\n \"secId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"group2Name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"group1Name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter/Regionen\"])},\n \"customAdditionalInformation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Technischer Platz\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"controlCenterName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle\"])},\n \"noCoupledSystems\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Standort hat keine gekoppelten Systeme\"])}\n },\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort(e) gelöscht\"])},\n \"willDownload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wird herunterladen\"])},\n \"willBeSend\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verschickt\"])}\n },\n \"safetyInstructions\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweise\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neuer Sicherheitshinweis\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweis bearbeiten\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie den folgenden Sicherheitshinweis '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Sicherheitshinweise wirklich löschen?\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beschreibung\"])},\n \"safetyInstructionLocations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standorte\"])},\n \"selectedLocationsCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ausgewählte Standorte\"])},\n \"csvDownload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CSV herunterladen\"])},\n \"csvDownloadFilename\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweise\"])},\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"text\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Text\"])}\n },\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweis(e) gelöscht\"])}\n },\n \"providerManagement\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleister\"])},\n \"grid\": {\n \"companyName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Firmenname\"])},\n \"adress\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse\"])},\n \"showStaff\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mitarbeiter anzeigen\"])},\n \"companyIdCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Id\"])}\n },\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neuer Dienstleister\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die Verbindung zum folgenden Dienstleister '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die Verbindung zu den \", _interpolate(_named(\"count\")), \" ausgewählten Dienstleistern wirklich löschen?\"])},\n \"inactiveUsers\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inaktive Benutzer vorhanden\"])},\n \"placeholder\": {\n \"companysearchterm\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ihre Suchbegriffe für bestehende Firmen...\"])}\n }\n },\n \"providerManagementDetails\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleistermitarbeiter\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neuer Dienstleistermitareiter\"])},\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Übersicht Dienstleistermitarbeiter\"])},\n \"address\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse\"])},\n \"backButton\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück\"])},\n \"contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontaktperson\"])},\n \"lessInfos\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"weniger Firmendetails\"])},\n \"moreInfos\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mehr Firmendetails\"])},\n \"information\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Information\"])},\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"admin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"active\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"cleared\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Freigabe\"])},\n \"reactivate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"reaktivieren\"])}\n },\n \"connectedWorker\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestehender Mitarbeier wurde mit Ihrem System verbunden\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie folgenden Dienstleistermitarbeiter '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Dienstleistermitarbeiter wirklich löschen?\"])}\n },\n \"locationsReports\": {\n \"secondaryId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortreports\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"newLocationReport\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Manuelle An-/Abmeldung\"])},\n \"newLogin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Manuelle An-/Abmeldung\"])},\n \"instantMessage\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sofortnachricht\"])},\n \"instantMessageDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiermit senden Sie einen Sofortnachricht an alle am Standort angemeldeten Benutzer. \\nDen Nachrichtentext können Sie im unteren Fenster anpassen.\"])},\n \"registerPopup\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Manuelle An-/Abmeldung\"])},\n \"locationDetails\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort Details\"])},\n \"history\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Historie\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Stadt\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Straße/Nr.\"])},\n \"zip\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PLZ/Ort\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"gps\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"GPS-Koordinaten\"])},\n \"securityInformations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweise\"])},\n \"detailsHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt\"])},\n \"noGpsData\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Koordinaten\"])},\n \"tabs\": {\n \"history\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer Historie\"])},\n \"locationDetails\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort Details\"])},\n \"safetyInstructions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweise\"])},\n \"safetyInstructionsEmpty\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Sicherheitshinweise an diesem Standort vorhanden.\"])}\n },\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"phone\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefon\"])},\n \"register\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"letzte An-/Abmeldung\"])},\n \"registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Angemeldet\"])},\n \"unregistered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abgemeldet\"])},\n \"coupled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gekoppelt\"])},\n \"adress\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse\"])},\n \"group1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter/Region\"])},\n \"group2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"controlCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle\"])},\n \"activities\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([])},\n \"personCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Personen\"])}\n }\n },\n \"registrationReports\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldereports\"])},\n \"userHistoryPopup\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer Historie\"])},\n \"userDetailPopupTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer Details\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"grid\": {\n \"conferenceTooltip\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonkonferenz starten\"])},\n \"activity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivität\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"info\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Info\"])},\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort\"])},\n \"locationId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort ID\"])},\n \"register\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung\"])},\n \"unregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmeldung\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"company\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Firma\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"guestCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gäste\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"KID\"])},\n \"coupledUser\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gekoppelter Benutzer\"])}\n },\n \"confirmUnregister\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie '\", _interpolate(_named(\"name\")), \"' vom Standort '\", _interpolate(_named(\"location\")), \"' abmelden?\"])}\n },\n \"users\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer\"])},\n \"newUser\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neuer Benutzer\"])},\n \"exportCsv\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CSV Exportieren\"])},\n \"csvDownloadFilename\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie den folgenden Benutzer '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Benutzer wirklich löschen?\"])},\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer gelöscht\"])},\n \"resetActivity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Möchten Sie die Benutzeraktivität wirklich zurücksetzen?\"])},\n \"resetMultipleActivity\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Möchten Sie die Aktivität von \", _interpolate(_named(\"count\")), \" Benutzern wirklich zurücksetzen?\"])},\n \"inactiveUsersReactivated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ausgewählte inaktive Benutzer wurden reaktiviert\"])},\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifikationsnummer\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"KID\"])},\n \"fullName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"roles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rolle\"])},\n \"info\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Info\"])},\n \"isActive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"activeUser\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer aktiv\"])},\n \"inactiveUser\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer inaktiv, wird bald gelöscht\"])}\n },\n \"menu\": {\n \"permission\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Berechtigung ändern\"])},\n \"activity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivität zurücksetzen\"])}\n }\n },\n \"regions\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Netzcenter\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie das folgende Netzcenter '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Netzcenter wirklich löschen?\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SyncId\"])}\n },\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter gelöscht\"])}\n },\n \"activity\": {\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bezeichnung\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie\"])}\n },\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die folgende Tätigkeit '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Tätigkeiten wirklich löschen?\"])}\n },\n \"activitySet\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tätigkeitsgruppen\"])},\n \"tabs\": {\n \"groups\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tätigkeitsgruppen\"])},\n \"manageActivities\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tätigkeiten verwalten\"])}\n },\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Tätigkeitsgruppe\"])},\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bezeichnung\"])},\n \"locations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standorte\"])}\n },\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die folgende Tätigkeitsgruppe '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Tätigkeitsgruppen wirklich löschen?\"])}\n },\n \"controlCenters\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstellen\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die folgende Netzleitestelle '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Netzleitstellen wirklich löschen?\"])},\n \"newcontrolCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Netzleitstelle\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sync ID\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SyncId\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])}\n },\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle(n) gelöscht\"])}\n },\n \"levels\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ(en) gelöscht\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Typ/Ebene\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene Bearbeiten\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie den/die folgende Typ/Ebene '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Typen/Ebenen wirklich löschen?\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beschreibung\"])}\n }\n },\n \"category\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorien\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neu\"])},\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie(n) gelöscht\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die folgende Kategorie '\", _interpolate(_named(\"name\")), \"' wirklich löschen?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Wollen Sie die \", _interpolate(_named(\"count\")), \" ausgewählten Kategorien wirklich löschen?\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"iconName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Icon\"])},\n \"isDefault\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gibt an, ob diese Kategorie vorausgewählt ist.\"])}\n }\n },\n \"disdi\": {\n \"view\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anlagentagebuch\"])},\n \"details\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Details\"])},\n \"grid\": {\n \"diaryDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beschreibung\"])},\n \"categoryId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie\"])},\n \"comment\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kommentar\"])},\n \"attachment\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anhänge\"])},\n \"createDate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erstellungsdatum\"])},\n \"registrationStart\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung\"])},\n \"registrationEnd\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmeldung\"])},\n \"userFullname\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"userPhoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefon\"])},\n \"companyName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Firma\"])},\n \"categoryEmpty\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie nicht gefunden\"])},\n \"info\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Info\"])}\n },\n \"csvExportFileName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB-Einträge\"])},\n \"pdfDownloaded\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PDF erfolgriech runtergeladen\"])}\n },\n \"login\": {\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte warten Sie und halten Sie Ihr Handy bereit, Sie werden zum Login weitergeleitet.\"])}\n },\n \"maintenance\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anlagentagebuch Nachpflege\"])},\n \"diaryDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beschreibung\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie\"])},\n \"attachments\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anhänge\"])},\n \"attachmentsPreview\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anhangvorschau\"])},\n \"disdiInfo\": {\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort\"])},\n \"registration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An/Abmeldung\"])}\n },\n \"saveAndClose\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eintrag Abschließen\"])},\n \"uploadDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"HINWEIS: Sobald Sie ein oder mehrere Bilder ausgewählt haben werden Diese direkt hochgeladen. Dateien mit gleichem Namen werden überschrieben.\"])},\n \"uploadedFiles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zuletzt hochgeladene Bilder\"])},\n \"generalInfo\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Allgemeine Informationen\"])},\n \"maintainInfo\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zu pflegende Informationen\"])},\n \"uploadButton\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anhänge auswählen\"])}\n },\n \"exit\": {\n \"byeText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Eintrag wurde geschlossen.\"])},\n \"byeSubText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vielen Dank und bis zum nächsten mal :)\"])}\n }\n },\n \"otpLogin\": {\n \"login\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einloggen\"])}\n },\n \"error\": {\n \"status\": {\n \"general\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Es ist ein Fehler aufgetreten. Servermeldung: '\", _interpolate(_named(\"message\")), \"'\"])},\n \"accessDenied\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es ist ein Fehler aufgetreten. Die Anfrage wurde abgelehnt.\"])},\n \"-1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültige Anfrage\"])},\n \"1000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es ist ein interner Server-Error aufgetreten, bitte versuchen Sie es später erneut, oder Kontaktieren Sie den Support.\"])},\n \"1001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die angefragten Daten sind vorhanden. Bitte überprüfen Sie den Code oder wiederholen Sie den Vorgang.\"])},\n \"1002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Feld ValidationError\"])},\n \"1003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No System is attached to the User\"])},\n \"1004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Standorte vorhanden\"])},\n \"1005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email ValidationError\"])},\n \"1006\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"LänderCode existiert Nicht\"])},\n \"3000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystemId ValidationError\"])},\n \"3001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CompanyId ValidationError\"])},\n \"3002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystem Existiert Nicht\"])},\n \"3003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Firma Existiert Nicht\"])},\n \"3004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifikationsnummer bereits vergeben\"])},\n \"3005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystemCompany Existiert Nicht\"])},\n \"3006\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Benutzer\"])},\n \"3007\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ein anderer Dienstleister hat diesen Benutzer\"])},\n \"3008\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Doppelte CompanyWorkerAnAbSystem\"])},\n \"3009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"InstallationId ValidationError\"])},\n \"3010\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Firmen-ID ist ungültig.\"])},\n \"3011\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Doppelte AnAbAppInstallation\"])},\n \"3012\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Benutzer hat noch eine aktive Verbindung zu einem 1ANAB System. Bitte löschen sie zuerst alle Verbindungen\"])},\n \"3013\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Benutzer ist als Kontaktperson ihrer Firma hinterlegt. Bitte bestimmen sie zuerst eine neue Kontaktperson, bevor sie diesen Benutzer löschen.\"])},\n \"3014\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Benutzer ist als Kontaktperson in einem 1ANAB System hinterlegt. Bitte bestimmen sie zuerst eine neue Kontaktperson, bevor sie diesen Benutzer löschen.\"])},\n \"3016\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zuordnungen zum 1ANAB System sind noch vorhanden.\"])},\n \"3017\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Text konnte nicht gefunden werden.\"])},\n \"3018\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystem Existiert in AnAbSystemDescription\"])},\n \"3019\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es gibt noch Zuordnungen, die die Aktion verhindern.\"])},\n \"3020\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystem Existiert in CompanyWorkerAnAbSystem\"])},\n \"3021\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PageDescription Existiert in AnAbSystemDescription\"])},\n \"3022\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PageDescriptionId ValidationError\"])},\n \"3023\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer existiert und Benutzer hat CompanyId\"])},\n \"3024\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Name hat ein ungültiges Format.\"])},\n \"3025\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Postleitzahl hat ein ungültiges Format.\"])},\n \"3026\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Stadt hat ein ungültiges Format.\"])},\n \"3027\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Straße hat ein ungültiges Format.\"])},\n \"3028\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Hausnummer hat ein ungültiges Format.\"])},\n \"3029\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Länge des ANABSystemCompanyCode beträgt nicht 11-Stellen.\"])},\n \"3030\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Benutzer ist bereits in einem anderen System vorhanden.\"])},\n \"3031\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Persistenz-Eingabewert ist ungültig.Der eingegebene Wert muss kleiner als 365 sein.\"])},\n \"3032\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"LastInteraction ValidationError\"])},\n \"4000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User Existiert Nicht\"])},\n \"4001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"UserId ValidationError\"])},\n \"4002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Handynummer ValidationError\"])},\n \"4003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password ValidationError\"])},\n \"4004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"RoleName ValidationError\"])},\n \"4005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer hat keine CompanyWorker Rolle\"])},\n \"4006\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Existiert mehr als ein Benutzer mit dieser Handynummer\"])},\n \"4007\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die von Ihnen eingegebene Nummer scheint keine SMS empfangen zu können\"])},\n \"4008\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die von Ihnen eingegebene Nummer war ungültig\"])},\n \"4009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzername ValidationError\"])},\n \"4010\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzername ist bereits registriert\"])},\n \"4011\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer ist bereits registriert\"])},\n \"4012\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ihre Nutzerrollen reichen nicht aus.\"])},\n \"4013\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Länder-Vorwahl ValidationError\"])},\n \"4014\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"GSM-Nummer bereits vergeben.\"])},\n \"4015\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es gibt einen Fehler im BenutzerHistorie\"])},\n \"4016\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Benutzer ist nur für die ANAB\"])},\n \"4017\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es gibt keinen Admin-Benutzer\"])},\n \"4018\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Link.Bitte rufen Sie sich bei Admin an\"])},\n \"4019\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erfolgreich Abgeschlossen. Ihnen wurde eine Administratorrolle zugewiesen\"])},\n \"4020\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User hat das Produkt nicht\"])},\n \"4021\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rolle hat das Produkt nicht\"])},\n \"4022\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Existiert mehrere Benutzer mit Benutzername\"])},\n \"4023\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Benutzer kann nicht bearbeiten\"])},\n \"4024\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"UserAdditional ist Null\"])},\n \"4025\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"UserAdditional ValidationError\"])},\n \"4026\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identity Error vom UserManager (dotnet)\"])},\n \"4027\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer mit dieser E-Mail Adresse ist bereits bekannt.\"])},\n \"4028\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Der Benutzer existiert bereits bei einem anderem Dienstleister (\", _interpolate(_named(\"companyName\")), \")\"])},\n \"4029\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es gibt mehr als einen Benutzer mit den gleichen Informationen\"])},\n \"5000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es ist ein Fehler beim Anfragen der Systeme für den User aufgetreten.\"])},\n \"5009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die maximale Anzahl an Standorten für Ihre Lizenz wurde erreicht.\"])},\n \"6000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine offene Anmeldung gefunden\"])},\n \"6001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die angegebene Standort ID konnte nicht erkannt werden\"])},\n \"6002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das Angegebene System konnte nicht gefunden werden\"])},\n \"6003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die GPS Koordinaten sind fehlerhaft.\"])},\n \"6666\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ein allgemeiner Fehler bei der An- und Abmeldung ist aufgetreten\"])},\n \"6667\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Anmeldung konnte nicht erkannt werden\"])},\n \"6969\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Benutzer ist bereits an diesem Standort abgemeldet.\"])},\n \"7000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Notification konnte nicht versendet werden\"])},\n \"7001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User konnte nicht gefunden werden\"])},\n \"7002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zu viele Empfänger wurden ausgewählt (maximal 20)\"])},\n \"9000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte geben Sie nur 5-stellige Identifikationsnummern an.\"])},\n \"9001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es gibt andere Datensatz, die aktuelle Standort-ID hat. Bitte tragen Sie andere Standort-ID an.\"])},\n \"9002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort existiert nicht\"])},\n \"9003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Standort kann nicht gelöscht werden, solange noch Anmeldungen hinterlegt sind.\"])},\n \"9004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es gibt andere Datensatz, die aktuelle Sync-ID hat. Bitte tragen Sie andere Sync-ID an.\"])},\n \"9005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gekoppeltes System existiert Nicht\"])},\n \"9006\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Standort\"])},\n \"9007\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Gekoppeltes System\"])},\n \"9008\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger System-Coupling-Identifier\"])},\n \"9009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Gekoppelter System Name\"])},\n \"9010\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Diese Verbindung besteht bereits, es ist nicht möglich, eine neue Verbindung zu erstellen.\"])},\n \"9011\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gekoppeltes System Existiert Nicht\"])},\n \"9012\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name ist pflichtfeld\"])},\n \"9013\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Text ist pflichtfeld\"])},\n \"9014\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location Identifier ValidationError\"])},\n \"9015\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Foreign Location Identifier ValidationError\"])},\n \"9016\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültige Id\"])},\n \"9017\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SicherheitshinweisStandort Existiert Nicht\"])},\n \"9018\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweis Existiert Nicht\"])},\n \"9019\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene Existiert Nicht\"])},\n \"9020\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datensatz konnte nicht gelöscht werden. Es sind noch Standorte verknüpft. Bitte erst alle Verbindungen aufheben.\"])},\n \"9021\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle Existiert Nicht\"])},\n \"9022\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datensatz konnte nicht gelöscht werden. Es sind noch Standorte verknüpft. Bitte erst alle Verbindungen aufheben.\"])},\n \"9023\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter Existiert Nicht\"])},\n \"9024\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datensatz konnte nicht gelöscht werden. Es sind noch Standorte verknüpft. Bitte erst alle Verbindungen aufheben.\"])},\n \"9025\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung Existiert Nicht\"])},\n \"9026\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tag ist pflichtfeld\"])},\n \"9027\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Benutzer ist nicht für dieses AnAbSystem freigeschaltet.\"])},\n \"9028\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer ist bereits angemeldet.\"])},\n \"9029\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung System Identifier ValidationError\"])},\n \"9030\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datum ist pflichtfeld\"])},\n \"9031\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupled Location Registration Existiert Nicht\"])},\n \"9032\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SMS an nummer aus der Twilio Blacklist (z.B. Nummer unterdrückt)\"])},\n \"9033\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger AnmeldungId\"])},\n \"9034\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der gewählte Nutzer ist nicht für diesen Standort berechtigt.\"])},\n \"9035\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer ist noch angemeldet. Bitte zuerst dort abmelden.\"])},\n \"9036\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Benutzer ist bereits an diesem Standort angemeldet.\"])},\n \"9037\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Benutzer ist bereits an diesem Standort abgemeldet.\"])},\n \"9038\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Client ist pflichtfeld\"])},\n \"9039\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Präferenztyp\"])},\n \"9040\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tabellenname ist pflichtfeld\"])},\n \"9041\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Präferenzliste ist leer\"])},\n \"9042\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Attributname ist pflichtfeld\"])},\n \"9043\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail ist pflichtfeld\"])},\n \"9044\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort ist pflichtfeld\"])},\n \"9045\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte bestätigen Sie Ihre E-mail-Adresse.\"])},\n \"9046\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sie müssen ein neues Passwort wählen (alle 90 Tage).\"])},\n \"9047\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Family ist pflichtfeld\"])},\n \"9048\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifikationsnummer ist pflichtfeld\"])},\n \"9049\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sie sind nicht berechtigt, die Administratorrolle für einen Benutzer zu bearbeiten.\"])},\n \"9050\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datensatz konnte nicht gelöscht werden. Der Benutzer hat noch Anmeldungen.\"])},\n \"9051\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer StandortHatZugriffDefault existiert nicht\"])},\n \"9052\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Users\"])},\n \"9053\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Einstellungsname\"])},\n \"9054\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiger Einstellwert\"])},\n \"9055\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellung Existiert Nicht\"])},\n \"9056\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL ist pflichtfeld\"])},\n \"9057\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"BenutzerName ist pflichtfeld\"])},\n \"9058\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt Telefonnummer ist pflichtfeld\"])},\n \"9059\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"System ist bereits verbunden\"])},\n \"9060\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ablaufhinweis ist pflichtfeld\"])},\n \"9061\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ablaufzeit ist pflichtfeld\"])},\n \"9062\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail Template ist pflichtfeld\"])},\n \"9063\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Token ist pflichtfeld\"])},\n \"9064\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwortwiederholung ist pflichtfeld\"])},\n \"9065\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die eingegebenen Passwörter stimmen nicht überein.\"])},\n \"9066\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AccessToken ist pflichtfeld\"])},\n \"9067\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"RefreshToken ist pflichtfeld\"])},\n \"9068\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültige RefreshToken\"])},\n \"9069\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültige Token\"])},\n \"9070\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kombination aus E-Mail und Passwort existiert nicht.\"])},\n \"9071\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es wurde zu häufig das falsche Passwort eingegeben. Der Account wurde daher vorübergehend gesperrt.\"])},\n \"9072\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Konnte ssoResult nicht anzeigen.\"])},\n \"9073\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Während der SAML-Authentification ist ein Fehler aufgetreten.\"])},\n \"9074\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzer konnte nicht über SAML authentifiziert werden.\"])},\n \"9075\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es kann keine Identifikationsnummer generiert werden.\"])},\n \"9076\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"BenutzerExistiert.\"])},\n \"9077\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Benutzer ist deaktiviert.\"])},\n \"9078\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystem Existiert nicht in CompanyWorkerAnAbSystem\"])},\n \"9079\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hat Keine Digit\"])},\n \"9080\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Passwort ist pflichtfeld\"])},\n \"9081\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Altes Passwort ist pflichtfeld\"])},\n \"9082\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Passwörter sind gleich.Sie müssen ein neues Passwort eingeben. \"])},\n \"9083\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das alte Passwort ist falsch. \"])},\n \"9084\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sie benutzen SAML.\"])},\n \"9089\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail und Telefonnummer sind Pflichtangaben\"])},\n \"9100\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO Anmeldung fehlgeschlagen. Es konnte keine Authorisierung gefunden werden.\"])},\n \"9101\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sie können Ihren eigenen User nicht löschen.\"])},\n \"9104\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die angegebene Identifikationsnummer existiert bereits\"])},\n \"9105\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das Format der angegebenen Identifikationsnummer ist falsch.\"])},\n \"9106\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verbindung zu gekoppeltem System ist nicht möglich.\"])},\n \"9107\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Tätigkeitsname muss einzigartig sein\"])},\n \"10000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eintrag nicht gefunden\"])},\n \"10001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anhang nicht gefunden\"])},\n \"10002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB ist ausgeschaltet\"])},\n \"10003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es dürfen keine Bilder hochgeladen werden\"])},\n \"10004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Anfrage war nicht korrekt für dieses System\"])},\n \"10005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID ist nicht valide\"])},\n \"10008\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eintrag wurde nicht geschlossen\"])},\n \"10009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"MetaTimestamp Error\"])},\n \"10010\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es konnte keine Vorlage für das PDF gefunden werden.\"])},\n \"11001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild wurde bereits gelöscht, oder konnte nicht gefunden werden.\"])},\n \"12002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Kategorie wir noch von einer Tätigkeit verwendet.\"])},\n \"999999\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datei upload ist fehlgeschlagen, bitte versuchen Sie es später erneut.\"])},\n \"666666666\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Boolischer Wert muss entweder 'True'/'true' oder 'False'/'false' enthalten\"])},\n \"666666666666\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es konnte keine Verbindung hergestellt werden, bitte überprüfen Sie Ihre Internetverbindung\"])}\n }\n },\n \"popups\": {\n \"settings\": {\n \"spokenText\": {\n \"intern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Interne Kennung\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bezeichnung\"])},\n \"spokenText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprechtext\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprechtexte bearbeiten\"])}\n },\n \"systemSettings\": {\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellung bearbeiten\"])},\n \"value\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wert\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])}\n },\n \"coupledSystems\": {\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gekoppeltes System bearbeiten\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues System koppeln\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name der Anwendung\"])},\n \"baseUrl\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Basis URL\"])},\n \"partnerSection\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ansprechpartner\"])},\n \"nameOfPartner\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name des Ansprechpartners\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"loginData\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldedaten\"])},\n \"loginName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login Name\"])},\n \"password\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort\"])},\n \"resetPassword\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelde-Informationen für Fremdsysteme\"])},\n \"resetPasswordText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte senden Sie uns ein Ticket und wir lassen Ihnen Ihre Zugangsdaten schnellstmöglich zukommen.\"])},\n \"resetPasswordHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort vergessen?\"])}\n }\n },\n \"registrationReports\": {\n \"grid\": {\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"company\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Firma\"])},\n \"registerUnregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung\"])},\n \"unregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmeldung\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"guestCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gäste\"])}\n },\n \"changeActivity\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unbestimmte Tätigkeit ändern\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wählen Sie entweder eine bestehende Tätigkeit per Dropdown aus, oder Erstellen Sie eine neue Tätigkeit über die Freitext-Eingabe.\"])},\n \"currentActivityTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelle Tätigkeit:\"])},\n \"takeGivenActivity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorhandene Tätigkeit auswählen:\"])},\n \"createNewActivity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Tätigkeit erstellen:\"])}\n }\n },\n \"providerManagementDetails\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleistermitarbeiter anlegen\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleistermitarbeiter bearbeiten\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"dialCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Landesvorwahl\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"workerData\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mitarbeiter Daten\"])},\n \"enabling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Freigabe\"])},\n \"status\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ablaufstatus\"])},\n \"inviteAsAdmin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Als Admin einladen\"])},\n \"invitationInfo\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Mitarbeiter wurde am \", _interpolate(_named(\"dateString\")), \" eingeladen.\"])},\n \"admin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"companyHasAdmin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Benutzer könne nur von einem Dienstleisteradministrator angelegt werden, bitte wenden Sie sich an:\"])}\n },\n \"providerManagement\": {\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleister bearbeiten\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neuer Dienstleister\"])},\n \"gsmSearch\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"GSM-Suche\"])},\n \"similarCompanies\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ähnliche bestehende Dienstleister gefunden\"])},\n \"selectedSimilarProvider\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ausgewählter Dienstleister:\"])},\n \"editInsertedData\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"eingebene Daten bearbeiten\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleistername\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifikationsnummer\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Straße\"])},\n \"postalCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PLZ\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Stadt\"])},\n \"houseNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hausnummer\"])},\n \"phonePrefix\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt: Landesvorwahl\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt: Telefonnummer\"])},\n \"information\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Information\"])},\n \"providerList\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Liste bekannter Dienstbetreiber\"])},\n \"providerSearch\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dienstleistersuche\"])},\n \"chooseAvailableProvider\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorhandenen Dienstleister auswählen\"])}\n },\n \"locations\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Straße\"])},\n \"postalCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PLZ\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Stadt\"])}\n },\n \"locationInfo\": {\n \"section1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"IDs & GPS\"])},\n \"section2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name & Anschrift\"])},\n \"section3\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fallbacktelefonnummern & Kopplung\"])},\n \"section4\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zusatz Spezifikation\"])},\n \"secondaryId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort ID\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sync ID\"])},\n \"longitude\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Längengrad\"])},\n \"latitude\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Breitengrad\"])},\n \"registrationRadius\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelderadius (in KM)\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"namePronunciation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aussprache\"])},\n \"streetNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hausnummer\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Straße\"])},\n \"postalCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PLZ\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Stadt\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"phoneNumberAltIsFallback\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ersatz Telefonnummer\"])},\n \"couplingEnabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kopplung aktiviert\"])},\n \"phoneNumberAlt2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alternative Telefonnummer 2\"])},\n \"phoneNumberAlt1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alternative Telefonnummer\"])},\n \"customAdditionalInformation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Technischen Platz\"])},\n \"specificOptions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Stadt\"])},\n \"group1AndName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter/Region\"])},\n \"group2IdAndName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"controlCenterIdAndName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle\"])},\n \"safetyInstructions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweise\"])},\n \"pdfTemplate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PDF Vorlage\"])},\n \"readerTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorleser\"])},\n \"readerTooltip\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte geben Sie eine Telefonnummer mit Vorwahl an (+491231231234). Das Feld 'Aussprache' wird Ihnen dann vom Telefonautomaten vorgelesen (per Anruf).\"])},\n \"readerPhonenumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"activitySet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tätigkeitsgruppe\"])},\n \"hasDisdi\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anlagentagebuch\"])}\n },\n \"activitySet\": {\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bezeichnung\"])},\n \"addActivity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tätigkeit zuweisen/erstellen\"])},\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort\"])},\n \"group2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"group1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter/Region\"])},\n \"couple\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Koppeln\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Aktivitätsgruppe\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivitätsgruppe bearbeiten\"])},\n \"locationsHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortzuweisung\"])},\n \"toggleActivityFilter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Auch Standorte mit anderer Tätigkeitsgruppe anzeigen\"])}\n },\n \"activity\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bezeichnung der Tätigkeit\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tätigkeit bearbeiten\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Tätigkeit\"])}\n },\n \"register\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldungen Filter\"])},\n \"user\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer\"])},\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort\"])},\n \"guestAmount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anzahl Gäste\"])},\n \"activity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivität\"])},\n \"register\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"unregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmelden\"])},\n \"adressOfLocation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse des angemeldeten Standorts\"])},\n \"registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Angemeldet\"])},\n \"unregistered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abgemeldet\"])}\n },\n \"registerLocation\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortreport Filter\"])}\n },\n \"registerFilter\": {\n \"status\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Status\"])},\n \"fullName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifikationsnummer\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"KID\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"company\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Firma\"])},\n \"activity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tätigkeit\"])},\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort\"])},\n \"guestCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anzahl Gäste\"])}\n },\n \"confirm\": {\n \"yes\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ja\"])},\n \"no\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nein\"])}\n },\n \"csv\": {\n \"file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CSV Datei\"])}\n },\n \"userFilter\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer Filter\"])},\n \"groudKid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"KID-Vorhanden\"])},\n \"yes\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ja\"])},\n \"no\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nein\"])},\n \"groupActivitystatus\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivitätszustand\"])},\n \"active\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"inactive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inaktiv\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifikationsnummer\"])}\n },\n \"reader\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorleser\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bitte geben Sie eine Telefonnummer mit Vorwahl an (+491231231234). Das Feld 'Aussprache' wird Ihnen dann vom Telefonautomaten vorgelesen (per Anruf).\"])},\n \"callNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"button\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anrufen und vorlesen lassen\"])}\n },\n \"userEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer anlegen\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzer bearbeiten\"])}\n },\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"namePronunciation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name Aussprache\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifikationsnummer\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"KID\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefon\"])},\n \"info\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Info\"])},\n \"roles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rollen\"])},\n \"hasProtection\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibschutz beim Import?\"])}\n },\n \"locationFilter\": {\n \"secondaryId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"controlCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle\"])},\n \"coupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kopplung\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort Filter\"])},\n \"group1Title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter/Region\"])},\n \"group2Title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"safetyInstruction\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sicherheitshinweise\"])},\n \"customAdditionalInfo\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Technischer Platz\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])}\n },\n \"locationEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort Anlegen\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort Editieren\"])}\n }\n },\n \"locationCsvImport\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort CSV Import\"])}\n },\n \"locationCoupling\": {\n \"grid\": {\n \"foreignSystemName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Quellsystem\"])},\n \"locationName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Stadt\"])},\n \"postalCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PLZ\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Straße\"])}\n },\n \"adress\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortkoppelung Bearbeiten\"])},\n \"showCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kopplungen anzeigen\"])},\n \"hideCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kopplungen minimieren\"])},\n \"createNewCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Standortkopplung erstellen\"])},\n \"activeCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktive Kopplungen\"])},\n \"newCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Kopplung\"])},\n \"sourceSystem\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Quellsystem\"])}\n },\n \"controlCenterEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle Anlegen\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle Editieren\"])}\n }\n },\n \"controlCenterFilter\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle Filter\"])}\n },\n \"regionEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Netzcenter\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter bearbeiten\"])}\n }\n },\n \"locationReportsFilter\": {\n \"group1Title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter/Region\"])},\n \"group2Title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"status\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Status\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"controlCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefonnummer\"])},\n \"lastRegistration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"letzte An-/Abmeldung\"])},\n \"address\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse\"])}\n },\n \"group1\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SyncId\"])}\n },\n \"group2\": {\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beschreibung\"])}\n },\n \"categoryEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue Kategorie\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie bearbeiten\"])}\n },\n \"titleName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"iconName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Icon\"])},\n \"isDefault\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Als Standardkategorie festlegen\"])}\n },\n \"disdiFilter\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB Filter\"])},\n \"diaryDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beschreibung\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie\"])},\n \"comment\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kommentar\"])},\n \"attachment\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anhangnamen\"])},\n \"createDate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erstellungsdatum\"])},\n \"registrationStart\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung\"])},\n \"registrationEnd\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmeldung\"])},\n \"userFullname\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"userPhoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefon\"])},\n \"companyName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Firma\"])}\n },\n \"disdiDetails\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB-Details\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beschreibung\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kategorie\"])},\n \"atbTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ATB-Details\"])},\n \"createDate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erstellungsdatum\"])},\n \"tabs\": {\n \"details\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Details\"])},\n \"locationDetails\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortdetails\"])},\n \"attachments\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anhänge\"])}\n },\n \"location\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortdetails\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standortname\"])},\n \"group2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Typ/Ebene\"])},\n \"group1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzcenter/Region\"])},\n \"CCName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzleitstelle\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefon\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Straße\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ort\"])}\n },\n \"user\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mitarbeiterdetails\"])},\n \"fullName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Telefon\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifikationsnummer\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"KID\"])},\n \"company\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Firma\"])}\n },\n \"registration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbmeldungsdetails\"])},\n \"registrationStart\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldedatum\"])},\n \"registrationEnd\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmeldedatum\"])}\n },\n \"locationDisdiEditor\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Standort ATB Freigabe\"])}\n },\n \"general\": {\n \"cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abbrechen\"])},\n \"reset\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Auf Default zurücksetzen\"])},\n \"results\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ergebnisse\"])},\n \"confirm\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OK\"])}\n }\n }\n}","export default {\n \"sidebar\": {\n \"LocationRegistration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location reports\"])},\n \"LocationManagement\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Locations\"])},\n \"RegistrationReports\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration reports\"])},\n \"SafetyInstructions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safety instructions\"])},\n \"User\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Users\"])},\n \"ControlCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center\"])},\n \"Settings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Settings\"])},\n \"Account\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account\"])},\n \"Group2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Levels\"])},\n \"Group1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Regions\"])},\n \"Activities\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activities\"])},\n \"ProviderManagement\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Providers\"])},\n \"Notifications\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Notifications\"])},\n \"CategoryManagement\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Categories\"])}\n },\n \"footer\": {\n \"results\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Results\"])},\n \"of\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"of\"])},\n \"imprint\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imprint\"])},\n \"privacy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Privacy\"])},\n \"changelog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changelog\"])}\n },\n \"login\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The smart
    Online-Managment
    of 1ANAB Web\"])},\n \"subline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"1ANAB WEB\"])},\n \"tabs\": {\n \"login\": {\n \"tabTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail*\"])},\n \"password\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password*\"])},\n \"rememberMe\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remember me\"])},\n \"submit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])}\n },\n \"changePassword\": {\n \"tabTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change password\"])},\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change password\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Which e-mail do you want to change the password for?\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail*\"])},\n \"submit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset password\"])},\n \"confirmHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-mail was send\"])},\n \"confirmDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You were send an e-mail with a link to reset your password. Please check your inbox.\"])},\n \"confirmButton\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ok\"])},\n \"newPasswordHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password*\"])},\n \"newPasswordDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please enter the new password.

    The following rules need to be met:
    - mind. 8 Zeichen
    - minimum 1 none alpha numeric character
    - minimum 1 number (0-9)
    - minimum 1 uppercase letter
    - minimum 1 lowercase letter\"])},\n \"newPasswordLabel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"newPasswordRepeatLabel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Repeat password\"])},\n \"newPasswordSave\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Save\"])},\n \"newPasswordCancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])}\n }\n },\n \"error\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"That sadly did not work.\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An error occured while processing your request. Please try again later or return to the login.\"])},\n \"button\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to login\"])}\n },\n \"notifySuccessfulLogin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your login was successful.\"])}\n },\n \"404\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wooops, error 404.\"])},\n \"subline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Something went wrong there.\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The requested page was not found.
    Please try again later or navigate to the home page.
    \"])},\n \"buttonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to home page\"])},\n \"buttonLogin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to login\"])}\n },\n \"403\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wooops, error 403.\"])},\n \"subline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No permission\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You sadly do not have permission to use this function.
    Please contact your supervisor.
    \"])},\n \"buttonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to home page\"])}\n },\n \"logout\": {\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout successful\"])},\n \"subline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"See you soon!\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"\"])},\n \"buttonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to login\"])}\n },\n \"changelog\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changelog\"])}\n },\n \"settings\": {\n \"languageSaved\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update language\"])},\n \"startPageSaved\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update home page\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Settings\"])},\n \"tabs\": {\n \"systemSettings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"System settings\"])},\n \"speachTexts\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Voice settings\"])},\n \"coupledSystems\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupled systems\"])},\n \"providerSettings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provider settings\"])},\n \"disdiSettings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DISDI Settings\"])}\n },\n \"providerSettings\": {\n \"elapseTime\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Elapsed time in days\"])},\n \"infoText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Infotext\"])},\n \"inactiveUsers\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inactive users\"])}\n },\n \"systemSettings\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"value\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Value\"])}\n },\n \"coupledSystems\": {\n \"testSuccessful\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Test successful\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the coupled system '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected coupled systems?\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"url\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL\"])},\n \"loginName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Loginname\"])},\n \"testCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Test coupling\"])},\n \"testingCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please wait...\"])}\n }\n },\n \"disdiSettingsTab\": {\n \"generalDisdiSettings\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"General Settings\"])},\n \"disdi\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Availability for DISDI\"])},\n \"activityFeature\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity feature\"])},\n \"editDefaultActvity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Default value of activity can be changed (after registration)\"])},\n \"picturesAmount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximum amount of pictures per DISDI entry\"])},\n \"defaultCategory\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pre-selected category\"])},\n \"deleteDeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete interval for DISDI entries\"])}\n },\n \"disdiPermissionsSettings\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Permissions\"])},\n \"readRoles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Look up DISDI\"])},\n \"editRoles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate DISDI for locations\"])}\n },\n \"metadataSettings\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metadata\"])},\n \"metaTimestamp\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timestamp\"])},\n \"metaEditor\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Creator persistance\"])},\n \"metaInvisibleTime\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Availability timestamps\"])},\n \"metaInvisible\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Availability metadata\"])},\n \"metaDeleteAll\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deletion interval (metadata)\"])}\n },\n \"disdiAppSettings\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Appsettings / -permission\"])},\n \"showInAppNr\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximum Amount of retrieved DISDI entries\"])},\n \"showInAppDays\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximum age of DISDI entries\"])},\n \"useGalleryInApp\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Allow mediagallery\"])}\n },\n \"metaTimestampType\": {\n \"None\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"None\"])},\n \"OnlyRegistration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Only sign on\"])},\n \"OnlyUnregistration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Only sign off\"])},\n \"Both\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Both\"])}\n },\n \"disdiType\": {\n \"NoDISDI\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Off\"])},\n \"SomeLocations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Single Locations\"])},\n \"AllLocations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"All Locations\"])}\n }\n },\n \"grid\": {\n \"intern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Internal Identifier\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"speachText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Voice text\"])}\n }\n },\n \"validators\": {\n \"required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This field is required.\"])},\n \"requiredIf\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"One of this fields is required.\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This field must be a valid e-mail adress.\"])},\n \"sameAs\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"These fields are identical.\"])},\n \"longitude\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longitude needs to be between -180 an 180.\"])},\n \"latitude\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latitude needs to be between -90 an 90.\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This is not a valid phone number. Valid format: +491234567891\"])},\n \"numeric\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This field only allows digits.\"])},\n \"maxLength\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"This field is only allowed \", _interpolate(_named(\"amount\")), \" charaters maximum.\"])},\n \"minLength\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"This field needs to have atleas \", _interpolate(_named(\"amount\")), \" charaters.\"])},\n \"hasNoneAlphaNum\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"minimum 1 none alpha numeric character is required\"])},\n \"hasNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"minimum 1 number is required\"])},\n \"hasUppercaseLetter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"minimum 1 uppercase letter is required\"])},\n \"hasLowercaseLetter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"minimum 1 lowercase letter is required\"])},\n \"float\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No valid float ('.' as seperator) recognized. (e.g. 0.1)\"])}\n },\n \"notifications\": {\n \"passwordReset\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You password was reset successfully!\"])},\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Notifications\"])},\n \"deleteAll\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete all\"])},\n \"text\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Message text\"])},\n \"type\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type\"])},\n \"date\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date\"])},\n \"showDetails\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Show details\"])},\n \"applySafetyInstruction\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete notification\"])},\n \"yesButtonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"YES\"])},\n \"noButtonText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Do you really want to delete the selected notification?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected notifications?\"])},\n \"promptInformationTitle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"For '\", _interpolate(_named(\"locationNames\")), \"' the following coupled Safetyinstruction was added:\"])},\n \"promptInformationBody\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Name: \", _interpolate(_named(\"name\")), \" ; Text: \", _interpolate(_named(\"text\"))])},\n \"promptInformationHint\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can edit the Safetyinstruction either in the Location-Details or via the Safetyinstruction-managment\"])},\n \"signalrDisconnected\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CAUTION\"])},\n \"text\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The automatic refresh lost connection, please reload the page.\"])}\n }\n },\n \"account\": {\n \"passwordReset\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your password was changed successfully!\"])},\n \"passwordResetButton\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change password\"])},\n \"lastPasswordChangeText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password was last changed on\"])},\n \"logout\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"passwordRepeat\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Repeat new password\"])},\n \"passwordNew\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password\"])},\n \"passwordCurrent\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current password\"])},\n \"passwordTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"language\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"browserLanguage\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Browser Language\"])},\n \"startpage\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home page\"])},\n \"settings\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Settings\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company internal identification\"])},\n \"roles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Roles\"])},\n \"username\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"user\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User\"])},\n \"myAccount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"My Account\"])}\n },\n \"global\": {\n \"saved\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saved\"])},\n \"send\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Send\"])},\n \"save\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Save\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"delete\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete\"])},\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deleted\"])},\n \"reset\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"back\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"exportCsv\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Export CSV\"])},\n \"importCsv\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Import CSV\"])},\n \"downloadPdf\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Download PDF\"])},\n \"downloadPdfMail\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Send PDF via E-Mail\"])},\n \"locations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Locations\"])},\n \"unregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign off\"])},\n \"noValidToken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your session was expired or faulty, please log in again!\"])},\n \"validationFailed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please fill in the fields correctly.\"])},\n \"units\": {\n \"days\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"in days\"])}\n },\n \"emptyList\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No entries\"])}\n },\n \"locations\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Locations\"])},\n \"newLocation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New location\"])},\n \"massDisdi\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change DISDI setting for multiple locations\"])},\n \"exportFilename\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location export\"])},\n \"changeCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit coupling\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the following location '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected locations?\"])},\n \"grid\": {\n \"secId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"group2Name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level\"])},\n \"group1Name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Regions\"])},\n \"customAdditionalInformation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Technical place\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"controlCenterName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center\"])},\n \"noCoupledSystems\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This location has no coupled systems\"])}\n },\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location(s) deleted!\"])},\n \"willDownload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Download startet\"])},\n \"willBeSend\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail was send\"])}\n },\n \"safetyInstructions\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safety instructions\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New safety instruction\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit safety instruction\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the safety instruction '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" seleted safety instructions?\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"safetyInstructionLocations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Locations\"])},\n \"selectedLocationsCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"selected locations\"])},\n \"csvDownload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Download CSV\"])},\n \"csvDownloadFilename\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safety instructions\"])},\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"text\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Text\"])}\n },\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safety instruction(s) deleted!\"])}\n },\n \"providerManagement\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provider management\"])},\n \"grid\": {\n \"companyName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company name\"])},\n \"adress\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adress\"])},\n \"showStaff\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"show staff member\"])},\n \"companyIdCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identification number\"])}\n },\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New provider\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the provider '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected providers?\"])},\n \"inactiveUsers\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inactive Users\"])}\n },\n \"providerManagementDetails\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Staff members\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New staff member\"])},\n \"headline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Staff members summary\"])},\n \"address\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adress\"])},\n \"backButton\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact person\"])},\n \"lessInfos\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"less provider details\"])},\n \"moreInfos\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"more provider details\"])},\n \"information\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Information\"])},\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"admin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"active\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activ\"])},\n \"cleared\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enabling\"])},\n \"reactivate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"reactivate\"])}\n },\n \"connectedWorker\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Existing staff member was connected with your system.\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the staff member '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected staff members?\"])},\n \"placeholder\": {\n \"companysearchterm\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your search terms for existing companies...\"])}\n }\n },\n \"locationsReports\": {\n \"secondaryId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Locationreports\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"newLocationReport\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Manual sign on/off\"])},\n \"newLogin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Manual sign on/off\"])},\n \"instantMessage\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Instant message\"])},\n \"instantMessageDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"With this you are sending an instant message to all signed on users. \\nYou can edit the message to send in the text field below.\"])},\n \"registerPopup\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Manual sign on/off\"])},\n \"locationDetails\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location details\"])},\n \"history\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"History\"])},\n \"town\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"City\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Street/Nr.\"])},\n \"zip\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zip/City\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"gps\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"GPS-Coordinates\"])},\n \"securityInformations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safety instructions\"])},\n \"detailsHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact\"])},\n \"noGpsData\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No coordinates\"])},\n \"tabs\": {\n \"history\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User history\"])},\n \"locationDetails\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location details\"])},\n \"safetyInstructions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safteyinstructions\"])},\n \"safetyInstructionsEmpty\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"There are no safteyinstructions for this location.\"])}\n },\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"phone\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"register\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"last sign on/off\"])},\n \"registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signed on\"])},\n \"unregistered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signed off\"])},\n \"coupled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupled\"])},\n \"adress\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adress\"])},\n \"group1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region\"])},\n \"group2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level\"])},\n \"controlCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center\"])},\n \"activities\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([])},\n \"personCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"People\"])}\n }\n },\n \"registrationReports\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register reports\"])},\n \"userHistoryPopup\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User history\"])},\n \"userDetailPopupTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User details\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"grid\": {\n \"activity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"info\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Info\"])},\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"locationId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location ID\"])},\n \"register\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign on\"])},\n \"unregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign off\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"company\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"guestCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Guest count\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company internal identification\"])},\n \"coupledUser\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupled user\"])}\n },\n \"confirmUnregister\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you want to sign off '\", _interpolate(_named(\"name\")), \"' at '\", _interpolate(_named(\"location\")), \"'?\"])}\n },\n \"users\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User\"])},\n \"newUser\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New user\"])},\n \"exportCsv\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Export CSV\"])},\n \"csvDownloadFilename\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Users\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the user '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected users?\"])},\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User(s) deleted\"])},\n \"resetActivity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Do you really want to reset the user activity?\"])},\n \"resetMultipleActivity\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to reset the activity for \", _interpolate(_named(\"count\")), \" users?\"])},\n \"inactiveUsersReactivated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Selected inactive users have been reactivated\"])},\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identification number\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company internal identification\"])},\n \"fullName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"roles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Roles\"])},\n \"info\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Info\"])},\n \"isActive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activ\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"activeUser\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User activ\"])},\n \"inactiveUser\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User inactiv, will be deleted soon\"])}\n },\n \"menu\": {\n \"permission\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change permission\"])},\n \"activity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset activity status\"])}\n }\n },\n \"regions\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New Netcenter/region\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the Netcenter/region '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected Netcenters/regions?\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SyncId\"])}\n },\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region deleted\"])}\n },\n \"activity\": {\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Category\"])}\n },\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the activity '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected activities?\"])}\n },\n \"activitySet\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity set\"])},\n \"tabs\": {\n \"groups\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity sets\"])},\n \"manageActivities\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Manage activities\"])}\n },\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New activity set\"])},\n \"grid\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"locations\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])}\n },\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the activity set '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected activity sets?\"])}\n },\n \"controlCenters\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control centers\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the control center '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected control centers?\"])},\n \"newcontrolCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New control center\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SyncId\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SyncId\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])}\n },\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center(s) deleted\"])}\n },\n \"levels\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level\"])},\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Types/Levels deleted\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New type/level\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change type/level\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the type/level '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected types/levels?\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])}\n }\n },\n \"category\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Categories\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New\"])},\n \"deleted\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Categories deleted\"])},\n \"confirmDeletionSingle\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the following category '\", _interpolate(_named(\"name\")), \"'?\"])},\n \"confirmDeletionMulti\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Do you really want to delete the \", _interpolate(_named(\"count\")), \" selected categories?\"])},\n \"grid\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Title\"])},\n \"unicode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Icon\"])},\n \"isDefault\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Indicates if this category is preselected as the default.\"])}\n }\n },\n \"disdi\": {\n \"view\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Digital Station Diary\"])},\n \"details\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Details\"])},\n \"grid\": {\n \"diaryDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"categoryId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Category\"])},\n \"comment\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Comment\"])},\n \"attachment\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Attachemnt\"])},\n \"createDate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Creationdate\"])},\n \"registrationStart\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign on\"])},\n \"registrationEnd\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign off\"])},\n \"userFullname\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"userPhoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phonenumber\"])},\n \"companyName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company\"])},\n \"categoryEmpty\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Category not found\"])},\n \"info\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Info\"])}\n },\n \"csvExportFileName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DISDI-Entries\"])},\n \"pdfDownloaded\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PDF was downloaded successfully\"])}\n },\n \"login\": {\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please wait and get your mobile ready, you will be transfered to the login automatically.\"])}\n },\n \"maintenance\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Digital Station Diary maintenance\"])},\n \"diaryDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Category\"])},\n \"attachments\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Attachments\"])},\n \"attachmentsPreview\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Attachmentpreview\"])},\n \"disdiInfo\": {\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"registration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign on/off\"])}\n },\n \"saveAndClose\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Close entry\"])},\n \"uploadDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"HINT: As soon as pictured get selected they automatically will be uploaded. Pictures with the same name will be overwritten.\"])},\n \"uploadedFiles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last uploaded pictures\"])},\n \"generalInfo\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"General Information\"])},\n \"maintainInfo\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Information to maintain\"])},\n \"uploadButton\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Select attachments\"])}\n },\n \"exit\": {\n \"byeText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The entry was closed.\"])},\n \"byeSubText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Thank you and until next time :)\"])}\n }\n },\n \"otpLogin\": {\n \"login\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])}\n },\n \"error\": {\n \"status\": {\n \"general\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"An error occured. Server responded with: '\", _interpolate(_named(\"message\")), \"'\"])},\n \"accessDenied\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An error occured. The request was denied.\"])},\n \"-1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid Request\"])},\n \"1000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An internal server error occured, please try again later or contact the support.\"])},\n \"1001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The requested data does not exist. Please check the code for correctness and try again.\"])},\n \"1002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Field Validation Error\"])},\n \"1003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No System is attached to the User\"])},\n \"1004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No locations\"])},\n \"1005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail Validation Error\"])},\n \"1006\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Country code does not exist\"])},\n \"3000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystemId ValidationError\"])},\n \"3001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CompanyId ValidationError\"])},\n \"3002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystem does not exist\"])},\n \"3003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company does not exist\"])},\n \"3004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identitficationnumber already in use\"])},\n \"3005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystemCompany does not exist\"])},\n \"3006\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid user\"])},\n \"3007\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The Companyworker is part of another provider\"])},\n \"3008\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Double CompanyWorkerAnAbSystem\"])},\n \"3009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"InstallationId ValidationError\"])},\n \"3010\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The Identitficationnumber is invlaid.\"])},\n \"3011\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Double AnAbAppInstallation\"])},\n \"3012\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user still has a valid connection to another 1ANAB System. Please delete this connection before retrying.\"])},\n \"3013\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user is set as the contact person for this company. Please appoint another contact person, before deleting the user.\"])},\n \"3014\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user is set as the contact person for a 1ANAB System. Please appoint another contact person, before deleting the user.\"])},\n \"3016\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Correlation to 1ANAB System still present.\"])},\n \"3017\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This text could not be found.\"])},\n \"3018\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystem already exists in AnAbSystemDescription\"])},\n \"3019\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An existing system correlation is preventing this action.\"])},\n \"3020\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystem already exists in CompanyWorkerAnAbSystem\"])},\n \"3021\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PageDescription already exists in AnAbSystemDescription\"])},\n \"3022\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PageDescriptionId ValidationError\"])},\n \"3023\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User exists and already has a CompanyId\"])},\n \"3024\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Name hat ein ungültiges Format.\"])},\n \"3025\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Postleitzahl hat ein ungültiges Format.\"])},\n \"3026\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Stadt hat ein ungültiges Format.\"])},\n \"3027\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Straße hat ein ungültiges Format.\"])},\n \"3028\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Hausnummer hat ein ungültiges Format.\"])},\n \"3029\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The length of the ANABSystemCompanyCode does not have 11 characters.\"])},\n \"3030\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The user already exists in another system.\"])},\n \"3031\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Persistenz-Eingabewert ist ungültig.Der eingegebene Wert muss kleiner als 365 sein.\"])},\n \"3032\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"LastInteraction ValidationError\"])},\n \"4000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist\"])},\n \"4001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"UserId ValidationError\"])},\n \"4002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mobile number ValidationError\"])},\n \"4003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password ValidationError\"])},\n \"4004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"RoleName ValidationError\"])},\n \"4005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User has no fitting role\"])},\n \"4006\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"More than one user use this phon number\"])},\n \"4007\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The selected phone number cannot recieve SMS\"])},\n \"4008\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The selected phone number is invalid\"])},\n \"4009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username ValidationError\"])},\n \"4010\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username is already registered\"])},\n \"4011\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phonenumber is already registered\"])},\n \"4012\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your user roles are git.\"])},\n \"4013\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"County code ValidationError\"])},\n \"4014\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"GSM-Number already taken.\"])},\n \"4015\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error occured in user history\"])},\n \"4016\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User just has 1ANAB as product\"])},\n \"4017\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"There is no admin user\"])},\n \"4018\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid link. Please contact an admin.\"])},\n \"4019\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Finished successfully. You gained the admin role.\"])},\n \"4020\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not have product\"])},\n \"4021\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Role does not have product\"])},\n \"4022\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username already taken\"])},\n \"4023\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User cannot edit\"])},\n \"4024\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"UserAdditional is Null\"])},\n \"4025\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"UserAdditional ValidationError\"])},\n \"4026\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error in UserManager (dotnet)\"])},\n \"4027\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User with this e-mail adress already exists.\"])},\n \"4028\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"This user already exists in another company (\", _interpolate(_named(\"companyName\")), \")\"])},\n \"4029\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"There is more than one user with the same information\"])},\n \"5000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"An error occured while requesting systems for user.\"])},\n \"5009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The maximum number of locations for your licence has been reached.\"])},\n \"6000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No open registration found.\"])},\n \"6001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location ID invalid\"])},\n \"6002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"System could not be found\"])},\n \"6003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Faulty GPS-coordinates\"])},\n \"6666\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"General error occured while signing on/off\"])},\n \"6667\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration was not recognized\"])},\n \"6969\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User already signed on at this location.\"])},\n \"7000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Notification could not be send.\"])},\n \"7001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User could not be found\"])},\n \"7002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Too many recipients were selected (max 20)\"])},\n \"9000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please only specify 5-digit long identification numbers\"])},\n \"9001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location id already exist, please specify a different one.\"])},\n \"9002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location does not exist\"])},\n \"9003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location cannot be deleted with active open registrations.\"])},\n \"9004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sync id already exist, please specify a different one\"])},\n \"9005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupled system does not exist\"])},\n \"9006\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid location\"])},\n \"9007\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid coupled system\"])},\n \"9008\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid System-Coupling-Identifier\"])},\n \"9009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid couple system's name\"])},\n \"9010\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Connection already exists.\"])},\n \"9011\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupled System does not exist\"])},\n \"9012\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name is required\"])},\n \"9013\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Text is required\"])},\n \"9014\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location Identifier ValidationError\"])},\n \"9015\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Foreign Location Identifier ValidationError\"])},\n \"9016\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid Id\"])},\n \"9017\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location <> safety instruction connection does not exist\"])},\n \"9018\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safety instruction does not exist\"])},\n \"9019\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level does not exist\"])},\n \"9020\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"There are still locations associated with this data. Please remove the association before deletion.\"])},\n \"9021\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center does not exist\"])},\n \"9022\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"There are still locations associated with this data. Please remove the association before deletion.\"])},\n \"9023\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region does not exist\"])},\n \"9024\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"There are still locations associated with this data. Please remove the association before deletion.\"])},\n \"9025\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration does not exist\"])},\n \"9026\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Day is required\"])},\n \"9027\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User is not enabled for this system.\"])},\n \"9028\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User already signed on.\"])},\n \"9029\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register System Identifier ValidationError\"])},\n \"9030\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date is required\"])},\n \"9031\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupled Location Registration does not exist\"])},\n \"9032\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SMS on blacklist\"])},\n \"9033\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid RegistrationId\"])},\n \"9034\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User not permitted ad this location.\"])},\n \"9035\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User is signed on. Please first sign off.\"])},\n \"9036\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User already signed on at this location\"])},\n \"9037\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User already signed off at this location\"])},\n \"9038\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Client is required\"])},\n \"9039\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid PreferenceType\"])},\n \"9040\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Table name is required\"])},\n \"9041\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PrefernceList is empty\"])},\n \"9042\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Attribute name is required\"])},\n \"9043\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail is required\"])},\n \"9044\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password is required\"])},\n \"9045\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please verify youe e-mail adress.\"])},\n \"9046\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You need to change your password (every 90 days).\"])},\n \"9047\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name is required\"])},\n \"9048\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identification number is required\"])},\n \"9049\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You are not allowed to change the admin role.\"])},\n \"9050\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deletion failed. User still has registrations.\"])},\n \"9051\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Default location permission does not exist\"])},\n \"9052\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid Users\"])},\n \"9053\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid Settings name\"])},\n \"9054\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid settings value\"])},\n \"9055\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Setting does not exist\"])},\n \"9056\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL is required\"])},\n \"9057\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username is required\"])},\n \"9058\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact phone number is required\"])},\n \"9059\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"System already connected\"])},\n \"9060\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Elapsed notice is required\"])},\n \"9061\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Elapsed time is required\"])},\n \"9062\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail Template is required\"])},\n \"9063\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Token is required\"])},\n \"9064\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Repeate password is required\"])},\n \"9065\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwords dont match.\"])},\n \"9066\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AccessToken is required\"])},\n \"9067\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"RefreshToken is required\"])},\n \"9068\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid RefreshToken\"])},\n \"9069\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid Token\"])},\n \"9070\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Combination of e-mail and password doess not exist.\"])},\n \"9071\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The password was faulty too many times. User got locked out.\"])},\n \"9072\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cannot show SSO result.\"])},\n \"9073\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error occured while using OpenId.\"])},\n \"9074\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User could not be logged in via OpenId.\"])},\n \"9075\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No identification number could be generated.\"])},\n \"9076\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User already exists\"])},\n \"9077\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User is deactivated.\"])},\n \"9078\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"AnAbSystem does not exist in CompanyWorkerAnAbSystem\"])},\n \"9079\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no digit\"])},\n \"9080\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New Password is required\"])},\n \"9081\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Old Password is required\"])},\n \"9082\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New and old password are the same, please change to a different password.\"])},\n \"9083\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password was wrong\"])},\n \"9084\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You are using openId\"])},\n \"9089\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail and phone number required\"])},\n \"9100\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO login failed. No authorization could be found.\"])},\n \"9101\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You cannot delete yourself.\"])},\n \"9104\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The identificationnumer is already taken\"])},\n \"9105\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The format of the entered identificationnumber is wrong.\"])},\n \"9106\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Connecting to the coupled System failed.\"])},\n \"9107\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The activity-name must be unique\"])},\n \"10000\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DiaryEntry Not Found\"])},\n \"10001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DiaryEntryAttachment Not Found\"])},\n \"10002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DISDI is disabled\"])},\n \"10003\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DISDI has no pictures configured\"])},\n \"10004\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Request does not match with config of System\"])},\n \"10005\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DiaryEntryId is not Valid\"])},\n \"10008\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DiaryEntry is not completed\"])},\n \"10009\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"MetaTimestamp Error\"])},\n \"10010\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PDF template file not found\"])},\n \"11001\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture already deleted or could not be found.\"])},\n \"12002\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The category is still used by an activity.\"])},\n \"999999\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload failed, please try again later.\"])},\n \"666666666\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Boolean value needs to be either 'True'/'true' or 'False'/'false'\"])},\n \"666666666666\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No connection could be made to the server, please check your internet connetivity\"])}\n }\n },\n \"popups\": {\n \"settings\": {\n \"spokenText\": {\n \"intern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Internal identification\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"spokenText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Voive text\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change voice text\"])}\n },\n \"systemSettings\": {\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change system setting\"])},\n \"value\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Value\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])}\n },\n \"coupledSystems\": {\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit coupled system\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Couple new system\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"System name\"])},\n \"baseUrl\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Base URL\"])},\n \"partnerSection\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact person\"])},\n \"nameOfPartner\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"name of contact person\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"loginData\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login data\"])},\n \"loginName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login name\"])},\n \"password\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"resetPassword\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login data for foreign systems\"])},\n \"resetPasswordText\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please send us a ticket. We will send the credentials as soon as possible.\"])},\n \"resetPasswordHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])}\n }\n },\n \"registrationReports\": {\n \"grid\": {\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"company\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company\"])},\n \"registerUnregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign on\"])},\n \"unregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign off\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"guestCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Guests\"])}\n },\n \"changeActivity\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Change default activity\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Choose an activity with the dropdown or input a new one into the input-field.\"])},\n \"currentActivityTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current activity:\"])},\n \"takeGivenActivity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Select existing activity:\"])},\n \"createNewActivity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Create new activity:\"])}\n }\n },\n \"providerManagementDetails\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New staff member\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit staff member\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"dialCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Country code\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"workerData\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Staff Details\"])},\n \"enabling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enabling\"])},\n \"status\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity status\"])},\n \"inviteAsAdmin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invite as Admin\"])},\n \"invitationInfo\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, named: _named } = ctx;return _normalize([\"Staff member was invited on \", _interpolate(_named(\"dateString\")), \".\"])},\n \"admin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"companyHasAdmin\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New staff members can only be created by an admin, please contact:\"])}\n },\n \"providerManagement\": {\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit provider\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New provider\"])},\n \"gsmSearch\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"GSM-Search\"])},\n \"similarCompanies\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Similar Provider found\"])},\n \"selectedSimilarProvider\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Selected provider:\"])},\n \"editInsertedData\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"edit supplied data\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provider name\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identification number\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Street\"])},\n \"postalCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ZIP\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"City\"])},\n \"houseNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"House number\"])},\n \"phonePrefix\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact: Country code\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact: Phone number\"])},\n \"information\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Information\"])},\n \"providerList\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"List of known providers\"])},\n \"providerSearch\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provider search\"])},\n \"chooseAvailableProvider\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Selected existing provider\"])}\n },\n \"locations\": {\n \"id\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Street\"])},\n \"postalCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ZIP\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"City\"])}\n },\n \"locationInfo\": {\n \"section1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"IDs & GPS\"])},\n \"section2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name & Adress\"])},\n \"section3\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fallback phone number & Coupling\"])},\n \"section4\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Additional Specifications\"])},\n \"secondaryId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location ID\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sync ID\"])},\n \"longitude\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longitude\"])},\n \"latitude\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latitude\"])},\n \"registrationRadius\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration radius (in KM)\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"namePronunciation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pronunciation\"])},\n \"streetNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"House number\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Street\"])},\n \"postalCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ZIP\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"City\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"phoneNumberAltIsFallback\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fallback phone number\"])},\n \"couplingEnabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate coupling\"])},\n \"phoneNumberAlt2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alternative phone number 2\"])},\n \"phoneNumberAlt1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alternative phone number\"])},\n \"customAdditionalInformation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Additional Information\"])},\n \"specificOptions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"City\"])},\n \"group1AndName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region\"])},\n \"group2IdAndName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level\"])},\n \"controlCenterIdAndName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center\"])},\n \"safetyInstructions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safety instructions\"])},\n \"pdfTemplate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"PDF Template\"])},\n \"readerTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reader\"])},\n \"readerTooltip\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please enter a phone number with country code (e.g. +491231231234). The contents of the 'Pronunciation' field will be read to you via call.\"])},\n \"readerPhonenumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"activitySet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity set\"])},\n \"hasDisdi\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Digital station diary\"])}\n },\n \"activitySet\": {\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"addActivity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add activity\"])},\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"group2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level\"])},\n \"group1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region\"])},\n \"couple\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupling\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New Activity set\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit activity set\"])},\n \"locationsHeadline\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location allocation\"])},\n \"toggleActivityFilter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Show locations with different activity aswell\"])}\n },\n \"activity\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity description\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Category\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit activity\"])},\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New activity\"])}\n },\n \"register\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration\"])},\n \"user\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User\"])},\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"guestAmount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Guest count\"])},\n \"activity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity\"])},\n \"register\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign on\"])},\n \"unregister\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign off\"])},\n \"adressOfLocation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adress of registered Locations\"])},\n \"registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signed on\"])},\n \"unregistered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signed off\"])}\n },\n \"registerLocation\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location Report Filter\"])}\n },\n \"registerFilter\": {\n \"status\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Status\"])},\n \"fullName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identification number\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company internal identification\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"company\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company\"])},\n \"activity\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity\"])},\n \"location\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"guestCount\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Guest count\"])}\n },\n \"confirm\": {\n \"yes\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])},\n \"no\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])}\n },\n \"csv\": {\n \"file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"CSV file\"])}\n },\n \"userFilter\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User filter\"])},\n \"groudKid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company internal identification exists\"])},\n \"yes\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])},\n \"no\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"groupActivitystatus\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activity status\"])},\n \"active\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activ\"])},\n \"inactive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inactiv\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identification number\"])}\n },\n \"reader\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reader\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Please enter a phone number with country code (e.g. +491231231234). The contents of the 'Pronunciation' field will be read to you via call.\"])},\n \"callNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"button\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start call\"])}\n },\n \"userEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New User\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit User\"])}\n },\n \"firstName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"lastName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"namePronunciation\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pronunciation\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identification number\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company internal identification\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"info\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Info\"])},\n \"roles\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Roles\"])},\n \"hasProtection\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Write protected for Import?\"])}\n },\n \"locationFilter\": {\n \"secondaryId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"controlCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center\"])},\n \"coupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Coupling\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location Filter\"])},\n \"group1Title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region\"])},\n \"group2Title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level\"])},\n \"safetyInstruction\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Safety instructions\"])},\n \"customAdditionalInfo\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Technical place\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])}\n },\n \"locationEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New Location\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit Location\"])}\n }\n },\n \"locationCsvImport\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location CSV Import\"])}\n },\n \"locationCoupling\": {\n \"grid\": {\n \"foreignSystemName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Foreign System\"])},\n \"locationName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"City\"])},\n \"postalCode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ZIP\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Street\"])}\n },\n \"adress\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adress\"])},\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit Locationcoupling\"])},\n \"showCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Show coupling\"])},\n \"hideCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Minimize coupling\"])},\n \"createNewCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New Locationcoupling\"])},\n \"activeCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active couplings\"])},\n \"newCoupling\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New Coupling\"])},\n \"sourceSystem\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Foreign system\"])}\n },\n \"controlCenterEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New Control center\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit Control center\"])}\n }\n },\n \"controlCenterFilter\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center Filter\"])}\n },\n \"regionEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New Netcenter/Region\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit Netcenter/Region\"])}\n }\n },\n \"locationReportsFilter\": {\n \"group1Title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region\"])},\n \"group2Title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level\"])},\n \"status\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Status\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"controlCenter\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phone number\"])},\n \"lastRegistration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"last sign on/off\"])},\n \"address\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adress\"])}\n },\n \"group1\": {\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"syncId\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SyncId\"])}\n },\n \"group2\": {\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])}\n },\n \"categoryEditor\": {\n \"title\": {\n \"new\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New category\"])},\n \"edit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit category\"])}\n },\n \"titleName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Title\"])},\n \"unicode\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Icon\"])},\n \"isDefault\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Set as default category\"])}\n },\n \"disdiFilter\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DISDI filter\"])},\n \"diaryDescription\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Category\"])},\n \"comment\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Comment\"])},\n \"attachment\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Attachment\"])},\n \"createDate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Creationdate\"])},\n \"registrationStart\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sing on\"])},\n \"registrationEnd\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign off\"])},\n \"userFullname\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"userPhoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phonenumber\"])},\n \"companyName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company\"])}\n },\n \"disdiDetails\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DISDI-Details\"])},\n \"description\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description\"])},\n \"category\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Category\"])},\n \"atbTitle\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"DISDI-Details\"])},\n \"createDate\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Creation date\"])},\n \"tabs\": {\n \"details\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Details\"])},\n \"locationDetails\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Locationdetails\"])},\n \"attachments\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Attachments\"])}\n },\n \"location\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location details\"])},\n \"name\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location name\"])},\n \"group2\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Type/Level\"])},\n \"group1\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netcenter/Region\"])},\n \"CCName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Control center\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phonenumber\"])},\n \"street\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Street\"])},\n \"city\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"City\"])}\n },\n \"user\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Staff member details\"])},\n \"fullName\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Name\"])},\n \"email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"phoneNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Phonenumber\"])},\n \"identificationNumber\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identificationnumber\"])},\n \"kid\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"KID\"])},\n \"company\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Company\"])}\n },\n \"registration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign on/off details\"])},\n \"registrationStart\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign on date\"])},\n \"registrationEnd\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sign off date\"])}\n },\n \"locationDisdiEditor\": {\n \"title\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location DISDI approval\"])}\n },\n \"general\": {\n \"cancel\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"reset\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset to default\"])},\n \"results\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Results\"])},\n \"confirm\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OK\"])}\n }\n }\n}","import {createI18n} from \"vue-i18n\";\nimport deLanguage from '@/locales/de.json';\nimport enLanguage from '@/locales/en.json';\n\nconst messages = {\n de: deLanguage,\n en: enLanguage\n};\n\nconst i18n = createI18n({\n locale: 'de',\n fallbackLocale: 'en',\n legacy: false,\n globalInjection: true,\n messages\n});\n\nconst $t = i18n.global.t;\n\nexport { i18n, $t };","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {\n CompanySettingsResponse,\n DisdiSettingResponse,\n GeneralResponse,\n PrivacyResponse,\n SettingsResponse,\n TextResponse\n} from \"@/models/api/Responses\";\nimport {ErrorLocationType, HttpType, ZdvSettingType} from \"@/utilities/enums/Enums\";\nimport {\n SystemSettingUpdateRequest,\n UpdateDisdiSettingRequest,\n UpdatePronuncicationRequest\n} from \"@/models/api/Requests\";\nimport {PronunciationSetting} from \"@/models/setting/PronunciationSetting\";\nimport {DisdiSetting} from \"@/models/setting/disdi/DisdiSetting\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {BaseDisdiSetting} from \"@/models/setting/disdi/BaseDisdiSetting\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\nexport class SettingService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getSystemSettings():Promise{\n const uri = this.uriHelper.settings.getGlobalSettingsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getPrivacySettings():Promise{\n const uri = this.uriHelper.settings.getPrivacySettingsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async putUpdateSystemSetting(ss:any):Promise{\n const uri = this.uriHelper.settings.getGlobalSettingByIdPath(ss.id);\n const requestBody = new SystemSettingUpdateRequest(ss);\n\n return await this.webCaller.HttpSend(HttpType.put, uri, requestBody);\n }\n\n public async getClientSettings():Promise{ //TODO type response ? still needed ?\n const uri = this.uriHelper.settings.getClientSettingsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getPronunciationSettings():Promise{\n const uri = this.uriHelper.settings.getPronunciationSettingsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getDefaultActivityText():Promise{\n const uri = this.uriHelper.settings.getDefaultActivityTextPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getDefaultInstantMessageText():Promise{\n const uri = this.uriHelper.settings.getDefaultInstantMessageTextPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async putUpdatePronunciationSetting(ps:PronunciationSetting):Promise{\n const uri = this.uriHelper.settings.getPronunciationSettingsWithIdPath(ps.id);\n const requestBody = new UpdatePronuncicationRequest(ps);\n\n return await this.webCaller.HttpSend(HttpType.put, uri, requestBody);\n }\n\n public async getCompanySettings():Promise{\n const uri = this.uriHelper.settings.getCompanySettingsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async postUpdateDmaPersistance(daysAmount:number):Promise{\n const uri = this.uriHelper.settings.getCompanyWorkerPersistancePath();\n const requestBody = `\"${daysAmount}\"`;\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async postUpdateExpiredText(text:string):Promise{\n const uri = this.uriHelper.settings.getExpiredTextPath();\n const requestBody = `\"${text.replace(\"\\n\", \"\\\\n\").replace(\"\\r\", \"\\\\r\").replace(\"\\t\", \"\\\\t\")}\"`;\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async getDisdiSettings(errorLocation:ErrorLocationType):Promise{\n const uri = this.uriHelper.settings.getDisdiSettingsPath();\n\n const disdiResp = await this.webCaller.HttpSend(HttpType.get, uri) as DisdiSettingResponse;\n if (disdiResp === null || disdiResp === undefined || disdiResp.statusCode !== 0) {\n ErrorHandler.handleError(disdiResp, errorLocation);\n return null;\n }\n\n return this.convertToDisdiSetting(disdiResp.disdiSetting?.disdiSetting);\n }\n\n public async updateDisdiSetting(setting:DisdiSetting, errorLocation:ErrorLocationType):Promise{\n const uri = this.uriHelper.settings.getDisdiSettingByIdPath(ZdvSettingType.disdi);\n const requestBody = (new UpdateDisdiSettingRequest(setting)).convertToRequestBody();\n\n const updateResp = await this.webCaller.HttpSend(HttpType.put, uri, requestBody) as GeneralResponse;\n if (updateResp === null || updateResp === undefined || updateResp.statusCode !== 0) {\n ErrorHandler.handleError(updateResp, errorLocation);\n return false;\n }\n\n return true;\n }\n\n /*\n API returns string instead of enum-bytes, so to avoid magic string weirdness,\n the response gets converted into an 'enum-typed' forntend-viewmodel to make working with it easier\n */\n private convertToDisdiSetting(base:BaseDisdiSetting|null|undefined):DisdiSetting|null{\n if(NullOrUndefinedHelper(base)) return null;\n\n //@ts-expect-error\n return new DisdiSetting(base);\n }\n}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Changelog.vue?vue&type=style&index=0&id=b058581a&lang=scss\"","\n\n\n\n\n","import script from \"./Tags.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Tags.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineStore } from 'pinia'\nimport {ErrorLocationType, ErrorType, PopupType, PreferenceType, SsoType} from \"@/utilities/enums/Enums\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport {ColumnStore, Store} from \"@bryntum/grid\";\nimport {HubNotification} from \"@/models/HubNotification\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {AttributeFilter} from \"@/models/AttributeFilter\";\nimport {UserInfo} from \"@/models/user/UserInfo\";\nimport {StartupConfig} from \"@/models/StartupConfig\";\nimport {SystemCompanySettings} from \"@/models/SystemCompanySettings\";\nimport {UserPreference} from \"@/models/user/UserPreference\";\nimport router from \"@/router\";\nimport {DisdiSetting} from \"@/models/setting/disdi/DisdiSetting\";\nimport {ActivitySetting} from \"@/models/setting/ActivitySetting\";\nimport {permissionColumn} from \"@/AppConfig\";\n\nexport const useGlobalStore = defineStore('GlobalStore', {\n state: () => {\n return {\n refreshIsActive: true,\n gridDataIsLoading: false,\n currentItems: 0,\n allItems: 0,\n layout: \"simple-layout\", //\"app-layout\",\n success: {\n show: false,\n text: \"Gespeichert!\",\n },\n error: {\n location: ErrorLocationType.none,\n type: ErrorType.warning,\n text: \"Fehler!\",\n },\n modal: {\n show: false,\n validator: { $validate:()=>{} },\n resetButton: false,\n title: \"Default Popup Title\",\n popupType: PopupType.none,\n contentObject: {},\n action: ()=>{},\n bigMode: false\n },\n gridStore: null as Store|null,\n gridColumnStore: null as ColumnStore|null,\n userPreferences: {\n userFilters: new Array(),\n userHiddenColumns: new Array(),\n userColumnOrder: new Array(),\n general: {\n darkMode: false,\n userStartPage: null,\n userLocale: null,\n },\n refreshCurrentPage: true,\n },\n tmpPreferences: {\n tmpUserFilters: new Array(),\n tmpUserHiddenColumns: new Array(),\n },\n countAfterFilters: 0,\n token: \"\",\n user: null as UserInfo | null,\n oAuth:{\n routeAfterLogin: null as string|null\n },\n settings: {\n notifications: {\n durationSuccess: 10000,\n durationWarning: 10000,\n durationError: -1,\n durationInfo: 10000,\n },\n defaultHiddenColumns: null as Array|null,\n systemCompanySettings: null as SystemCompanySettings|null,\n disdiSettings: null as DisdiSetting|null,\n activitySettings: null as ActivitySetting|null,\n startupConfig: null as StartupConfig|null,\n enabledFeatures: null as Array|null,\n },\n notifications: new Array(),\n uploadedFile: null,\n }\n\n },\n getters: {\n getNewNotificationCount: (state) => state.notifications.filter(x => x.isNew === true).length\n },\n actions: {\n async updateTablePreferences({ userId, tableName }:any) {\n const tmpUserFilters = this.tmpPreferences.tmpUserFilters;\n const filteredCurrentFilters = this.userPreferences.userFilters.filter((f:any) => f.tableName !== tableName);\n\n const tmpHiddenColumns = this.tmpPreferences.tmpUserHiddenColumns;\n const filteredCurrentHiddenColumns = this.userPreferences.userHiddenColumns.filter((f:any) => f.tableName !== tableName);\n\n // update preferences in store\n this.setUserPreferences({\n userFilters: tmpUserFilters.concat(filteredCurrentFilters),\n userHiddenColumns: tmpHiddenColumns.concat(filteredCurrentHiddenColumns),\n userColumnOrder: this.userPreferences.userColumnOrder,\n general: {\n darkMode: this.userPreferences.general.darkMode,\n userStartPage: this.userPreferences.general.userStartPage,\n userLocale: this.userPreferences.general.userLocale,\n }\n });\n\n const userService = new UserService();\n\n // apply filters\n if(tmpUserFilters.length === 0) {\n this.gridStore?.removeFilter(\"userFilter\");\n }\n else {\n this.gridStore?.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(tableName)\n });\n }\n\n // apply column visibility\n // go through each column (visible or not)\n // @ts-expect-error\n for (const c of this.gridColumnStore?.storage.values) {\n const needsHiding = tmpHiddenColumns.some((thc:any) => thc.attributeName === c.data.field);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n // update userPreferences in Backend / delete all if array is empty (bool param)\n const filterResp = await userService.setUserPreferences(userId, PreferenceType.filter, tableName, tmpUserFilters.length === 0, tmpUserFilters);\n if (filterResp === null || filterResp === undefined || filterResp.statusCode !== 0){\n ErrorHandler.handleError(filterResp, ErrorLocationType.popup);\n return;\n }\n\n const hiddenColResp = await userService.setUserPreferences(userId, PreferenceType.hiddenColumn, tableName, tmpHiddenColumns.length === 0, tmpHiddenColumns);\n if (hiddenColResp === null || hiddenColResp === undefined || hiddenColResp.statusCode !== 0){\n ErrorHandler.handleError(hiddenColResp, ErrorLocationType.popup);\n return;\n }\n\n // clear tmp data in store\n this.setTmpFilters([]);\n this.setTmpHiddenColumns([]);\n\n this.closeModal();\n this.showSuccess('Gespeichert');\n },\n resetState(){\n this.gridStore = new Store();\n this.gridColumnStore = null;\n this.notifications = new Array();\n\n this.modal = {\n show: false,\n validator: { $validate:()=>{} },\n resetButton: false,\n title: \"Default Popup Title\",\n popupType: PopupType.none,\n contentObject: {},\n action: ()=>{},\n bigMode: false\n }\n\n this.userPreferences = {\n userFilters: new Array(),\n userHiddenColumns: new Array(),\n userColumnOrder: new Array(),\n general: {\n darkMode: false,\n userStartPage: null,\n userLocale: this.userPreferences.general.userLocale,\n },\n refreshCurrentPage: true,\n };\n\n this.tmpPreferences = {\n tmpUserFilters: new Array(),\n tmpUserHiddenColumns: new Array(),\n };\n },\n reorderColumns(tableName:string, customStore:ColumnStore|null = null){\n if(!this.userPreferences.userColumnOrder?.some(()=>true)) return;\n\n const orderedColumns = this.userPreferences.userColumnOrder?.filter(oc => oc.tableName === tableName);\n for (const oc of orderedColumns) {\n this.moveColumnToIndex(+oc.attributeValue, oc.attributeName, customStore);\n }\n },\n moveColumnToIndex(index:number, columnId:string, customStore:ColumnStore|null = null){\n if(NullOrUndefinedHelper(this.gridColumnStore) && NullOrUndefinedHelper(customStore)) return;\n\n const columnStore = (customStore ?? this.gridColumnStore) as ColumnStore;\n const elementToMove = columnStore.getById(columnId);\n\n // bryntum uses the index of the array AFTER removing the moved column from said array, so remove the column, before inserting it at the new index...\n // small reminder: OVERTHINKING IS HARD...\n columnStore.remove(elementToMove);\n columnStore.insert(index, elementToMove);\n },\n toggleDarkMode () {\n this.userPreferences.general.darkMode = !this.userPreferences.general.darkMode;\n },\n openPopup ({data, action, resetButton, title, type}:any, bigMode:boolean = false) {\n // close current popup or reset data to trigger new vue automaated loading and refreshing\n this.closeModal();\n\n this.modal.validator = {$validate: () =>true};\n this.modal.show = true;\n this.modal.title = title;\n this.modal.resetButton = resetButton;\n this.modal.popupType = type;\n this.modal.contentObject = data;\n this.modal.action = action;\n this.modal.bigMode = bigMode;\n },\n closeModal () {\n // dont reset action for specific popupTypes since they have a onUnmount-Workflow that needs to be triggered and needs the action to trigger no matter what:\n const resetedAction = this.modal.popupType === PopupType.registerPopup || this.modal.popupType === PopupType.locationCouplingPopup\n ? this.modal.action\n : ()=>{};\n this.modal = {\n show: false,\n validator: { $validate:()=>{} },\n resetButton: false,\n title: \"Default Popup Title\",\n popupType: PopupType.none,\n contentObject: {},\n action: resetedAction,\n bigMode: false\n }\n },\n showSuccess(text:string) {\n this.success.show = true;\n this.success.text = text === undefined ? \"DEFAULT OK!\" : text;\n },\n setGridStore (payload:Store|null) {\n this.gridStore = payload;\n },\n setGridColumnStore (payload:ColumnStore|null) {\n this.gridColumnStore = payload;\n },\n setUserPreferences (payload: { userFilters:any, userHiddenColumns:any, general: { darkMode:any, userStartPage:any, userLocale:any }, userColumnOrder:any }|null) {\n if (payload === null) return;\n this.userPreferences.userFilters = payload.userFilters;\n this.userPreferences.userHiddenColumns = payload.userHiddenColumns;\n this.userPreferences.general = payload.general;\n this.userPreferences.userColumnOrder = payload.userColumnOrder;\n },\n async saveUserColumnOrder (tableName:string, columnId:string, newIndex:string) {\n if(this.user === null) return;\n\n const colmnOrder = new AttributeFilter(tableName, columnId, newIndex);\n\n // save/update userPreferences in db\n const userService = new UserService();\n const saveResp = await userService.setUserPreferences(this.user.id, PreferenceType.columnOrder, tableName, false, [colmnOrder])\n if (saveResp === null || saveResp === undefined || saveResp.statusCode !== 0){\n ErrorHandler.handleError(saveResp, ErrorLocationType.table);\n\n return;\n }\n\n // update global store preferences\n const filteredList = this.userPreferences.userColumnOrder?.filter(oc => oc.attributeValue === columnId);\n filteredList.push(colmnOrder);\n this.userPreferences.userColumnOrder = filteredList;\n },\n setTmpFilters(payload: any|null) {\n this.tmpPreferences.tmpUserFilters = payload;\n },\n setTmpHiddenColumns(payload: any|null) {\n this.tmpPreferences.tmpUserHiddenColumns = payload;\n },\n addUserFilter(payload: any|null) {\n if (payload !== null) {\n this.tmpPreferences.tmpUserFilters.push(payload);\n }\n },\n addUserHiddenColumn(payload: any|null) {\n if (payload !== null) {\n this.tmpPreferences.tmpUserHiddenColumns.push(payload);\n }\n },\n setCountAfterFilters(payload: number) {\n this.countAfterFilters = payload;\n },\n setToken(payload:string){\n this.token = payload;\n },\n setUser(payload:any|null){\n this.user = payload;\n },\n getAuthorityUrl():string {\n if(router.currentRoute.value.name === \"DisdiOtpLogin\") return this.settings.startupConfig?.idsUrl ?? \"\";\n if(this.settings.startupConfig !== null && this.settings.startupConfig.ssoType !== SsoType.none) return this.settings.startupConfig.ssoUrl;\n return this.settings.startupConfig?.idsUrl ?? \"\";\n }\n }\n})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-67618a78\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"checkmark\" }\n\nimport { ref, computed } from 'vue'\n\timport {useGlobalStore} from \"@/stores/GlobalStore\";\n\n\t\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Autorefresh',\n setup(__props) {\n\n\tconst globalStore = useGlobalStore();\n\t//const activeText = ref(\"Aktualisierung An\");\n\t//const inactiveText = ref(\"Aktualisierung Aus\");\n\tconst activeIcon = ref(\"icon-nachladen\");\n\tconst inactiveIcon = ref(\"icon-nachladen\");\n\tconst autoRefreshActive = ref(globalStore.refreshIsActive);\n\n\tconst statusIcon = computed(() => {\n\t\tif(autoRefreshActive.value) {\n\t\t\treturn activeIcon.value;\n\t\t} else {\n\t\t\treturn inactiveIcon.value;\n\t\t}\n\t});\n\n\t// const statusText = computed(() => {\n\t// \tif(autoRefreshActive.value) {\n\t// \t\treturn activeText.value;\n\t// \t} else {\n\t// \t\treturn inactiveText.value;\n\t// \t}\n\t// });\n\n\tconst toggleRefresh = () => {\n\t\tautoRefreshActive.value = !autoRefreshActive.value;\n\t}\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"autoRefresh\", { active: _unref(globalStore).refreshIsActive }]),\n onClick: toggleRefresh\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", {\n class: _normalizeClass(_unref(statusIcon))\n }, null, 2)\n ])\n ], 2))\n}\n}\n\n})","import script from \"./Autorefresh.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Autorefresh.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Autorefresh.vue?vue&type=style&index=0&id=67618a78&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-67618a78\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, createTextVNode as _createTextVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex relative\" }\nconst _hoisted_2 = { class: \"relative ml-2\" }\nconst _hoisted_3 = { class: \"absolute\" }\nconst _hoisted_4 = { class: \"contentBox flex-col\" }\nconst _hoisted_5 = { class: \"block w-full\" }\nconst _hoisted_6 = { class: \"flex mb-4\" }\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-megaphone\" }, null, -1)\nconst _hoisted_9 = [\"title\"]\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-anmelden\" }, null, -1)\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"ml-auto\" }\nconst _hoisted_13 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from 'vue';\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Menu, Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport Autorefresh from \"@/components/Autorefresh.vue\";\nimport {DisdiStateType, ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport Error from \"@/components/Error\";\nimport {useI18n} from \"vue-i18n\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage, permissionColumn} from \"@/AppConfig\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {RegistrationService} from \"@/utilities/services/entities/RegistrationService\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport router from \"@/router\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport {LocationRegistrationStatus} from \"@/models/registration/LocationRegistrationStatus\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationReports',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nconst { t } = useI18n();\nconst registrationService = new RegistrationService();\nconst locationService = new LocationService();\nconst permissionService = new PermissionService();\n\nlet selectedReports = ref([]);\n\nconst openRegisterPopup = () => {\n globalStore.openPopup({\n data: {},\n action: setGridData,\n resetButton: false,\n title: $t(\"locationsReports.registerPopup\"),\n type: PopupType.registerPopup\n });\n}\nconst openInstantMessages = () => {\n globalStore.openPopup({\n data: {ids:selectedReports.value.map(r => r.id), message:\"\"},\n action:sendInstantMessage,\n resetButton:false,\n title:$t(\"locationsReports.instantMessage\"),\n type:PopupType.locationReportsPopup\n });\n}\n\nconst toggleAutoRefresh = () => {\n globalStore.refreshIsActive = !globalStore.refreshIsActive;\n}\n\n// reads ids and message form glaobalStore which should be updated correctly by locationReportsPopup\nconst sendInstantMessage = async () => {\n const ids = globalStore.modal.contentObject.ids;\n const message = globalStore.modal.contentObject.message;\n\n const notifyResp = await locationService.postSendMessageToRegisteredUsers(ids, message);\n if (notifyResp === null || notifyResp === undefined || notifyResp.statusCode !== 0){\n ErrorHandler.handleError(notifyResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.send'));\n}\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n relayStoreEvents: true,\n height: currentWindowHeight,\n headerMenuFeature: false,\n cellTooltipFeature: {\n hoverDelay : 300,\n textContent : true,\n hideOnDelegateChange: true,\n },\n enableTextSelection: true,\n selectionMode : {\n row: true,\n checkbox: checkboxColumnConfig,\n showCheckAll: true,\n deselectFilteredOutRecords: true\n },\n columns : {\n data: [\n {\n id:'registrationStatus.isLocationBusy',\n field: 'registrationStatus.isLocationBusy',\n text: \"\",\n width: 30,\n minWidth: 30,\n type: \"template\",\n template: ({ record }) => {\n let isActive = record.data.registrationStatus.isLocationBusy || record.data.registrationStatus.isBusy;\n return isActive\n ? `
    `\n : `
    `;\n },\n },\n {\n id:'name',\n field: 'name',\n text: t('locationsReports.grid.name'),\n flex: 1,\n },\n {\n id: 'infoButton',\n field: 'infoButton',\n text: t('registrationReports.grid.info'),\n width: 36,\n sortable: false,\n type: \"template\",\n template: () => {\n return `
    `;\n },\n },\n { id:'group1Name', field: 'group1Name', text: t('locationsReports.grid.group1'), flex: 1 },\n { id:'group2Name', field: 'group2Name', text: t('locationsReports.grid.group2'), flex: 1 },\n { id:'controlCenterName', field: 'controlCenterName', text: t('locationsReports.grid.controlCenter'), flex: 1 },\n { id:'contactInfo.phoneNumber', field: 'contactInfo.phoneNumber', text: t('locationsReports.grid.phone'), flex: 1 },\n {\n id:'address',\n field: 'address',\n text: t('locationsReports.grid.adress'),\n flex: 1,\n type: 'template',\n template: ({record})=>{\n return StringHelper.xss`${record.data.contactInfo.street ?? \"\"} ${record.data.contactInfo.streetNumber ?? \"\"}, ${record.data.contactInfo.postalCode ?? \"\"} ${record.data.contactInfo.city ?? \"\"}`;\n }\n },\n {\n id:'personCount',\n field: 'personCount',\n text: t('locationsReports.grid.personCount'),\n flex: 1,\n type: 'template',\n template: ({record})=>{\n const t = record.data.registrationStatus === undefined\n ? undefined\n : new LocationRegistrationStatus(record.data.registrationStatus);\n return StringHelper.xss`${t?.totalPersonCount() ?? \"\"}`;\n }\n },\n {\n id:'safetyInstructionInfo',\n field: 'safetyInstructionInfo',\n text: '',\n width : 36,\n type: \"template\",\n tooltipRenderer : ({ record }) => {\n if(!record.safetyInstructionInfo?.some(()=>true)) return \"\";\n\n const listString = record.data.safetyInstructionInfo?.map((si:any) =>\"
  • \"+si.name+\"
  • \").join(\"\");\n\n return StringHelper.xss`${t('locationsReports.securityInformations')}:
      `+listString+`
    `;\n },\n template: ({ record }) => {\n if(!record.safetyInstructionInfo?.some(()=>true)) return \"\";\n return `
    `;\n },\n },\n {\n id:'disdi',\n text\t: \"\",\n width : 36,\n type\t: 'template',\n align: \"center\",\n hidden: !permissionService.userHasPermission(\"Disdi.Read\"),\n resizable: false,\n filterable: false,\n template : ({record}:any)=> {\n return record.data.hasDisdi && record.data.disdiCount > 0\n ? `
    `\n : record.data.hasDisdi && record.data.disdiCount === 0\n ? `
    `\n : \"\";\n }\n },\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.registerLocation], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedReports.value = selectedReports.value.concat(event.selected.map(rr => rr.data))\n selectedReports.value = selectedReports.value.filter(r => !event.deselected.map(rr => rr.data).includes(r));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n async cellClick({column, record}) {\n if (column.data.field === 'locations' && record.data.safetyInstructionLocations?.length > 0) {\n globalStore.openPopup({\n data: record.data,\n action: globalStore.closeModal,\n title: t('global.locations'),\n type: PopupType.safetyInstructionLocationsPopup\n });\n }\n\n if(column.data.field === 'infoButton'){\n globalStore.openPopup({\n data:record.data,\n action: () => {},\n resetButton:false,\n title:$t(\"locationsReports.locationDetails\"),\n type:PopupType.locationReportsDetailsPopup\n }, true);\n }\n\n if(column.data.id === 'disdi'){\n if (!record.data.hasDisdi || (record.data.hasDisdi && record.data.disdiCount === 0)) return;\n await router.push(`disdi/${TableType[TableType.registerLocation]}/${record.secondaryId}`)\n }\n },\n },\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t(\"locationsReports.instantMessage\"),\n cls: 'color',\n weight: 100,\n onItem : () => {\n globalStore.openPopup({\n data: {ids:[record.id], message:\"\"},\n action:sendInstantMessage,\n resetButton:false,\n title:$t(\"locationsReports.instantMessage\"),\n type:PopupType.locationReportsPopup\n });\n }\n },\n {\n text: t(\"locationsReports.locationDetails\"),\n cls: 'color',\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data:menu.record,\n action: () => {},\n resetButton:false,\n title:$t(\"locationsReports.locationDetails\"),\n type:PopupType.locationReportsDetailsPopup\n }, true);\n }\n },\n {\n text: t(\"locationsReports.history\"),\n cls: 'color',\n weight: 100,\n onItem : ({menu}) => {\n globalStore.openPopup({\n data: menu.record,\n action: globalStore.closeModal,\n title: menu.record.name,\n type: PopupType.locationReportsUserHistoryPopup\n });\n }\n },\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst setGridData = async ()=>{\n const locationReportsResp = await registrationService.getLocationReports();\n if (locationReportsResp === null || locationReportsResp === undefined || locationReportsResp.statusCode !== 0) {\n ErrorHandler.handleError(locationReportsResp, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(locationReportsResp.locationRegistrationInfo);\n\n // apply filters\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.registerLocation])\n });\n\n // apply hidden cols\n for(const c of grid.value.instance.value.columns.storage.values){\n const needsHiding = globalStore.userPreferences.userHiddenColumns.some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.registerLocation]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.reorderColumns(TableType[TableType.registerLocation]);\n\n globalStore.closeModal();\n}\n\nconst setDisdiColumVisibility = async() =>{\n\n const disdiIsOn = globalStore.settings.disdiSettings?.disdi !== DisdiStateType.NoDISDI;\n\n if(!disdiIsOn){\n const hasDisdiCol = grid.value.instance.value.columns.getById(\"disdi\");\n hasDisdiCol.hidden = true;\n }\n}\n\nonMounted(async ()=>{\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n // start spinner\n globalStore.gridDataIsLoading = true;\n try {\n await setGridData();\n await setDisdiColumVisibility();\n }\n catch (e) {\n console.log(e)\n }\n\n // stop spinner\n globalStore.gridDataIsLoading = false;\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('locationsReports.title')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(Autorefresh, { onClick: toggleAutoRefresh })\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedReports).some(()=>true),\n onClick: openInstantMessages\n }, [\n _createTextVNode(_toDisplayString(_unref($t)('locationsReports.instantMessage')) + \" \", 1),\n _hoisted_8\n ], 8, _hoisted_7)), [\n [_directive_permission, 'LocationReport.Message.Send']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: openRegisterPopup,\n title: _unref(t)('locationsReports.newLogin')\n }, _hoisted_11, 8, _hoisted_9)), [\n [_directive_permission, 'Registration.Manual']\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n popupType: _unref(PopupType).locationReportsFilterPopup,\n hideFilterButton: false\n }, null, 8, [\"gridStore\", \"popupType\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_13, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LocationReports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationReports.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./Location.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Location.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = { id: \"anmeldereport\" }\nconst _hoisted_2 = { class: \"contentHeader flex relative\" }\nconst _hoisted_3 = { class: \"relative ml-2\" }\nconst _hoisted_4 = { class: \"absolute\" }\nconst _hoisted_5 = { class: \"contentBox flex-col\" }\nconst _hoisted_6 = { class: \"block w-full\" }\nconst _hoisted_7 = { class: \"flex mb-4\" }\nconst _hoisted_8 = [\"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-anmelden\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"ml-auto\" }\nconst _hoisted_12 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from 'vue';\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport isNullOrUndefined from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {DisdiStateType, ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport Error from \"@/components/Error\";\nimport {useI18n} from \"vue-i18n\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {defaultSpaceAroundTableOnPage, permissionColumn} from \"@/AppConfig\";\nimport dialog from \"@/dialog\";\nimport DateToStringHelper from \"@/utilities/helpers/DateToStringHelper\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport Autorefresh from \"@/components/Autorefresh.vue\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport {GroupedSystemSettings} from \"@/models/setting/GroupedSystemSettings\";\nimport {RegisteredUserInfo} from \"@/models/registration/RegisteredUserInfo\";\nimport {RegistrationService} from \"@/utilities/services/entities/RegistrationService\";\nimport {SettingService} from \"@/utilities/services/entities/SettingService\";\nimport {SystemSetting} from \"@/models/setting/SystemSetting\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport router from \"@/router\";\nimport {Guid} from \"guid-typescript\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RegistrationReports',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nconst { t } = useI18n();\nconst registrationService = new RegistrationService();\nconst permissionService = new PermissionService();\nconst settingService = new SettingService();\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst toggleAutoRefresh = () => {\n globalStore.refreshIsActive = !globalStore.refreshIsActive;\n}\n\nconst openRegisterPopup = () => {\n globalStore.openPopup({\n data: {},\n action: setGridData,\n resetButton: false,\n title: $t(\"locationsReports.registerPopup\"),\n type: PopupType.registerPopup\n });\n}\n\nconst grid = ref(null);\nconst useGridConfig = {\n relayStoreEvents: true,\n height: currentWindowHeight,\n headerMenuFeature: false,\n enableTextSelection: true,\n cellTooltipFeature: {\n hoverDelay : 300,\n textContent : true,\n hideOnDelegateChange: true,\n },\n columns : {\n data: [\n {\n id:'isActive',\n field: 'isActive',\n text: \"\",\n width: 30,\n minWidth: 30,\n type: \"template\",\n template: ({ record }) => {\n return record.data.isActive\n ? `
    `\n : `
    `;\n },\n },\n { id:'kid', field: 'kid', text: t('registrationReports.grid.kid'), flex: 1},\n { id:'lastName', field: 'lastName', text: t('registrationReports.grid.lastName'), flex: 1},\n { id:'firstName', field: 'firstName', text: t('registrationReports.grid.firstName'), flex: 1},\n {\n id: 'infoButton',\n field: 'infoButton',\n text: t('registrationReports.grid.info'),\n width: 70,\n sortable: false,\n minWidth: 70,\n type: \"template\",\n template: () => {\n return `
    `;\n },\n },\n {\n id:'companyName',\n field: \"companyName\",\n text: t(\"popups.registrationReports.grid.company\"),\n flex:1,\n type: \"template\",\n template: ({record}:any)=>{\n if(isNullOrUndefined(record.data.companyName)) record.data.companyName = globalStore.settings.systemCompanySettings?.companyName;\n\t\t\t\t\treturn StringHelper.xss`${record.data.companyName ?? \"\"}`;\n },\n },\n {\n id:'lastLocationName',\n field: 'lastLocationName',\n text: t('registrationReports.grid.location'),\n flex: 1\n },\n {\n id: 'lastRegisteredLocationDate',\n field : 'lastRegisteredLocationDate',\n text: t('registrationReports.grid.register'),\n flex : 1,\n sortable: true,\n type: 'template',\n template: ({record}:any)=>{\n const reg = DateToStringHelper(new Date(record.data.lastRegisteredLocationDate));\n return `${reg}`;\n }\n },\n {\n id: 'lastUnRegisteredLocationDate',\n field: 'lastUnRegisteredLocationDate',\n text: t('registrationReports.grid.unregister'),\n flex: 1,\n sortable: true,\n type: 'template',\n template: ({record})=>{\n const unreg = NullOrUndefinedHelper(record.data.lastUnRegisteredLocationDate)\n ? \"\"\n : DateToStringHelper(new Date(record.data.lastUnRegisteredLocationDate));\n return `${unreg}`;\n }\n },\n { id:'lastGuestCount', field: 'lastGuestCount',\n text: t('registrationReports.grid.guestCount'),\n width: 100,\n },\n { id:'email', field: 'email', text: t('registrationReports.grid.email'), flex: 1 },\n { id:'phoneNumber', field: 'phoneNumber', text: t('registrationReports.grid.phoneNumber'), flex: 1 },\n {\n id:'activityText',\n field: 'activityText',\n sortable: false,\n hidden: !globalStore.settings.activitySettings?.activitesEnabled,\n text: '',\n width : 36,\n type: \"template\",\n tooltipRenderer : ({ record }) =>{\n return isNullOrUndefined(record.activityText)\n ? \"\"\n : StringHelper.xss`${t('registrationReports.grid.activity')}
    ${record.activityText ?? \"\"}
    `;\n },\n template: ({record}) => {\n return isNullOrUndefined(record.activityText)\n ? \"\"\n : record.activityText === defaultActivityText.value && globalStore.settings.activitySettings?.defaultActivitExchangeable\n ? `
    `\n : `
    `;\n },\n },\n {\n id:'disdi',\n text\t: \"\",\n width : 36,\n type\t: 'template',\n align: \"center\",\n hidden: !permissionService.userHasPermission(\"Disdi.Read\"),\n resizable: false,\n filterable: false,\n template : ({record}:any)=>{\n const currentRegLocation = record.data.registeredLocationInfo[0];\n return currentRegLocation.hasDisdi && record.data.disdiCount > 0\n ? `
    `\n : currentRegLocation.hasDisdi && record.data.disdiCount === 0\n ? `
    `\n : \"\";\n }\n },\n {\n id:'unregister',\n field: 'unregister',\n text: '',\n sortable: false,\n width : 36,\n type: \"template\",\n template: ({record}) => {\n if(permissionService.userHasPermission(\"RegistrationReport.User.Logout\")) {\n return record.data.isActive ? `
    ` : \"\";\n } else {\n return \"\";\n }\n },\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.register], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n async cellClick({column, record}) {\n if (column.data.field === 'infoButton' ) {\n if(permissionService.userHasPermission(\"RegistrationReport.Read\")) {\n globalStore.openPopup({\n data: record.data,\n action: globalStore.closeModal,\n title: t('registrationReports.userHistoryPopup'),\n type: PopupType.registrationUserHistory\n }, true);\n }\n return;\n }\n\n if (column.data.field === 'unregister') {\n const openReg = record.data.registeredLocationInfo.find((opr:any) => opr.lastUnRegisteredLocationDate === null);\n const answer = await dialog\n .okText(t(\"global.unregister\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"registrationReports.confirmUnregister\", { name:record.data.fullName, location:openReg.locationName}));\n\n if (answer){\n const unregResp = await registrationService.postUnRegisterUser(record.data.id, openReg.locationId);\n if(unregResp === null || unregResp === undefined || unregResp?.statusCode !== 0){\n ErrorHandler.handleError(unregResp, ErrorLocationType.table);\n return;\n }\n\n globalStore.showSuccess(t('popups.register.unregistered'));\n }\n }\n\n if (column.data.field === 'activityText' && !isNullOrUndefined(record.data.activityText)){\n if(record.data.activityText === defaultActivityText.value && globalStore.settings.activitySettings?.defaultActivitExchangeable){\n globalStore.openPopup({\n data: record.data,\n action: changeActivityForRegistration,\n resetButton: false,\n title:$t(\"popups.registrationReports.changeActivity.title\"),\n type:PopupType.changeActivityForRegistration\n })\n }\n }\n\n if(column.data.id === 'disdi'){\n const currentRegLocation = record.registeredLocationInfo[0];\n if (!currentRegLocation.hasDisdi || (currentRegLocation.hasDisdi && record.disdiCount === 0)) return;\n await router.push(`disdi/${TableType[TableType.register]}/${+record.registeredLocationInfo[0].registrationId}`)\n }\n },\n },\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst defaultActivityText = ref(\"\");\nconst getDefaultActivityText = async ()=>{\n const defaultActivityResp = await settingService.getSystemSettings();\n // silent fail :(\n if (defaultActivityResp === null || defaultActivityResp === undefined || defaultActivityResp.statusCode !== 0) return;\n\n return defaultActivityResp.settingInfo\n //@ts-expect-error\n .find((ss:GroupedSystemSettings) => ss.name === \"Tätigkeiten\")?.children\n .find((s:SystemSetting) => s.name === \"Tätigkeitsgruppen: Unbestimmte Tätigkeit\")\n .value;\n}\n\nconst reapplyFilterAndHiddenCols = async ()=>{\n // apply filters\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.register])\n });\n\n // apply hidden cols\n for(const c of grid.value.instance.value.columns.storage.values){\n const needsHiding = globalStore.userPreferences.userHiddenColumns.some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.register]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.reorderColumns(TableType[TableType.register]);\n}\n\nconst changeActivityForRegistration = async()=>{\n const registration = globalStore.modal.contentObject as RegisteredUserInfo;\n\n //check if it is still default activity, if so dont update and leave popup open\n if(registration.activityText === defaultActivityText.value) return;\n\n // update corresponding open reg in registeredLocationInfo list\n // @ts-expect-error\n registration.registeredLocationInfo[0].activityText = registration.activityText;\n\n const changeResp = await registrationService.postChangeActivityForRegistration(registration.registeredLocationInfo[0].registrationId, registration.activityId, registration.activityText);\n if (changeResp === null || changeResp === undefined || changeResp.statusCode !== 0) {\n ErrorHandler.handleError(changeResp, ErrorLocationType.popup);\n return;\n }\n\n gridStore.add(registration);\n\n await reapplyFilterAndHiddenCols();\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\nconst setGridData = async ()=> {\n const regReportsResp = await registrationService.getRegistrationReports();\n if (regReportsResp === null || regReportsResp === undefined || regReportsResp.statusCode !== 0) {\n ErrorHandler.handleError(regReportsResp, ErrorLocationType.table);\n return;\n }\n\n //convert data to specific properties to make grid able to sort the data\n const convertedData = regReportsResp.registrationInfo.map(r => {\n r.lastRegisteredLocationDate = r.registeredLocationInfo[0].lastRegisteredLocationDate;\n r.lastUnRegisteredLocationDate = r.registeredLocationInfo[0].lastUnRegisteredLocationDate;\n\n if(NullOrUndefinedHelper(r.id)) r.id = Guid.create();\n\n return r\n })\n\n gridStore.setStoreData(convertedData);\n\n await reapplyFilterAndHiddenCols();\n\n globalStore.reorderColumns(TableType[TableType.register]);\n\n globalStore.closeModal();\n};\n\nconst setDisdiColumVisibility = async() =>{\n const disdiIsOn = globalStore.settings.disdiSettings?.disdi !== DisdiStateType.NoDISDI;\n\n if(!disdiIsOn){\n const hasDisdiCol = grid.value.instance.value.columns.getById(\"disdi\");\n hasDisdiCol.hidden = true;\n }\n}\n\nonMounted(async ()=>{\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n defaultActivityText.value = await getDefaultActivityText();\n\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n await setGridData();\n await setDisdiColumVisibility();\n\n // stop spinner\n globalStore.gridDataIsLoading = false;\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)(\"registrationReports.title\")), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(Autorefresh, { onClick: toggleAutoRefresh })\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: openRegisterPopup,\n title: _unref(t)('locationsReports.newLocationReport')\n }, _hoisted_10, 8, _hoisted_8)), [\n [_directive_permission, 'Registration.Manual']\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n popupType: _unref(PopupType).registrationFilterPopup,\n hideFilterButton: false\n }, null, 8, [\"gridStore\", \"popupType\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_12, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./RegistrationReports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RegistrationReports.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import {LocationInfo} from \"@/models/location/LocationInfo\";\n\nexport class SafetyInstructionInfo {\n isAccepted:boolean = false;\n coupledLocationId?:number = undefined;\n id:number = -1;\n displayOrder:number = 0;\n name:string = \"\";\n text:string = \"\";\n safetyInstructionLocations:Array = [];\n\n constructor(id?:number, index?:number, name?:string) {\n this.isAccepted = false;\n this.coupledLocationId = undefined;\n this.id = id ?? -1;\n this.displayOrder = index ?? 0;\n this.name = name ?? \"\";\n this.text = \"\";\n this.safetyInstructionLocations = [];\n }\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\nconst _hoisted_3 = { class: \"block w-full\" }\nconst _hoisted_4 = { class: \"flex mb-4\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"disabled\", \"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-downlaod\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = [\"disabled\", \"title\"]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_13 = [\n _hoisted_12\n]\nconst _hoisted_14 = { class: \"ml-auto\" }\nconst _hoisted_15 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {Menu, Store} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport {$t} from \"@/utilities/i18n/config\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport dialog from \"@/dialog\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport Error from \"@/components/Error\";\nimport {SafetyInstructionInfo} from \"@/models/safetyInstruction/SafetyInstructionInfo\";\nimport {SafetyinstructionCsvExport} from \"@/models/CsvExportModels\";\nimport exportFromJSON from \"export-from-json\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {SafetyInstructionService} from \"@/utilities/services/entities/SafetyInstructionService\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SafetyInstructions',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\nconst locationService = new LocationService();\nconst safetyInstructionService = new SafetyInstructionService();\nconst permissionService = new PermissionService();\n\nlet selectedSafetyInstruction = ref([]);\nlet selectableLocations = ref([]);\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedSafetyInstruction.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"safetyInstructions.confirmDeletionMulti\", { count:selectedSafetyInstruction.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const si of selectedSafetyInstruction.value){\n const resp = await safetyInstructionService.deleteSafetyInstruction(si.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:si.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n relayStoreEvents: true,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n columns : {\n data: [\n { id:'name', field: 'name', text: t('safetyInstructions.grid.name'), flex: 1, },\n { id:'text', field: 'text', text: t('safetyInstructions.grid.text'), flex: 1, },\n {\n id:'locations',\n field: 'locations',\n text: '',\n width : 36,\n\t\t\t\tsortable: false,\n type: \"template\",\n template: ({ record }) => {\n if(record.data.safetyInstructionLocations.length > 0)\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\treturn\n\n\t\t\t\t},\n },\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.safetyInstruction], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedSafetyInstruction.value = selectedSafetyInstruction.value.concat(event.selected.map(sr => sr.data))\n selectedSafetyInstruction.value = selectedSafetyInstruction.value.filter(s => !event.deselected.map(sr => sr.data).some(sr => s?.id === sr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n cellClick({column, record}) {\n if (column.data.field === 'locations' && record.data.safetyInstructionLocations.length > 0) {\n globalStore.openPopup({\n data: record.data,\n action: globalStore.closeModal,\n title: t('safetyInstructions.title'),\n type: PopupType.safetyInstructionLocationsPopup\n });\n }\n },\n },\n height: currentWindowHeight,\n}\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t(\"global.edit\"),\n cls: 'color',\n icon: 'icon-editieren',\n hidden: !permissionService.userHasPermission(\"SafetyInstruction.Edit\"),\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data:menu.record,\n action:addOrUpdateSafetyInstruction,\n resetButton:false,\n title:$t(\"safetyInstructions.edit\"),\n type:PopupType.safetyInstructions\n });\n }\n },\n {\n text : t(\"global.delete\"),\n cls\t: 'color',\n icon: 'icon-loeschen',\n hidden: !permissionService.userHasPermission(\"SafetyInstruction.Delete\"),\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"safetyInstructions.confirmDeletionSingle\", {name: menu.record.name}));\n\n if (answer) {\n const resp = await safetyInstructionService.deleteSafetyInstruction(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('global.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\nconst gridConfig = reactive(useGridConfig);\n\n\nconst newSafetyInstruction = () => {\n const safetyInstruction = new SafetyInstructionInfo();\n\n globalStore.openPopup({\n data: safetyInstruction,\n action: addOrUpdateSafetyInstruction,\n resetButton: false,\n title: $t(\"safetyInstructions.new\"),\n type: PopupType.safetyInstructions\n });\n}\n\nconst addOrUpdateSafetyInstruction = async () => {\n const safetyInstruction = globalStore.modal.contentObject as SafetyInstructionInfo;\n\n const safetyInstructionResp = await safetyInstructionService.addOrUpdateSafetyInstruction(safetyInstruction);\n if (safetyInstructionResp === null || safetyInstructionResp === undefined || safetyInstructionResp.statusCode !== 0){\n ErrorHandler.handleError(safetyInstructionResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n if(safetyInstruction.id < 0) safetyInstruction.id = safetyInstructionResp.id;\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedSafetyInstruction.value.some(el => el.id === safetyInstruction.id)) {\n selectedSafetyInstruction.value = selectedSafetyInstruction.value.filter(el => el.id !== safetyInstruction.id);\n selectedSafetyInstruction.value.push(safetyInstruction);\n }\n\n gridStore.add(safetyInstruction);\n gridStore.sort(gridStore.sorters);\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\nconst exportCSV = () => {\n let data = selectedSafetyInstruction.value?.length > 0 ? selectedSafetyInstruction.value : gridStore.records;\n\n // remove unnecessary properties from csv\n data = data.map((item)=> new SafetyinstructionCsvExport(item.data ?? item));\n\n const fileName = $t('safetyInstructions.csvDownloadFilename');\n const exportType = exportFromJSON.types.csv;\n\n exportFromJSON({\n data:data,\n fileName:fileName,\n exportType:exportType,\n });\n};\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const safetyInstructionsResp = await safetyInstructionService.getSafetyInstructions(\"display\");\n\n if (safetyInstructionsResp === null || safetyInstructionsResp === undefined || safetyInstructionsResp.statusCode !== 0) {\n ErrorHandler.handleError(safetyInstructionsResp, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(safetyInstructionsResp.safetyInstructionInfo);\n selectableLocations.value = await locationService.getLocations(\"selectable\", ErrorLocationType.table);\n\n globalStore.reorderColumns(TableType[TableType.safetyInstruction]);\n\n globalStore.closeModal();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)(\"safetyInstructions.title\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newSafetyInstruction,\n title: _unref(t)('safetyInstructions.new')\n }, _hoisted_7, 8, _hoisted_5)), [\n [_directive_permission, 'SafetyInstruction.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedSafetyInstruction).some(()=>true),\n onClick: exportCSV,\n title: _unref(t)('safetyInstructions.csvDownload')\n }, _hoisted_10, 8, _hoisted_8)), [\n [_directive_permission, 'SafetyInstruction.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedSafetyInstruction).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_13, 8, _hoisted_11)), [\n [_directive_permission, 'SafetyInstruction.Delete']\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_15, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ], 64))\n}\n}\n\n})","import script from \"./SafetyInstructions.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SafetyInstructions.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\nconst _hoisted_3 = { class: \"block w-full\" }\nconst _hoisted_4 = { class: \"flex mb-4\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"disabled\", \"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-downlaod\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = [\"disabled\", \"title\"]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_13 = [\n _hoisted_12\n]\nconst _hoisted_14 = [\"disabled\", \"title\"]\nconst _hoisted_15 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-status_bald_inaktiv\" }, null, -1)\nconst _hoisted_16 = [\n _hoisted_15\n]\nconst _hoisted_17 = { class: \"ml-auto\" }\nconst _hoisted_18 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {Menu, Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {UserInfo} from \"@/models/user/UserInfo\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport exportFromJSON from \"export-from-json\";\nimport {UserCsvExport} from \"@/models/CsvExportModels\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport dialog from \"@/dialog\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport Error from \"@/components/Error\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage, permissionColumn} from \"@/AppConfig\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Users',\n setup(__props) {\n\nconst { t } = useI18n();\nconst userService = new UserService();\nconst permissionService = new PermissionService();\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nlet selectedUsers = ref([]);\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedUsers.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"users.confirmDeletionMulti\", { count:selectedUsers.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const user of selectedUsers.value){\n const resp = await userService.deleteUser(user.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:user.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst newUser = async () => {\n const user = new UserInfo();\n\n // call API-Service and set identificationNumber from next free Id\n const nextIdResp = await userService.getNextFreeUserId();\n if(nextIdResp === null || nextIdResp === undefined || nextIdResp?.statusCode !== 0){\n ErrorHandler.handleError(nextIdResp, ErrorLocationType.table);\n return;\n }\n\n user.identificationNumber = nextIdResp.identifikationNumber;\n\n globalStore.openPopup({\n data:user,\n action:addOrUpdateUser,\n resetButton:false,\n title:$t(\"popups.userEditor.title.new\"),\n type:PopupType.userPopup\n });\n}\n\nconst exportCSV = () => {\n let data = selectedUsers.value;\n\n // remove unnecessary properties from csv\n data = data.map((item)=> new UserCsvExport(item.data ?? item));\n\n const fileName = $t('users.csvDownloadFilename');\n const exportType = exportFromJSON.types.csv;\n\n exportFromJSON({\n data:data,\n fileName:fileName,\n exportType:exportType,\n });\n};\n\nconst addOrUpdateUser = async () => {\n const user = globalStore.modal.contentObject as UserInfo;\n // cleaning up empty string or null string\n user.kid = NullOrUndefinedHelper(user.kid) ? null : user.kid;\n\n const userResp = await userService.addOrUpdateUsers(user);\n if (userResp === null || userResp === undefined || userResp.statusCode !== 0){\n ErrorHandler.handleError(userResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n if (user.id === \"\") {\n user.id = userResp.id\n user.isActive = true;\n }\n // fix selection when it was an update -> replace old value in selected-array\n else if (selectedUsers.value.some(el => el.id === user.id)) {\n selectedUsers.value = selectedUsers.value.filter(el => el.id !== user.id);\n selectedUsers.value.push(user);\n }\n\n user.fullName = `${user.firstName} ${user.lastName}`;\n\n // in case of an update bryntum automatically replaces the entry with the same ID\n gridStore.add(user);\n // reapply sorting\n gridStore.sort(gridStore.sorters);\n // reapply filtering\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.user])\n });\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n height: currentWindowHeight,\n enableTextSelection: true,\n cellTooltipFeature: {\n hoverDelay : 300,\n textContent : true,\n hideOnDelegateChange: true,\n },\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n relayStoreEvents: true, // triggers important event (globalStore-/data-related) to get bryntum stores !\n columns :{\n data: [\n { id:'identificationNumber', field : 'identificationNumber', text: t('users.grid.identificationNumber'), flex : 2 },\n { id:'kid', field : 'kid', text: t('users.grid.kid'), flex : 1 },\n {\n id:'fullName',\n field : 'fullName',\n text: t('users.grid.fullName'),\n flex : 1,\n type: 'template',\n template: ({ record }) => {\n\t\t\t\t\treturn StringHelper.xss`${record.data.fullName ?? \"\"}
    `;\n },\n },\n { id:'firstName', field : 'firstName', text: t('users.grid.firstName'), flex : 1 },\n { id:'lastName', field : 'lastName', text: t('users.grid.lastName'), flex : 1 },\n {\n id:'roles',\n field : 'roles',\n text: t('users.grid.roles'),\n flex : 1,\n type: 'template',\n template: ({ record }) => {\n // fix property array from [object] to [string] (happens after edititng user)\n if(record.data.roles.some(r => r.name !== undefined)) record.data.roles = record.data.roles.map(r => r.name)\n return record.data.roles?.join(\", \");\n },\n },\n { id:'info', field : 'info', text: t('users.grid.info'), width: 100 },\n {\n id:'isActive',\n field : 'isActive',\n text: t('users.grid.isActive'),\n width: 36,\n type: 'template',\n tooltipRenderer: ({record}) => {\n if(record.data.isActive) {\n return StringHelper.xss`${t('users.grid.activeUser')}`\n } else {\n return StringHelper.xss`${t('users.grid.inactiveUser')}`\n }\n },\n template: ({ record }) => {\n if(record.data.isActive) {\n return \"\";\n } else {\n return '
    ';\n }\n },\n },\n {\n id:'email',\n field : 'email',\n text: t('users.grid.email'),\n flex : 1,\n editor : false,\n type: 'template',\n template: ({ record }) => {\n if (NullOrUndefinedHelper(record.data.email)) return \"\"\n\t\t\t\t\treturn StringHelper.xss`${record.data.email ?? \"\"}`;\n },\n },\n {\n id:'phoneNumber',\n field : 'phoneNumber',\n text: t('users.grid.phoneNumber'),\n flex : 1,\n type: 'template',\n template: ({ record }) => {\n if (NullOrUndefinedHelper(record.data.phoneNumber)) return \"\"\n\t\t\t\t\treturn StringHelper.xss`${record.data.phoneNumber ?? \"\"}`;\n },\n },\n {\n id:'menu',\n text\t: '',\n minWidth: 36,\n width: 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.user], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedUsers.value = selectedUsers.value.concat(event.selected.map(ur => ur.data))\n selectedUsers.value = selectedUsers.value.filter(u => !event.deselected.map(ur => ur.data).some(ur => u?.id === ur?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n\t\tcellClick({column, record}) {\n\t\t\tif (column.data.field === 'isActive') {\n if(!record.data.isActive) {\n if(permissionService.userHasPermission(\"ProviderManagementPolicy.CompanyWorker.Read\")) {\n resetActivity(record);\n }\n }\n\t\t\t}\n\t\t},\n },\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t('global.edit'),\n cls: 'color',\n icon: 'icon-editieren',\n hidden: !permissionService.userHasPermission(\"UserAdministrator.User.Edit\"),\n weight: 100,\n onItem : async ({ menu }) => {\n const fullUser = await userService.getUserById(menu.record.id, ErrorLocationType.table);\n\n if(fullUser === null || fullUser === undefined)return;\n\n fullUser.isActive = menu.record.isActive;\n\n globalStore.openPopup({\n data:fullUser,\n action:addOrUpdateUser,\n resetButton:false,\n title:$t(\"popups.userEditor.title.edit\"),\n type:PopupType.userPopup}\n );\n }\n },\n {\n text : t('users.menu.permission'),\n cls\t: 'color',\n icon: 'icon-editieren',\n hidden: true,//!permissionService.userHasPermission(\"UserAdministrator.User.Role.Edit\"),\n weight : 120\n },\n {\n text : t('users.menu.activity'),\n cls\t: 'color',\n icon: 'icon-reset',\n\t\t\t\thidden: checkUserActivityOption(record),\n weight : 130,\n onItem: async ({ menu }) => {\n await resetActivity(menu.record);\n },\n },\n {\n text : t('global.delete'),\n hidden: !permissionService.userHasPermission(\"UserAdministrator.User.Delete\"),\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"users.confirmDeletionSingle\", { name:menu.record.fullName}));\n\n if (answer) {\n const resp = await userService.deleteUser(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('users.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst checkUserActivityOption = (record) => {\n\tif(permissionService.userHasPermission(\"UserAdministrator.User.Edit\") && !record.isActive) {\n\t\treturn false;\n\t} else {\n\t\t// hide button in menu\n\t\treturn true;\n\t}\n}\nconst resetActivity = async (record) => {\n\tconst answer = await dialog\n\t\t\t.okText(t(\"global.reset\"))\n\t\t\t.cancelText(t(\"global.cancel\"))\n\t\t\t.confirm(t(\"users.resetActivity\", {name: record.name}));\n\n\tif (answer) {\n\t\tvar idList = [record.id];\n\n\t\tconst resp = await userService.resetUserActivity(idList);\n\n\t\tif (resp === null || resp === undefined || resp?.statusCode !== 0) {\n\t\t\tErrorHandler.handleError(resp, ErrorLocationType.table);\n\t\t\treturn;\n\t\t}\n\n\t\t// update table\n\t\trecord.isActive = true;\n\t\tgridStore.add(record);\n\n\t\tglobalStore.showSuccess(`${record.fullName} reaktiviert`);\n\t}\n\n}\n\nconst resetMultipleActivities = async () => {\n\n //drop call without selection\n if(!selectedUsers.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.reset\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"users.resetMultipleActivity\", {count: selectedUsers.value.length}));\n\n\tif (answer) {\n\n var idList = [];\n\n // collect the selected user IDs\n for (const user of selectedUsers.value){\n idList.push(user.id);\n }\n\n\t\tconst resp = await userService.resetUserActivity(idList);\n\n\t\tif (resp === null || resp === undefined || resp?.statusCode !== 0) {\n\t\t\tErrorHandler.handleError(resp, ErrorLocationType.table);\n\t\t\treturn;\n\t\t}\n\n // mark newly active users\n for (const user of selectedUsers.value){\n user.isActive = true;\n gridStore.add(user);\n }\n\n\t\tglobalStore.showSuccess(t('users.inactiveUsersReactivated'));\n\t}\n\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const users = await userService.getUsers();\n if (users === null || users === undefined || users.statusCode !== 0) {\n ErrorHandler.handleError(users, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(users.userInfo);\n\n // apply filters\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.user])\n });\n\n // apply hidden cols\n for(const c of grid.value.instance.value.columns.storage.values){\n const needsHiding = globalStore.userPreferences.userHiddenColumns.some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.user]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.reorderColumns(TableType[TableType.user]);\n\n globalStore.closeModal();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('users.title')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newUser,\n title: _unref(t)('users.newUser')\n }, _hoisted_7, 8, _hoisted_5)), [\n [_directive_permission, 'UserAdministrator.User.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedUsers).some(()=>true),\n onClick: exportCSV,\n title: _unref(t)('users.exportCsv')\n }, _hoisted_10, 8, _hoisted_8)), [\n [_directive_permission, 'UserAdministrator.User.CSV.Export']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedUsers).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_13, 8, _hoisted_11)), [\n [_directive_permission, 'UserAdministrator.User.Delete']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedUsers).some(()=>true),\n onClick: resetMultipleActivities,\n title: _unref(t)('global.reset')\n }, _hoisted_16, 8, _hoisted_14)), [\n [_directive_permission, 'UserAdministrator.User.Delete']\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n popupType: _unref(PopupType).userFilterPopup\n }, null, 8, [\"gridStore\", \"popupType\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_18, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Users.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Users.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import {LocationInfo} from \"@/models/location/LocationInfo\";\n\nexport class LevelInfo{\n id:number = -1;\n name:string = \"\";\n locations:Array = [];\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\nconst _hoisted_3 = { class: \"block w-full\" }\nconst _hoisted_4 = { class: \"flex mb-4\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"disabled\", \"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"ml-auto\" }\nconst _hoisted_12 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport { Menu, Store } from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter.vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport {LevelInfo} from \"@/models/group2/LevelInfo\";\nimport dialog from \"@/dialog\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport { $t } from \"@/utilities/i18n/config\";\nimport Error from \"@/components/Error.vue\";\nimport {Group2Service} from \"@/utilities/services/entities/Group2Service\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Group2',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nlet selectedLevels = ref([]);\nconst group2Service = new Group2Service();\nconst permissionService = new PermissionService();\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedLevels.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t('global.delete'))\n .cancelText(t('global.cancel'))\n .confirm(t('levels.confirmDeletionMulti', {count:selectedLevels.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const level of selectedLevels.value){\n const resp = await group2Service.deleteLevel(level.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:level.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n enableTextSelection: true,\n height: currentWindowHeight,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n columns : {\n data: [\n { id:'id', field : 'id', text: t('levels.grid.id'), width : 100 },\n { id:'name', field : 'name', text: t('levels.grid.description'), flex : 1 },\n {\n id:'locations',\n field : 'locations',\n\t\t\t\tsortable: false,\n text: '',\n width: 36,\n type: 'template',\n template: ({ record }:any) => {\n\t\t\t\t\tif(record.data.locations.length > 0)\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\treturn\n\t\t\t\t},\n },\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n //menu.setRecord(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.group2], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedLevels.value = selectedLevels.value.concat(event.selected.map(lr => lr.data));\n selectedLevels.value = selectedLevels.value.filter(l => !event.deselected.map(lr => lr.data).some(lr => l?.id === lr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n cellClick({column, record}) {\n if (column.data.field === 'locations' && record.data.locations.length > 0) {\n globalStore.openPopup({\n data: record.data, // Need locations or LevelId\n action:globalStore.closeModal,\n title: \"Standorte\",\n type: PopupType.group2Locations\n });\n }\n }\n },\n}\n\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t('global.edit'),\n cls: 'color',\n icon: 'icon-editieren',\n hidden: !permissionService.userHasPermission(\"Region.Edit\"),\n weight: 100,\n\n onItem : async ({ menu }) => {\n // Add item processing here\n globalStore.openPopup({\n data: menu.record,\n action:addOrUpdateLevel,\n title: $t('levels.edit'),\n type: PopupType.group2Popup\n });\n\n }\n },\n {\n text : t('global.delete'),\n cls : 'color',\n hidden: !permissionService.userHasPermission(\"Region.Delete\"),\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t('global.delete'))\n .cancelText(t('global.cancel'))\n .confirm(t('levels.confirmDeletionSingle', {name:menu.record.name}));\n\n if (answer) {\n const resp = await group2Service.deleteLevel(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('levels.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst gridConfig = reactive(useGridConfig);\n\n\nconst newGroup2 = () => {\n const level = new LevelInfo();\n\n globalStore.openPopup({\n data: level,\n action:addOrUpdateLevel,\n title: t('levels.new'),\n type: PopupType.group2Popup\n });\n\n}\n\nconst addOrUpdateLevel = async () => {\n const level = globalStore.modal.contentObject as LevelInfo;\n\n const createResp = await group2Service.addOrUpdateLevel(level);\n if (createResp === null || createResp === undefined || createResp.statusCode !== 0){\n ErrorHandler.handleError(createResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n if(level.id < 0) level.id = createResp.id;\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedLevels.value.some(el => el.id === level.id)) {\n selectedLevels.value = selectedLevels.value.filter(el => el.id !== level.id);\n selectedLevels.value.push(level);\n }\n\n // in case of an update bryntum automatically replaces the entry with the same ID\n gridStore.add(level);\n // reapply sorting\n gridStore.sort(gridStore.sorters);\n // reapply filtering\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.user])\n });\n\n globalStore.closeModal();\n globalStore.showSuccess('Gespeichert');\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const levels = await group2Service.getLevels(\"display\");\n\n if (levels === null || levels === undefined || levels.statusCode !== 0) {\n ErrorHandler.handleError(levels, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(levels.levelInfo);\n\n globalStore.reorderColumns(TableType[TableType.group2]);\n\n globalStore.closeModal();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('levels.title')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(Error, {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newGroup2,\n title: _unref($t)('levels.new')\n }, _hoisted_7, 8, _hoisted_5)), [\n [_directive_permission, 'Region.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedLevels).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_10, 8, _hoisted_8)), [\n [_directive_permission, 'Region.Delete']\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(GridInputFilter, {\n gridStore: _unref(gridStore),\n popupType: _unref(PopupType).userFilterPopup,\n hideFilterButton: true\n }, null, 8, [\"gridStore\", \"popupType\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_12, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Group2.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Group2.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { MinimalLocationInfo } from \"@/models/location/MinimalLocationInfo\";\n\nexport class ControlCenterInfo{\n id:number = -1;\n syncId?:string = undefined;\n name:string = \"\";\n phoneNumber:string = \"\";\n locations:Array = [];\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\nconst _hoisted_3 = { class: \"block w-full\" }\nconst _hoisted_4 = { class: \"flex mb-4\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"disabled\", \"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"ml-auto\" }\nconst _hoisted_12 = { class: \"text-center\" }\n\nimport { onBeforeUnmount, onMounted, reactive, ref } from \"vue\";\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Menu, Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport { ErrorLocationType, PopupType, TableType } from '@/utilities/enums/Enums';\nimport { $t } from \"@/utilities/i18n/config\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport dialog from \"@/dialog\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport { GeneralResponse } from \"@/models/api/Responses\";\nimport Error from \"@/components/Error\";\nimport { ControlCenterInfo } from \"@/models/controlCenter/ControlCenterInfo\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {ControlCenterService} from \"@/utilities/services/entities/ControlCenterService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ControlCenters',\n setup(__props) {\n\nconst { t } = useI18n();\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nlet selectedControlCenters = ref([]);\nconst controlCenterService = new ControlCenterService();\nconst permissionService = new PermissionService();\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedControlCenters.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"controlCenters.confirmDeletionMulti\", { count:selectedControlCenters.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const cc of selectedControlCenters.value){\n const resp = await controlCenterService.deleteControlCenter(cc.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:cc.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n columns: {\n data: [\n { id:'id', field: 'id', text: t('controlCenters.grid.id'), width: 36, },\n {\n id:'syncId',\n field: 'syncId',\n text: t('controlCenters.grid.syncId'),\n flex: 1,\n type: \"template\",\n template: ({ record }) => {\n\t\t\t\t\treturn StringHelper.xss`${record.data.syncId ?? \"\"}`;\n },\n },\n { id:'name', field: 'name', text: t('controlCenters.grid.name'), flex: 1, },\n { id:'phoneNumber', field: 'phoneNumber', text: t('controlCenters.grid.phoneNumber'), flex: 1, },\n {\n id:'locations',\n field: 'locations',\n\t\t\t\tsortable: false,\n text: '',\n width : 36,\n type: \"template\",\n template: ({ record }) => {\n\t\t\t\t\tif(record.data.locations.length > 0)\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\treturn\n\t\t\t\t},\n },\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.controlCenter], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedControlCenters.value = selectedControlCenters.value.concat(event.selected.map(cr => cr.data))\n selectedControlCenters.value = selectedControlCenters.value.filter(c => !event.deselected.map(cr => cr.data).some(cr => c?.id === cr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n cellClick({column, record}) {\n if (column.data.field === 'locations' && record.data.locations.length > 0) {\n globalStore.openPopup({\n data: record.data,\n action: globalStore.closeModal,\n title: \"Standorte\",\n type: PopupType.group2Locations\n });\n }\n },\n },\n height: currentWindowHeight,\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t('global.edit'),\n cls: 'color',\n icon: 'icon-editieren',\n hidden: !permissionService.userHasPermission(\"ControlCenter.Edit\"),\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data:menu.record,\n action:addOrUpdateControlCenter,\n resetButton:false,\n title:$t(\"popups.controlCenterEditor.title.edit\"),\n type:PopupType.controlCenterEditor\n });\n }\n },\n {\n text: t('global.delete'),\n hidden: !permissionService.userHasPermission(\"ControlCenter.Delete\"),\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"controlCenters.confirmDeletionSingle\", {name:menu.record.name}));\n\n if (answer) {\n const resp = await controlCenterService.deleteControlCenter(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('global.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst newControlCenter = () => {\n const controlCenter = new ControlCenterInfo();\n\n globalStore.openPopup({\n data:controlCenter,\n action:addOrUpdateControlCenter,\n resetButton:false,\n title:$t(\"popups.controlCenterEditor.title.new\"),\n type:PopupType.controlCenterEditor\n });\n}\n\nconst addOrUpdateControlCenter = async () => {\n const controlCenter = globalStore.modal.contentObject as ControlCenterInfo;\n\n const ccResp = await controlCenterService.addOrUpdateControlCenter(controlCenter);\n if (ccResp === null || ccResp === undefined || ccResp.statusCode !== 0){\n ErrorHandler.handleError(ccResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n if(controlCenter.id < 0) controlCenter.id = ccResp.id;\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedControlCenters.value.some(el => el.id === controlCenter.id)) {\n selectedControlCenters.value = selectedControlCenters.value.filter(el => el.id !== controlCenter.id);\n selectedControlCenters.value.push(controlCenter);\n }\n\n // in case of an update bryntum automatically replaces the entry with the same ID\n gridStore.add(controlCenter);\n // reapply sorting\n gridStore.sort(gridStore.sorters);\n\n globalStore.closeModal();\n globalStore.showSuccess(t(\"global.saved\"));\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const controlCentersResp = await controlCenterService.getControlCenters(\"display\");\n\n if (controlCentersResp === null || controlCentersResp === undefined || controlCentersResp.statusCode !== 0) {\n ErrorHandler.handleError(controlCentersResp, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(controlCentersResp.controlCenterInfo);\n\n globalStore.reorderColumns(TableType[TableType.controlCenter]);\n\n globalStore.closeModal();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('controlCenters.title')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newControlCenter,\n title: _unref(t)('controlcenter.newcontrolCenter')\n }, _hoisted_7, 8, _hoisted_5)), [\n [_directive_permission, 'ControlCenter.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedControlCenters).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_10, 8, _hoisted_8)), [\n [_directive_permission, 'ControlCenter.Delete']\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n popupType: _unref(PopupType).controlCenterFilter,\n hideFilterButton: true\n }, null, 8, [\"gridStore\", \"popupType\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_12, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./ControlCenters.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ControlCenters.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {GeneralResponse, TokenResponse} from \"@/models/api/Responses\";\nimport {\n ChangePasswordRequest,\n LoginRequest,\n ResetPasswordEmailRequest,\n ResetPasswordRequest\n} from \"@/models/api/Requests\";\nimport {ErrorLocationType, HttpType} from \"@/utilities/enums/Enums\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\n\nexport class AccountService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async login(email: string, password: string, rememberMe: boolean): Promise {\n const uri = this.uriHelper.account.getLoginPath();\n const requestBody = new LoginRequest(email, password, rememberMe);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async sendResetPasswordMail(email: string, url: string): Promise {\n const uri = this.uriHelper.account.getResetPasswordMailPath();\n const requestBody = new ResetPasswordEmailRequest(email, url);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async resetPassword(token: string, email: string, password: string, passwordRepetition: string): Promise {\n const uri = this.uriHelper.account.getResetPasswordPath();\n const requestBody = new ResetPasswordRequest(token, email, password, passwordRepetition);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async changePassword(userId: string, oldPassword: string, newPassword: string, newPasswordRepetition: string): Promise {\n const uri = this.uriHelper.account.getChangePasswordPath();\n const requestBody = new ChangePasswordRequest(userId, oldPassword, newPassword, newPasswordRepetition);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async exchangeToken(errorLocationType:ErrorLocationType):Promise{\n const uri = this.uriHelper.account.getExchangeTokenPath();\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri);\n console.log(resp)\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, errorLocationType);\n return null;\n }\n\n return resp.token;\n }\n\n public async logout(): Promise {\n const uri = this.uriHelper.account.getLogoutPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n}","export class SystemCompanySettings{\n companyIdCode:string = \"\";\n companyName:string = \"\";\n\n constructor(name:string, id:string) {\n this.companyIdCode = id;\n this.companyName = name;\n }\n}","import {OidcMetadata, User, UserManager, UserManagerSettings} from 'oidc-client';\n\nexport default class OAuthService {\n public userManager: UserManager;\n\n constructor(authority:string, clientId:string, scopes:string, callback:string, silentCallback:string, metdata:OidcMetadata|undefined = undefined) {\n const settings: UserManagerSettings = {\n authority: authority,\n client_id: clientId,\n redirect_uri: window.location.origin + callback,\n silent_redirect_uri: window.location.origin + silentCallback,\n automaticSilentRenew: true,\n response_type: 'code',\n scope: scopes,\n post_logout_redirect_uri: window.location.origin + '/logout',\n filterProtocolClaims: false,\n metadata: metdata\n };\n\n this.userManager = new UserManager(settings);\n }\n\n public async login(): Promise {\n return await this.userManager.signinRedirect();\n }\n\n public async logout(): Promise {\n return await this.userManager.signoutRedirect();\n }\n\n public async refreshTokensSilently(): Promise {\n return await this.userManager.signinSilentCallback();\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, unref as _unref, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createVNode as _createVNode, withModifiers as _withModifiers, withCtx as _withCtx, createCommentVNode as _createCommentVNode, isRef as _isRef } from \"vue\"\nimport _imports_0 from '../assets/img/anab_logo_white.png'\n\n\nconst _hoisted_1 = {\n id: \"login\",\n class: \"w-full h-full\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"fixed anabLogo\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n alt: \"\"\n })\n], -1)\nconst _hoisted_3 = { class: \"fixed anabTeaserText\" }\nconst _hoisted_4 = { class: \"subline\" }\nconst _hoisted_5 = { class: \"headline\" }\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = { id: \"loginSidebar\" }\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"onSubmit\"]\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_11 = { for: \"email\" }\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_15 = { class: \"error-msg\" }\nconst _hoisted_16 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_17 = { for: \"password\" }\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_19 = [\"disabled\"]\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_21 = { class: \"error-msg\" }\nconst _hoisted_22 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = { key: 0 }\nconst _hoisted_25 = { key: 0 }\nconst _hoisted_26 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_28 = { for: \"email-passwordreset\" }\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_32 = { class: \"error-msg\" }\nconst _hoisted_33 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_34 = [\"disabled\"]\nconst _hoisted_35 = { key: 1 }\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_37 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_38 = { key: 1 }\nconst _hoisted_39 = [\"innerHTML\"]\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_41 = { for: \"password\" }\nconst _hoisted_42 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_44 = { class: \"error-msg\" }\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_46 = { for: \"password\" }\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_48 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_49 = { class: \"error-msg\" }\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_51 = { key: 1 }\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_53 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\n\nimport {computed, onMounted, reactive, ref} from 'vue';\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport router from \"@/router\";\nimport {useRoute} from \"vue-router\";\nimport {notify} from \"@kyvg/vue3-notification\";\nimport jwt_decode from \"jwt-decode\";\nimport {DisdiStateType, ErrorLocationType, NotifyType, PreferenceType, SsoType} from \"@/utilities/enums/Enums\";\nimport TabsWrapper from '@/components/tabs/TabsWrapper.vue';\nimport TabItem from '@/components/tabs/TabItem.vue';\nimport {email, helpers, minLength, required, sameAs} from '@vuelidate/validators';\nimport useVuelidate from '@vuelidate/core';\nimport {useI18n} from 'vue-i18n';\nimport Error from \"@/components/Error\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport {i18n} from \"@/utilities/i18n/config\";\nimport {UserPreference} from \"@/models/user/UserPreference\";\nimport {MiscService} from \"@/utilities/services/entities/MiscService\";\nimport {AccountService} from \"@/utilities/services/entities/AccountService\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\nimport TextOrSpinner from \"@/components/TextOrSpinner\";\nimport {SystemCompanySettings} from \"@/models/SystemCompanySettings\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport {anabPolicies} from \"@/AppConfig\";\nimport {usePermissionStore} from \"@/stores/PermissionStore\";\nimport OAuthService from \"@/utilities/services/OAuthService\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Login',\n setup(__props) {\n\nconst { t } = useI18n();\nconst miscService = new MiscService();\nconst accountService = new AccountService();\nconst userService = new UserService();\nconst permissionService = new PermissionService();\n\nconst globalStore = useGlobalStore();\nconst error = ref(false);\nconst loading = ref(false);\nlet activeTab = ref(0);\n\nlet token = ref(useRoute().query.token);\nlet mail = ref(useRoute().query.email);\n// let samlBackdoor = ref(useRoute().query.saml);\nlet passwordResetMailSent = ref(false);\n\nconst saveNewPassword = async () => {\n loading.value = true;\n\n const isFormCorrect = await vPassword$.value.$validate()\n if (!isFormCorrect) {\n // VALIDATOR ERROR\n loading.value = false;\n return\n }\n\n const resp = await accountService.resetPassword(token.value, mail.value, passwordForm.newPassword, passwordForm.newPasswordRepeat);\n\n if(resp?.statusCode !== 0) return;\n\n loading.value = false;\n\n notify({\n title: \"Erfolg\",\n text: t('notifications.passwordReset'),\n duration: -1,\n type: NotifyType[NotifyType.success]\n });\n\n // move back to default tab\n await router.replace(\"/login\");\n activeTab.value = 0;\n}\n\nconst abortPasswordChange = () => {\n token.value = undefined;\n mail.value = undefined;\n\n router.replace(\"/login\");\n activeTab.value = 0;\n}\n\n\nonMounted (async ()=>{\n if(token.value !== undefined && mail.value !== undefined) {\n activeTab.value = 1;\n }\n\n try{\n loading.value = true;\n const startupConfig = await miscService.getStartupConfig(ErrorLocationType.login);\n if (startupConfig === null) {\n loading.value = false;\n return;\n }\n\n globalStore.settings.defaultHiddenColumns = startupConfig.preferenceInfo;\n globalStore.settings.systemCompanySettings = new SystemCompanySettings(startupConfig.companyName, startupConfig.companyIdCode) ;\n globalStore.settings.startupConfig = startupConfig.startupInfo;\n globalStore.settings.activitySettings = startupConfig.activityInfo;\n globalStore.settings.disdiSettings = startupConfig.disdiInfo;\n globalStore.settings.disdiSettings.disdi = DisdiStateType[startupConfig.disdiInfo.disdi as unknown as keyof typeof DisdiStateType];\n globalStore.settings.enabledFeatures = startupConfig.enabledFeatures;\n\n // const skipSso = !NullOrUndefinedHelper(samlBackdoor.value) && (samlBackdoor.value as string).toLowerCase() === 'false' //TODO make saml backdoor point at digi3 AzureAD\n\n if(globalStore.settings.startupConfig.ssoType !== SsoType.none){\n switch (globalStore.settings.startupConfig.ssoType){\n case SsoType.oauth:{\n const clientId = globalStore.settings.startupConfig?.clientId as string;\n const scopes = globalStore.settings.startupConfig?.clientScopes as string;\n const metaDataUrl = globalStore.settings.startupConfig?.metaDataUrl;\n const metaData = !NullOrUndefinedHelper(metaDataUrl) ? await miscService.getOidcMetaData(metaDataUrl as string) : undefined;\n const ssoCallback = \"/sso/oAuthCallback\";\n const ssoSilentCallback = \"/sso/oAuthCallback/silent\";\n\n const oAuthService = new OAuthService(globalStore.getAuthorityUrl(), clientId, scopes, ssoCallback, ssoSilentCallback, metaData);\n await oAuthService.login();\n break;\n }\n case SsoType.saml:{\n window.location.replace(globalStore.getAuthorityUrl());\n break;\n }\n }\n }\n }\n catch (e) {\n console.log(\"CONFIG LOADING FAILED!\", e);\n }\n\n loading.value = false;\n})\n\n\nconst passwordForm = reactive({\n newPassword: '',\n newPasswordRepeat: '',\n})\nconst passwordResetForm = reactive({\n emailreset: '',\n})\nconst form = reactive({\n username: '',\n password: '',\n rememberMe: false\n});\n\nconst rules = {\n username: {\n required: helpers.withMessage(t('validators.required'), required),\n email: helpers.withMessage(t('validators.email'), email),\n },\n password: {\n required: helpers.withMessage(t('validators.required'), required),\n },\n}\n\nconst passwordResetRules = {\n emailreset: {\n required: helpers.withMessage(t('validators.required'), required),\n email: helpers.withMessage(t('validators.email'), email),\n },\n}\nconst newPasswordRules = computed(() => {\n\n const hasNoneAlphaNum = helpers.regex(/\\W/);\n const hasNumber = helpers.regex(/\\d/);\n const hasUppercaseLetter = helpers.regex(/[A-Z]/);\n const hasLowercaseLetter = helpers.regex(/[a-z]/);\n\n const rules = {\n newPassword: {\n required: helpers.withMessage(t('validators.required'), required),\n minLength: helpers.withMessage(t('validators.minLength', {amount: 8}), minLength(8)),\n hasNoneAlphaNum: helpers.withMessage(t('validators.hasNoneAlphaNum'), hasNoneAlphaNum),\n hasNumber: helpers.withMessage(t('validators.hasNumber'), hasNumber),\n hasUppercaseLetter: helpers.withMessage(t('validators.hasUppercaseLetter'), hasUppercaseLetter),\n hasLowercaseLetter: helpers.withMessage(t('validators.hasLowercaseLetter'), hasLowercaseLetter),\n },\n newPasswordRepeat: {\n required: helpers.withMessage(t('validators.required'), required),\n sameAsPassword: helpers.withMessage(t('validators.sameAs'), sameAs(passwordForm.newPassword)),\n },\n }\n return rules\n})\n\nconst v$ = useVuelidate(rules, form)\nconst vPassword$ = useVuelidate(newPasswordRules, passwordForm)\nconst vPasswordReset$ = useVuelidate(passwordResetRules, passwordResetForm)\n\nconst sendPasswordResetMail = async () => {\n\n loading.value = true;\n const isFormCorrect = await vPasswordReset$.value.$validate()\n if (!isFormCorrect) {\n // VALIDATOR ERROR\n loading.value = false;\n return\n }\n\n const resp = await accountService.sendResetPasswordMail(passwordResetForm.emailreset, `${window.location.origin}/login`);\n\n // sending failed\n if(resp === null || resp === undefined || resp?.statusCode !== 0) {\n loading.value = false;\n return;\n }\n\n passwordResetMailSent.value = true;\n loading.value = false;\n}\n\nconst addDynamicRoles= async ()=>{\n const readRoleString = globalStore.settings.disdiSettings?.permissionRead.join(\", \");\n const editRoleString = globalStore.settings.disdiSettings?.permissionEdit.join(\", \");\n\n //TODO magic string? better idea?\n permissionService.updateDynamicPolicy(\"Disdi.Read\", readRoleString as string);\n permissionService.updateDynamicPolicy(\"Disdi.LocationPropertyEdit\", editRoleString as string);\n}\n\nconst onSubmit = async () => {\n loading.value = true;\n const isFormCorrect = await v$.value.$validate();\n\n if (!isFormCorrect) {\n // VALIDATOR ERROR\n loading.value = false;\n return\n }\n\n try{\n const resp = await accountService.login(form.username, form.password, form.rememberMe);\n\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.login);\n\n loading.value = false;\n\n return;\n }\n\n globalStore.setToken(resp.token);\n\n const user = await userService.getUserById(jwt_decode(resp.token).id, ErrorLocationType.login);\n\n if(user === null || user === undefined){\n loading.value = false;\n return;\n }\n\n globalStore.setUser(user);\n\n // get filters for user\n const filterResp = await userService.getUserPreferences(user.id, PreferenceType.filter);\n // get hiddenColumns for User\n const columnResp = await userService.getUserPreferences(user.id, PreferenceType.hiddenColumn);\n // get general settings for User\n const genSetResp = await userService.getUserPreferences(user.id, PreferenceType.general);\n // get columnOrder settings for User\n const colOrderResp = await userService.getUserPreferences(user.id, PreferenceType.columnOrder);\n\n if(filterResp?.statusCode === 0 && columnResp?.statusCode === 0 && genSetResp?.statusCode === 0 && colOrderResp?.statusCode === 0) {\n globalStore.setUserPreferences({\n userFilters: filterResp.preferenceInfo ?? [],\n userHiddenColumns: columnResp.preferenceInfo ?? [],\n userColumnOrder: colOrderResp.preferenceInfo ?? [],\n general: {\n darkMode: genSetResp.preferenceInfo.find((pi:UserPreference) => pi.attributeName === \"darkMode\")?.attributeValue ?? false,\n userStartPage: genSetResp.preferenceInfo.find((pi:UserPreference) => pi.attributeName === \"userStartPage\")?.attributeValue ?? \"/account\",\n userLocale: genSetResp.preferenceInfo.find((pi:UserPreference) => pi.attributeName === \"userLocale\")?.attributeValue ?? \"de\",\n },\n });\n\n // set language. if not null or undefined fallback to DE\n // @ts-expect-error\n i18n.global.locale.value = globalStore.userPreferences.general.userLocale;\n }\n else{\n ErrorHandler.handleError(new GeneralResponse(6666, \"Ihre Einstellungen konnten nicht geladen werden\"), ErrorLocationType.table);\n\n loading.value = false;\n }\n\n const notifResp = await miscService.getHubNotifications();\n\n if(notifResp?.statusCode === 0){\n globalStore.notifications = notifResp.notifications;\n }\n else{\n ErrorHandler.handleError(new GeneralResponse(6667, \"Die Benachrichtigungen konnte nicht geladen werden\"), ErrorLocationType.table);\n\n loading.value = false;\n }\n\n // set new fully set policy array on permission store to make sure it survives page reloads\n const permissionStore = usePermissionStore();\n permissionStore.anabPolicies = anabPolicies;\n\n await addDynamicRoles();\n\n // @ts-expect-error\n await router.push(globalStore.userPreferences.general.userStartPage);\n\n notify({\n title: \"Erfolg\",\n text: t('login.notifySuccessfulLogin'),\n duration: 5000,\n type: \"success\"\n });\n\n loading.value = false;\n }\n catch (e){\n console.log(e);\n }\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, _toDisplayString(_ctx.$t('login.subline')), 1),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h1\", null, [\n _createElementVNode(\"span\", {\n innerHTML: _ctx.$t('login.headline')\n }, null, 8, _hoisted_6)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n (!error.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createVNode(TabsWrapper, { activeTab: _unref(activeTab) }, {\n default: _withCtx(() => [\n _createVNode(TabItem, {\n title: _ctx.$t('login.tabs.login.tabTitle')\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.$t('login.tabs.login.headline')), 1),\n _hoisted_10,\n _createElementVNode(\"label\", _hoisted_11, _toDisplayString(_ctx.$t('login.tabs.login.email')), 1),\n _hoisted_12,\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: _unref(v$).username.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n disabled: loading.value,\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((form.username) = $event)),\n class: \"form-control\",\n placeholder: \"E-Mail*\",\n required: \"\",\n autocomplete: \"email\"\n }, null, 8, _hoisted_13), [\n [_vModelText, form.username]\n ]),\n _hoisted_14,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(v$).username.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2),\n _hoisted_16,\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: _unref(v$).password.$errors.length })\n }, [\n _createElementVNode(\"label\", _hoisted_17, _toDisplayString(_ctx.$t('login.tabs.login.password')), 1),\n _hoisted_18,\n _withDirectives(_createElementVNode(\"input\", {\n disabled: loading.value,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((form.password) = $event)),\n class: \"form-control\",\n type: \"password\",\n placeholder: \"Passwort*\",\n autocomplete: \"current-password\"\n }, null, 8, _hoisted_19), [\n [_vModelText, form.password]\n ]),\n _hoisted_20,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(v$).password.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_21, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2),\n _hoisted_22,\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).login\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"button\", {\n disabled: loading.value,\n type: \"submit\",\n name: \"submit\",\n class: _normalizeClass([\"btn\", loading.value ? 'disabled' : 'primary'])\n }, [\n _createVNode(_unref(TextOrSpinner), {\n text: _unref(t)('login.tabs.login.submit'),\n spin: loading.value\n }, null, 8, [\"text\", \"spin\"])\n ], 10, _hoisted_23)\n ], 40, _hoisted_9)\n ]),\n _: 1\n }, 8, [\"title\"]),\n _createVNode(TabItem, {\n title: _ctx.$t('login.tabs.changePassword.tabTitle')\n }, {\n default: _withCtx(() => [\n (_unref(token) === undefined || _unref(token) === null || _unref(mail) === undefined || _unref(mail) === null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_24, [\n (!_unref(passwordResetMailSent))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.$t('login.tabs.changePassword.headline')), 1),\n _hoisted_26,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$t('login.tabs.changePassword.description')), 1),\n _hoisted_27,\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: _unref(vPasswordReset$).emailreset.$errors.length })\n }, [\n _createElementVNode(\"label\", _hoisted_28, _toDisplayString(_ctx.$t('login.tabs.changePassword.email')), 1),\n _hoisted_29,\n _withDirectives(_createElementVNode(\"input\", {\n disabled: loading.value,\n name: \"emailReset\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((passwordResetForm.emailreset) = $event)),\n class: \"form-control\",\n type: \"text\",\n placeholder: \"E-Mail*\",\n required: \"\"\n }, null, 8, _hoisted_30), [\n [_vModelText, passwordResetForm.emailreset]\n ]),\n _hoisted_31,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(vPasswordReset$).emailreset.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_32, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2),\n _hoisted_33,\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).login\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"button\", {\n disabled: loading.value,\n type: \"button\",\n name: \"submit\",\n class: _normalizeClass([\"btn\", loading.value ? 'disabled' : 'primary']),\n onClick: sendPasswordResetMail\n }, [\n _createVNode(_unref(TextOrSpinner), {\n text: _unref(t)('login.tabs.changePassword.submit'),\n spin: loading.value\n }, null, 8, [\"text\", \"spin\"])\n ], 10, _hoisted_34)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.$t('login.tabs.changePassword.confirmHeadline')), 1),\n _hoisted_36,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$t('login.tabs.changePassword.confirmDescription')), 1),\n _hoisted_37,\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).login\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"button\", {\n type: \"button\",\n name: \"submit\",\n class: \"btn primary\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_isRef(passwordResetMailSent) //@ts-ignore\n ? passwordResetMailSent.value = false : passwordResetMailSent = false))\n }, _toDisplayString(_ctx.$t('login.tabs.changePassword.confirmButton')), 1)\n ]))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_38, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.$t('login.tabs.changePassword.newPasswordHeadline')), 1),\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t('login.tabs.changePassword.newPasswordDescription')\n }, null, 8, _hoisted_39),\n _hoisted_40,\n _createElementVNode(\"form\", null, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: _unref(vPassword$).newPassword.$errors.length })\n }, [\n _createElementVNode(\"label\", _hoisted_41, _toDisplayString(_ctx.$t('login.tabs.changePassword.newPasswordLabel')), 1),\n _hoisted_42,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((passwordForm.newPassword) = $event)),\n class: \"form-control\",\n type: \"password\",\n placeholder: \"Passwort*\",\n autocomplete: \"new-password\",\n required: \"\"\n }, null, 512), [\n [_vModelText, passwordForm.newPassword]\n ]),\n _hoisted_43,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(vPassword$).newPassword.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_44, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2),\n _hoisted_45,\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: _unref(vPassword$).newPasswordRepeat.$errors.length })\n }, [\n _createElementVNode(\"label\", _hoisted_46, _toDisplayString(_ctx.$t('login.tabs.changePassword.newPasswordRepeatLabel')), 1),\n _hoisted_47,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((passwordForm.newPasswordRepeat) = $event)),\n class: \"form-control\",\n type: \"password\",\n placeholder: \"Passwort wiederholen*\",\n autocomplete: \"new-password\",\n required: \"\"\n }, null, 512), [\n [_vModelText, passwordForm.newPasswordRepeat]\n ]),\n _hoisted_48,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(vPassword$).newPasswordRepeat.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_49, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2),\n _hoisted_50,\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).login\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"button\", {\n type: \"button\",\n name: \"submit\",\n class: \"btn primary mr-5\",\n onClick: saveNewPassword\n }, _toDisplayString(_ctx.$t('login.tabs.changePassword.newPasswordSave')), 1),\n _createElementVNode(\"button\", {\n type: \"button\",\n name: \"cancel\",\n class: \"btn\",\n onClick: abortPasswordChange\n }, _toDisplayString(_ctx.$t('login.tabs.changePassword.newPasswordCancel')), 1)\n ])\n ]))\n ]),\n _: 1\n }, 8, [\"title\"])\n ]),\n _: 1\n }, 8, [\"activeTab\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.$t('login.error.headline')), 1),\n _hoisted_52,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$t('login.error.description')), 1),\n _hoisted_53,\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).login\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n name: \"submit\",\n class: \"btn primary\",\n onClick: _cache[6] || (_cache[6] = ($event: any) => (error.value = false))\n }, _toDisplayString(_ctx.$t('login.error.button')), 1)\n ]))\n ])\n ]))\n}\n}\n\n})","import script from \"./Login.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Login.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"flex mb-4\" }\nconst _hoisted_3 = { class: \"ml-auto\" }\nconst _hoisted_4 = { class: \"text-center\" }\n\nimport {PopupType, ErrorLocationType, TableType} from '@/utilities/enums/Enums';\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Menu, Store} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter.vue\";\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport Error from \"@/components/Error.vue\";\nimport {SettingService} from \"@/utilities/services/entities/SettingService\";\nimport {SystemSetting} from \"@/models/setting/SystemSetting\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SystemSettingsTab',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst settingService = new SettingService();\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage-80}px`;\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n cellTooltipFeature: {\n hoverDelay: 300,\n textContent: true,\n\t\thideOnDelegateChange: true,\n },\n groupFeature: \"groupName\",\n selectionMode: false,\n height:currentWindowHeight,\n cellEditFeature: false,\n filterBarFeature: false,\n rowReorderFeature: true,\n stripeFeature: false,\n treeFeature: false,\n columns: {\n data: [\n {\n id: 'name',\n field: 'name',\n text: $t('settings.systemSettings.name'),\n flex: 1,\n },\n\t\t\t{\n\t\t\t\tid: 'helpText',\n\t\t\t\tfield: 'helpText',\n\t\t\t\ttext: \"\",\n\t\t\t\twidth: 50,\n\t\t\t\tsortable: false,\n\t\t\t\tresizable: false,\n\t\t\t\tminWidth: 50,\n\t\t\t\ttype: \"template\",\n\t\t\t\ttooltipRenderer : ({record}) => `${record.data.helpText}`,\n\t\t\t\ttemplate: ({record}) => {\n\t\t\t\t\tif(record.data.helpText !== null)\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\treturn\n\t\t\t\t},\n\t\t\t},\n {\n id: 'value',\n field: 'value',\n text: $t('settings.systemSettings.value'),\n flex: 2,\n\t\t\t\tautoHeight: true,\n\t\t\t\tcellCls: 'multiline',\n },\n {\n id: 'groupName',\n field: 'groupName',\n isVisible: false,\n hidden:true,\n text: '',\n groupRenderer : ({groupRowFor}) => {\n return `${groupRowFor}`\n },\n },\n {\n id: 'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.systemSetting], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: $t(\"global.edit\"),\n cls: 'color',\n icon: 'icon-editieren',\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data: menu.record,\n action:updateSystemSetting,\n resetButton:false,\n title: $t(\"popups.settings.systemSettings.edit\"),\n type:PopupType.settingsEditSystemSetting\n });\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst updateSystemSetting = async ()=>{\n const setting = globalStore.modal.contentObject as SystemSetting;\n\n if(setting.dataType === \"System.Boolean\" && !setting.value.match(/[tT]rue|[fF]alse/gm)) // magic string, pfui bah!\n {\n ErrorHandler.handleError(new GeneralResponse(666666666, \"\"), ErrorLocationType.popup);\n return;\n }\n\n const updateSystemSettingResp = await settingService.putUpdateSystemSetting(setting);\n if (updateSystemSettingResp === null || updateSystemSettingResp === undefined || updateSystemSettingResp.statusCode !== 0) {\n ErrorHandler.handleError(updateSystemSettingResp, ErrorLocationType.popup);\n return;\n }\n\n if(setting.name === \"Tätigkeitsgruppen: Feature eingeschaltet\")\n globalStore.settings.activitySettings.activitesEnabled = JSON.parse(setting.value.toLocaleLowerCase());\n if(setting.name === \"Tätigkeitsgruppen: Unbestimmte Tätigkeit änderbar\")\n globalStore.settings.activitySettings.defaultActivitExchangeable = JSON.parse(setting.value.toLocaleLowerCase());\n\n gridStore.add(setting);\n\n globalStore.closeModal();\n globalStore.showSuccess($t(\"global.saved\"));\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const systemSettingsResp = await settingService.getSystemSettings();\n if (systemSettingsResp === null || systemSettingsResp === undefined || systemSettingsResp.statusCode !== 0) {\n ErrorHandler.handleError(systemSettingsResp, ErrorLocationType.table);\n return;\n }\n\n // convert to flat array since treeFeature with 'children prop' is not working...\n const flatGroupableList = [];\n for (const s of systemSettingsResp.settingInfo){\n for (const c of s.children){\n c.groupName = s.name;\n flatGroupableList.push(c)\n }\n }\n\n gridStore.setStoreData(flatGroupableList);\n\n globalStore.reorderColumns(TableType[TableType.systemSetting]);\n\n // stop spinner\n globalStore.gridDataIsLoading = false;\n}\n\n\nonMounted(async () => {\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n recalcGridHeight();\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(Error, {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(GridInputFilter, {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./SystemSettingsTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SystemSettingsTab.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"flex mb-4\" }\nconst _hoisted_3 = { class: \"ml-auto\" }\nconst _hoisted_4 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Menu, Store} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter.vue\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport { $t } from \"@/utilities/i18n/config\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport { GeneralResponse } from \"@/models/api/Responses\";\nimport Error from \"@/components/Error.vue\";\nimport {useI18n} from \"vue-i18n\";\nimport {defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {PronunciationSetting} from \"@/models/setting/PronunciationSetting\";\nimport {SettingService} from \"@/utilities/services/entities/SettingService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SpokenTextTab',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nconst grid = ref(null);\nconst { t } = useI18n();\nconst settingService = new SettingService();\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage-80}px`;\n};\n\nconst useGridConfig = {\n headerMenuFeature: false,\n cellTooltipFeature: {\n hoverDelay: 300,\n textContent: true,\n\t\thideOnDelegateChange: true,\n },\n relayStoreEvents: true,\n enableTextSelection: true,\n selectionMode : false,\n height: currentWindowHeight,\n columns : {\n data: [\n { id: 'internalIdentification', field: 'internalIdentification', text: t('settings.grid.intern'), flex: 1, },\n\t\t\t{\n\t\t\t\tid: 'helpText',\n\t\t\t\tfield: '',\n\t\t\t\ttext: \"\",\n\t\t\t\twidth: 50,\n\t\t\t\tsortable: false,\n\t\t\t\tresizable: false,\n\t\t\t\tminWidth: 50,\n\t\t\t\ttype: \"template\",\n\t\t\t\ttooltipRenderer : ({record}) => `${record.data.helpText}`,\n\t\t\t\ttemplate: ({record}) => {\n\t\t\t\t\tif(record.data.helpText !== null || record.data.helpText !== \"\")\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\treturn\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n id: 'name',\n field: 'name',\n text: t('settings.grid.description'),\n flex: 1,\n },\n {\n id: 'value',\n field: 'value',\n text: t('settings.grid.speachText'),\n flex: 2.5,\n\t\t\t\tcellCls: \"multiline\",\n\t\t\t\tautoHeight: true,\n\t\t\t},\n {\n id: 'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.spokenText], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n }\n },\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t(\"global.edit\"),\n cls: 'color',\n icon: 'icon-editieren',\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data:menu.record,\n action:updatePronunciationSetting,\n resetButton:false,\n title:$t(\"popups.settings.spokenText.edit\"),\n type:PopupType.settingsEditSpokenText\n });\n }\n },\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst updatePronunciationSetting = async () => {\n const pronunciationSetting = globalStore.modal.contentObject as PronunciationSetting;\n\n const pronunciationUpdateResp = await settingService.putUpdatePronunciationSetting(pronunciationSetting);\n if (pronunciationUpdateResp === null || pronunciationUpdateResp === undefined || pronunciationUpdateResp.statusCode !== 0){\n ErrorHandler.handleError(pronunciationUpdateResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n gridStore.add(pronunciationSetting);\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const spokenTextResp = await settingService.getPronunciationSettings();\n\n if (spokenTextResp === null || spokenTextResp === undefined || spokenTextResp.statusCode !== 0) {\n ErrorHandler.handleError(spokenTextResp, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(spokenTextResp.settingInfo);\n\n globalStore.reorderColumns(TableType[TableType.spokenText]);\n\n globalStore.closeModal();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(Error, {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(GridInputFilter, {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./SpokenTextTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SpokenTextTab.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vShow as _vShow, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"text-grey mb-4\" }\nconst _hoisted_2 = { class: \"grid grid-cols-1 gap-4 w-1/2 mb-5\" }\nconst _hoisted_3 = { class: \"inputTitle\" }\nconst _hoisted_4 = { class: \"inputField flex-grow\" }\nconst _hoisted_5 = { class: \"inputTitle\" }\nconst _hoisted_6 = { class: \"inputField flex-grow\" }\nconst _hoisted_7 = { class: \"flex\" }\nconst _hoisted_8 = { class: \"text-center\" }\n\nimport {onMounted, ref} from \"vue\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport Error from \"@/components/Error.vue\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {SettingService} from \"@/utilities/services/entities/SettingService\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ProviderSettingsTab',\n setup(__props) {\n\nconst currentSettings = ref({dmaPersistence:0,expiredText:\"\"});\nconst globalStore = useGlobalStore();\n\nconst settingService = new SettingService();\n\nconst saveProviderSettings = async ()=>{\n const updatePersistanceResp = await settingService.postUpdateDmaPersistance(currentSettings.value.dmaPersistence);\n if(updatePersistanceResp === null || updatePersistanceResp === undefined || updatePersistanceResp.statusCode !== 0){\n ErrorHandler.handleError(updatePersistanceResp, ErrorLocationType.table);\n return;\n }\n\n const updateExpiredTextResp = await settingService.postUpdateExpiredText(currentSettings.value.expiredText);\n if(updateExpiredTextResp === null || updateExpiredTextResp === undefined || updateExpiredTextResp.statusCode !== 0){\n ErrorHandler.handleError(updateExpiredTextResp, ErrorLocationType.table);\n return;\n }\n\n globalStore.showSuccess($t(\"global.saved\"));\n}\n\nconst setData = async ()=>{\n globalStore.gridDataIsLoading = true;\n const providerSettingsResponse = await settingService.getCompanySettings();\n if(providerSettingsResponse === null || providerSettingsResponse === undefined || providerSettingsResponse.statusCode !== 0){\n ErrorHandler.handleError(providerSettingsResponse, ErrorLocationType.table);\n return;\n }\n\n currentSettings.value.dmaPersistence = +providerSettingsResponse.dmaPersistence;\n currentSettings.value.expiredText = providerSettingsResponse.expiredText;\n\n globalStore.gridDataIsLoading = false;\n}\n\nonMounted(async ()=>{\n await setData();\n})\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(Error, {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h4\", _hoisted_1, _toDisplayString(_unref($t)('settings.providerSettings.inactiveUsers')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref($t)('settings.providerSettings.elapseTime')), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"input\", {\n min: \"0\",\n max: \"30\",\n class: \"w-full\",\n type: \"number\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((currentSettings.value.dmaPersistence) = $event))\n }, null, 512), [\n [_vModelText, currentSettings.value.dmaPersistence]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref($t)('settings.providerSettings.infoText')), 1),\n _createElementVNode(\"div\", _hoisted_6, [\n _withDirectives(_createElementVNode(\"textarea\", {\n class: \"w-full\",\n rows: \"5\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((currentSettings.value.expiredText) = $event))\n }, null, 512), [\n [_vModelText, currentSettings.value.expiredText]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"primary ml-auto\",\n onClick: saveProviderSettings\n }, _toDisplayString(_unref($t)('global.save')), 1)\n ])\n ])\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_8, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./ProviderSettingsTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ProviderSettingsTab.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export class CoupledSystemSetting {\n id:number = -1;\n name:string = \"\";\n baseUrl:string = \"\";\n loginName:string = \"\";\n password:string = \"\";\n contactName:string = \"\";\n contactEmail:string = \"\";\n contactPhoneNumber:string = \"\";\n // only used for dynamic test column in view\n testCoupling:boolean = false;\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"flex mb-4\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_4 = [\n _hoisted_3\n]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"disabled\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-person\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"ml-auto\" }\nconst _hoisted_12 = { class: \"text-center\" }\n\nimport { onBeforeUnmount, onMounted, reactive, ref } from \"vue\";\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport { Menu, Store } from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter.vue\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport { $t } from \"@/utilities/i18n/config\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport { GeneralResponse } from \"@/models/api/Responses\";\nimport Error from \"@/components/Error.vue\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport dialog from \"@/dialog\";\nimport {CoupledSystemSetting} from \"@/models/system/CoupledSystemSetting\";\nimport {CoupledSystemService} from \"@/utilities/services/entities/CoupledSystemService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CoupledSystemsTab',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nconst { t } = useI18n();\nconst coupledSystemService = new CoupledSystemService();\nconst permissionService = new PermissionService();\n\nlet selectedCoupledSystems = ref([]);\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedCoupledSystems.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"settings.coupledSystems.confirmDeletionMulti\", { count:selectedCoupledSystems.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const cs of selectedCoupledSystems.value){\n const resp = await coupledSystemService.deleteCoupledSystemSetting(cs.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:cs.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\n// during the test call the function looses the ref to the grid item, so we need to get it from the grid again\nconst updateTestCouplingColumn = (id:number, value:boolean) => {\n const found = gridStore.records.find(r => r.data.id === id);\n if(found === undefined) return;\n found.testCoupling = value;\n}\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n\tcurrentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage-80}px`;\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n\trelayStoreEvents: true,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n\tcolumns : {\n data: [\n\t\t{ id: 'id', field: 'id', text: t('settings.coupledSystems.grid.id'), width: 100, },\n\t\t{ id: 'name', field: 'name', text: t('settings.coupledSystems.grid.name'), flex: 1, },\n\t\t{ id: 'baseUrl', field: 'baseUrl', text: t('settings.coupledSystems.grid.url'), flex: 1, },\n\t\t{ id: 'loginName', field: 'loginName', text: t('settings.coupledSystems.grid.loginName'), flex: 1, },\n\t\t{\n id: 'testCoupling',\n field: 'testCoupling',\n\t\t\ttext: \"\",\n\t\t\twidth : 150,\n\t\t\ttype: \"template\",\n\t\t\ttemplate: ({record}) => {\n\t\t\t\treturn record.data.testCoupling\n ? ``\n : ``;\n\t\t\t},\n\t\t},\n\t\t{\n id: 'menu',\n\t\t\ttext\t: '',\n\t\t\twidth : 36,\n\t\t\ttype\t: 'widget',\n\t\t\talign: \"center\",\n\t\t\thideable: false,\n\t\t\tresizable: false,\n\t\t\tsortable: false,\n\t\t\tfilterable: false,\n\t\t\twidgets : [{\n\t\t\t\ttype\t : 'button',\n\t\t\t\twidth: 36,\n\t\t\t\ticon\t : 'icon-kontext_horizontal',\n\t\t\t\tonAction : ({ source: btn }) => {\n\t\t\t\t\tconst menu = menuFactory(btn.cellInfo.record.data);\n\t\t\t\t\tmenu.alignTo({ target: btn })\n\t\t\t\t\tmenu.show();\n\t\t\t\t}\n\t\t\t}]\n\t\t},\n\t],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.coupledSystem], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n\tstore: gridStore,\n\tlisteners: {\n\t\tselectionChange(event) {\n\t\t\tif(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedCoupledSystems.value = selectedCoupledSystems.value.concat(event.selected.map(cr => cr.data))\n selectedCoupledSystems.value = selectedCoupledSystems.value.filter(c => !event.deselected.map(cr => cr.data).some(cr => c?.id === cr?.id));\n\t\t},\n\t\tdatachange(){\n\t\t\tglobalStore.currentItems = gridStore.count;\n\t\t\tglobalStore.allItems = gridStore.originalCount;\n\t\t},\n\t\tasync cellClick({column, record}) {\n\t\t\tif (column.data.field === 'testCoupling') {\n updateTestCouplingColumn(record.data.id, true);\n const coupledSystemResp = await coupledSystemService.getLocationsForForeignSystem(record.data.id);\n if (coupledSystemResp === null || coupledSystemResp === undefined || coupledSystemResp.statusCode !== 0){\n updateTestCouplingColumn(record.data.id, false);\n ErrorHandler.handleError(coupledSystemResp as GeneralResponse, ErrorLocationType.table);\n\n return;\n }\n\n updateTestCouplingColumn(record.data.id, false);\n\t\t\t\tglobalStore.showSuccess(t('settings.coupledSystems.testSuccessful'));\n\t\t\t}\n\t\t},\n\t},\n\theight: currentWindowHeight,\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n\tconst menu = new Menu({\n\t\tanchor : true,\n\t\tautoShow : true,\n\t\titems\t: [\n\t\t\t{\n\t\t\t\ttext: t(\"global.edit\"),\n\t\t\t\tcls: 'color',\n\t\t\t\ticon: 'icon-editieren',\n\t\t\t\tweight: 100,\n\t\t\t\tonItem : ({ menu }) => {\n\t\t\t\t\tglobalStore.openPopup({\n\t\t\t\t\t\tdata:menu.record,\n\t\t\t\t\t\taction:addOrUpdateCoupledSystem,\n\t\t\t\t\t\tresetButton:false,\n\t\t\t\t\t\ttitle:$t(\"popups.settings.coupledSystems.edit\"),\n\t\t\t\t\t\ttype:PopupType.settingsEditCoupledSystems\n\t\t\t\t\t});\n\t\t\t\t}\n },\n {\n text : t(\"global.delete\"),\n disabled: !permissionService.userHasPermission(\"CoupledSystem.Delete\"),\n hidden: false,\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"settings.coupledSystems.confirmDeletionSingle\", {name: menu.record.name}));\n\n if (answer) {\n const resp = await coupledSystemService.deleteCoupledSystemSetting(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('global.deleted'));\n }\n }\n\t\t\t},\n\t\t],\n\t});\n\n\tmenu.setRecord(record);\n\n\treturn menu;\n};\n\n\nconst newCoupledSystem = () => {\n\tglobalStore.openPopup({\n\t\tdata: new CoupledSystemSetting(),\n\t\taction: addOrUpdateCoupledSystem,\n\t\tresetButton:false,\n\t\ttitle:$t(\"popups.settings.coupledSystems.new\"),\n\t\ttype:PopupType.settingsEditCoupledSystems\n\t});\n}\n\nconst resetCredentials = async () => {\n\tglobalStore.openPopup({\n\t\tdata: {},\n\t\taction: () => {},\n\t\tresetButton:false,\n\t\ttitle:$t(\"popups.settings.coupledSystems.resetPassword\"),\n\t\ttype:PopupType.settingsResetCredentials\n\t});\n}\n\nconst addOrUpdateCoupledSystem = async () => {\n\tconst coupledSystem = globalStore.modal.contentObject as CoupledSystemSetting;\n\n\tconst coupledSystemResp = await coupledSystemService.addOrUpdateCoupledSystemSetting(coupledSystem);\n\tif (coupledSystemResp === null || coupledSystemResp === undefined || coupledSystemResp.statusCode !== 0){\n\t\tErrorHandler.handleError(coupledSystemResp as GeneralResponse, ErrorLocationType.popup);\n\t\treturn;\n\t}\n\n\tif(coupledSystem.id < 0) coupledSystem.id = coupledSystemResp.id;\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedCoupledSystems.value.some(el => el.id === coupledSystem.id)) {\n selectedCoupledSystems.value = selectedCoupledSystems.value.filter(el => el.id !== coupledSystem.id);\n selectedCoupledSystems.value.push(coupledSystem);\n }\n\n\tgridStore.add(coupledSystem);\n\tgridStore.sort(gridStore.sorters);\n\n\tglobalStore.closeModal();\n\tglobalStore.showSuccess(t('global.saved'));\n}\n\nconst setGridData = async ()=>{\n\t// start spinner\n\tglobalStore.gridDataIsLoading = true;\n\n\tconst coupledSystemSettingsResp = await coupledSystemService.getCoupledSystemSettings();\n\n\tif (coupledSystemSettingsResp === null || coupledSystemSettingsResp === undefined || coupledSystemSettingsResp.statusCode !== 0) {\n\t\tErrorHandler.handleError(coupledSystemSettingsResp, ErrorLocationType.table);\n\t\treturn;\n\t}\n\n // add testCouplingProperty only used in this view and not important for other steps (doesn't come from backend so needs to be set here)\n\tgridStore.setStoreData(coupledSystemSettingsResp.settingInfo.map((cs)=>{\n cs.testCoupling = false;\n return cs\n }));\n\n globalStore.reorderColumns(TableType[TableType.coupledSystem]);\n\n\tglobalStore.closeModal();\n\t// stop spinner\n\tglobalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n\t// calculate grid height and sub to window resize event\n\trecalcGridHeight();\n\twindow.addEventListener('resize', recalcGridHeight);\n\n\tglobalStore.setGridStore(ref(gridStore));\n\tglobalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n\tawait setGridData();\n});\n\nonBeforeUnmount(()=>{\n\twindow.removeEventListener('resize', recalcGridHeight);\n\n\tglobalStore.setGridStore(null);\n\tglobalStore.setGridColumnStore(null);\n\n\tglobalStore.currentItems = 0;\n\tglobalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(Error, {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n class: \"primary mr-2\",\n onClick: newCoupledSystem\n }, _hoisted_4),\n _createElementVNode(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedCoupledSystems).some(()=>true),\n onClick: deleteSelection\n }, _hoisted_7, 8, _hoisted_5),\n _createElementVNode(\"button\", {\n class: \"special mr-2\",\n disabled: !_unref(selectedCoupledSystems).some(()=>true),\n onClick: resetCredentials\n }, _hoisted_10, 8, _hoisted_8),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(GridInputFilter, {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_12, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./CoupledSystemsTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CoupledSystemsTab.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = { class: \"grid grid-cols-1 gap-4 w-1/2 mb-5\" }\nconst _hoisted_2 = { class: \"text-grey mb-4\" }\nconst _hoisted_3 = { class: \"inputTitle\" }\nconst _hoisted_4 = { class: \"inputField flex-grow\" }\nconst _hoisted_5 = { class: \"error-msg\" }\nconst _hoisted_6 = { class: \"inputTitle\" }\nconst _hoisted_7 = { class: \"inputField flex-grow\" }\nconst _hoisted_8 = { class: \"inputTitle\" }\nconst _hoisted_9 = { class: \"inputField flex-grow\" }\nconst _hoisted_10 = { class: \"inputTitle\" }\nconst _hoisted_11 = { class: \"inputField flex-grow\" }\nconst _hoisted_12 = { class: \"text-grey mb-4\" }\nconst _hoisted_13 = { class: \"inputTitle\" }\nconst _hoisted_14 = { class: \"inputField flex-grow\" }\nconst _hoisted_15 = { class: \"inputTitle\" }\nconst _hoisted_16 = { class: \"inputField flex-grow\" }\nconst _hoisted_17 = { class: \"text-grey mb-4\" }\nconst _hoisted_18 = { class: \"inputTitle\" }\nconst _hoisted_19 = { class: \"inputField flex-grow\" }\nconst _hoisted_20 = { class: \"inputTitle\" }\nconst _hoisted_21 = { class: \"inputField flex-grow\" }\nconst _hoisted_22 = { class: \"error-msg\" }\nconst _hoisted_23 = { class: \"inputTitle\" }\nconst _hoisted_24 = { class: \"inputField flex-grow\" }\nconst _hoisted_25 = { class: \"inputTitle\" }\nconst _hoisted_26 = { class: \"inputField flex-grow\" }\nconst _hoisted_27 = { class: \"inputTitle\" }\nconst _hoisted_28 = { class: \"inputField flex-grow\" }\nconst _hoisted_29 = { class: \"text-grey mb-4\" }\nconst _hoisted_30 = { class: \"inputTitle\" }\nconst _hoisted_31 = { class: \"inputField flex-grow\" }\nconst _hoisted_32 = { class: \"inputTitle\" }\nconst _hoisted_33 = { class: \"inputField flex-grow\" }\nconst _hoisted_34 = { class: \"inputTitle\" }\nconst _hoisted_35 = { class: \"inputField flex-grow\" }\nconst _hoisted_36 = { class: \"flex\" }\nconst _hoisted_37 = [\"disabled\"]\nconst _hoisted_38 = { class: \"text-center\" }\n\nimport {computed, onBeforeUnmount, onMounted, ref} from \"vue\";\nimport Error from \"@/components/Error.vue\";\nimport {DisdiMetadataType, DisdiStateType, ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {SettingService} from \"@/utilities/services/entities/SettingService\";\nimport {defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport {DisdiSetting} from \"@/models/setting/disdi/DisdiSetting\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\nimport {SelectableRoleInfo} from \"@/models/SelectableRoleInfo\";\nimport Tags from \"@/components/inputs/Tags\";\nimport Select from \"@/components/inputs/Select\";\nimport TextOrSpinner from \"@/components/TextOrSpinner\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {helpers, required} from \"@vuelidate/validators\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport {LocationDisdiInfo} from \"@/models/location/LocationDisdiInfo\";\nimport { deepUnref } from 'vue-deepunref';\nimport { CategoryService } from \"@/utilities/services/entities/CategoryService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DisdiSettingsTab',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst categoryService = new CategoryService();\nconst settingService = new SettingService();\nconst userService = new UserService();\nconst permissionService = new PermissionService();\nconst locationService = new LocationService();\n\nconst categoryList = ref([]);\nconst settings = ref(new DisdiSetting());\nconst editRolesList = ref>([]);\nconst readRolesList = ref>([]);\n\nconst selectedRead=ref([])\nconst selectedEdit=ref([])\nconst metaTimestampValues = Object.keys(DisdiMetadataType)\n .filter((x) => Number.isNaN(Number(x)))\n .map((type,i)=>({id:i, name:$t(`settings.disdiSettingsTab.metaTimestampType.${type}`)}))\nconst disdiValues = Object.keys(DisdiStateType)\n .filter((x) => Number.isNaN(Number(x)))\n .map((type,i)=>({id:i, name:$t(`settings.disdiSettingsTab.disdiType.${type}`)}))\nconst loadingConfirm = ref(false);\nlet oldDisdiValue = null as DisdiStateType|null;\n\nconst rules = computed(()=>{\n return {\n disdi: { required: helpers.withMessage($t('validators.required'), required), },\n metaTimestamp: { required: helpers.withMessage($t('validators.required'), required), },\n }\n});\nconst validator = ref(useVuelidate(rules, settings));\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage-80}px`;\n};\n\nconst updateReadList = (value:Array)=>{\n //@ts-expect-error\n settings.value.permissionRead = value;\n}\nconst updateEditList = (value:Array)=>{\n //@ts-expect-error\n settings.value.permissionEdit = value;\n}\nconst setMetaTimestampValue = (value:DisdiMetadataType)=>{\n //@ts-expect-error\n settings.value.metaTimestamp = value;\n}\nconst setDefaultCategory = (value: string) => {\n //@ts-expect-error\n settings.value.defaultCategory = value;\n}\nconst setDisdiValue = (value:DisdiStateType)=>{\n //@ts-expect-error\n settings.value.disdi = value;\n}\nconst checkInputBounds = ({target}:any):number => {\n const min = +target.attributes[\"min\"].value;\n const max = +target.attributes[\"max\"].value;\n return target.valueAsNumber < min\n ? min\n : target.valueAsNumber > max\n ? max\n : target.valueAsNumber;\n}\n\nconst updateDisdiSettings = async ()=>{\n loadingConfirm.value = true;\n\n if(settings.value === null) {\n loadingConfirm.value = false;\n return;\n }\n\n if(!(await validator.value.$validate())){\n loadingConfirm.value = false;\n return;\n }\n\n // save current values (SelectableRoleInfo)\n const convertedRead = settings.value.permissionRead;\n const convertedEdit = settings.value.permissionEdit;\n // convert to string array\n settings.value.permissionRead = settings.value.permissionRead.map(sr => sr.name);\n settings.value.permissionEdit = settings.value.permissionEdit.map(sr => sr.name);\n\n const success = await settingService.updateDisdiSetting(settings.value, ErrorLocationType.table);\n if(!success) {\n loadingConfirm.value = false;\n return;\n }\n\n if(oldDisdiValue !== settings.value.disdi && settings.value.disdi === DisdiStateType.AllLocations){\n const locations = await locationService.getLocations(\"display\", ErrorLocationType.table)\n const newDisdiInfo = locations.map(l => new LocationDisdiInfo(l.id, true));\n await locationService.putSetLocationDisdiSettings(newDisdiInfo, ErrorLocationType.table);\n }\n\n const readRoleString = settings.value.permissionRead.join(\", \");\n const editRoleString = settings.value.permissionEdit.join(\", \");\n\n //TODO magic string? better idea?\n // update anabPolicy-Array with new permission values\n permissionService.updateDynamicPolicy(\"Disdi.Read\", readRoleString);\n permissionService.updateDynamicPolicy(\"Disdi.LocationPropertyEdit\", editRoleString);\n\n // convert array back to SelectableRoleInfo\n settings.value.permissionRead = convertedRead;\n settings.value.permissionEdit = convertedEdit;\n\n // avoid having the ref been carried over to the linked sidebar items\n // an with that this bug: sidebar changes even tough the settings werent saved yet\n globalStore.settings.disdiSettings = deepUnref(settings.value);\n\n loadingConfirm.value = false;\n\n globalStore.showSuccess($t(\"global.saved\"));\n}\n\nconst initSettings = async ()=>{\n categoryList.value = (await categoryService.getCategories(\"display\", ErrorLocationType.popup))?.map((c) => {\n c.name = c.title;\n return c;\n });\n\n settings.value = await settingService.getDisdiSettings(ErrorLocationType.table);\n\n console.log(settings.value)\n\n const roles = await userService.getUserRoles(ErrorLocationType.table) ?? [];\n // flat copy role list to prevent shared options\n readRolesList.value = roles.map(el => ({...el}));\n editRolesList.value = roles.map(el => ({...el}));\n\n //@ts-expect-error\n selectedRead.value = settings.value.permissionRead\n .filter(p => p !== '')\n .map(p => roles.find(r => r.name === p));\n\n //@ts-expect-error\n selectedEdit.value = settings.value.permissionEdit\n .filter(p => p !== '')\n .map(p => roles.find(r => r.name === p));\n\n oldDisdiValue = settings.value.disdi;\n}\n\nconst setRoleDropdowns = ()=>{\n let convertedArray = [];\n for (const r of settings.value.permissionRead){\n const convertedRole = readRolesList.value.find(cr => cr.name === r);\n convertedArray.push(convertedRole);\n\n const index = readRolesList.value.indexOf(convertedRole);\n readRolesList.value.splice(index, 1);\n }\n settings.value.permissionRead = convertedArray;\n\n convertedArray = [];\n for (const r of settings.value.permissionEdit){\n const convertedRole = editRolesList.value.find(cr => cr.name === r);\n convertedArray.push(convertedRole);\n\n const index = editRolesList.value.indexOf(convertedRole);\n editRolesList.value.splice(index, 1);\n }\n settings.value.permissionEdit = convertedArray;\n}\n\nonMounted(async () => {\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.gridDataIsLoading = true;\n\n await initSettings();\n setRoleDropdowns();\n\n globalStore.gridDataIsLoading = false;\n})\n\nonBeforeUnmount(()=>{\n recalcGridHeight();\n window.removeEventListener('resize', recalcGridHeight);\n});\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(Error, {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h4\", _hoisted_2, _toDisplayString(_unref($t)('settings.disdiSettingsTab.generalDisdiSettings.title')), 1),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref($t)('settings.disdiSettingsTab.generalDisdiSettings.disdi')), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: validator.value.disdi.$errors.length })\n }, [\n _createVNode(_unref(Select), {\n options: _unref(disdiValues),\n selected: settings.value.disdi,\n onSelectChanged: setDisdiValue,\n mode: \"single\"\n }, null, 8, [\"options\", \"selected\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(validator.value.disdi.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref($t)('settings.disdiSettingsTab.generalDisdiSettings.picturesAmount')), 1),\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n min: \"0\",\n max: \"10\",\n step: \"1\",\n onInput: _cache[0] || (_cache[0] = ($event: any) => (settings.value.pictures = checkInputBounds($event))),\n class: \"w-full\",\n type: \"number\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((settings.value.pictures) = $event))\n }, null, 544), [\n [_vModelText, settings.value.pictures]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(_unref($t)('settings.disdiSettingsTab.generalDisdiSettings.defaultCategory')), 1),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_unref(Select), {\n options: categoryList.value,\n selected: settings.value.defaultCategory,\n onSelectChanged: setDefaultCategory,\n mode: \"single\"\n }, null, 8, [\"options\", \"selected\"])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_unref($t)('settings.disdiSettingsTab.generalDisdiSettings.deleteDeadline')) + \" \" + _toDisplayString(_unref($t)('global.units.days')), 1),\n _createElementVNode(\"div\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"input\", {\n min: \"0\",\n max: \"2000\",\n onInput: _cache[2] || (_cache[2] = ($event: any) => (settings.value.purgeOldDiaryEntriesIntervalDay = checkInputBounds($event))),\n step: \"1\",\n class: \"w-full\",\n type: \"number\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((settings.value.purgeOldDiaryEntriesIntervalDay) = $event))\n }, null, 544), [\n [_vModelText, settings.value.purgeOldDiaryEntriesIntervalDay]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h4\", _hoisted_12, _toDisplayString(_unref($t)('settings.disdiSettingsTab.disdiPermissionsSettings.title')), 1),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_13, _toDisplayString(_unref($t)('settings.disdiSettingsTab.disdiPermissionsSettings.readRoles')), 1),\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_unref(Tags), {\n selected: selectedRead.value,\n options: readRolesList.value,\n onSelectChanged: updateReadList\n }, null, 8, [\"selected\", \"options\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_unref($t)('settings.disdiSettingsTab.disdiPermissionsSettings.editRoles')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_unref(Tags), {\n selected: selectedEdit.value,\n options: editRolesList.value,\n onSelectChanged: updateEditList\n }, null, 8, [\"selected\", \"options\"])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h4\", _hoisted_17, _toDisplayString(_unref($t)('settings.disdiSettingsTab.metadataSettings.title')), 1),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_18, _toDisplayString(_unref($t)('settings.disdiSettingsTab.metadataSettings.metaEditor')), 1),\n _createElementVNode(\"div\", _hoisted_19, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((settings.value.metaEditor) = $event)),\n name: \"metaEditor\"\n }, null, 512), [\n [_vModelCheckbox, settings.value.metaEditor]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_20, _toDisplayString(_unref($t)('settings.disdiSettingsTab.metadataSettings.metaTimestamp')), 1),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: validator.value.metaTimestamp.$errors.length })\n }, [\n _createVNode(_unref(Select), {\n options: _unref(metaTimestampValues),\n selected: settings.value.metaTimestamp,\n onSelectChanged: setMetaTimestampValue,\n mode: \"single\"\n }, null, 8, [\"options\", \"selected\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(validator.value.metaTimestamp.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_23, _toDisplayString(_unref($t)('settings.disdiSettingsTab.metadataSettings.metaInvisibleTime')) + \" \" + _toDisplayString(_unref($t)('global.units.days')), 1),\n _createElementVNode(\"div\", _hoisted_24, [\n _withDirectives(_createElementVNode(\"input\", {\n min: \"0\",\n max: \"365\",\n step: \"1\",\n onInput: _cache[5] || (_cache[5] = ($event: any) => (settings.value.metaInvisibleTime = checkInputBounds($event))),\n class: \"w-full\",\n type: \"number\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((settings.value.metaInvisibleTime) = $event))\n }, null, 544), [\n [_vModelText, settings.value.metaInvisibleTime]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_25, _toDisplayString(_unref($t)('settings.disdiSettingsTab.metadataSettings.metaInvisible')) + \" \" + _toDisplayString(_unref($t)('global.units.days')), 1),\n _createElementVNode(\"div\", _hoisted_26, [\n _withDirectives(_createElementVNode(\"input\", {\n min: \"0\",\n max: \"365\",\n step: \"1\",\n onInput: _cache[7] || (_cache[7] = ($event: any) => (settings.value.metaInvisible = checkInputBounds($event))),\n class: \"w-full\",\n type: \"number\",\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((settings.value.metaInvisible) = $event))\n }, null, 544), [\n [_vModelText, settings.value.metaInvisible]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_27, _toDisplayString(_unref($t)('settings.disdiSettingsTab.metadataSettings.metaDeleteAll')) + \" \" + _toDisplayString(_unref($t)('global.units.days')), 1),\n _createElementVNode(\"div\", _hoisted_28, [\n _withDirectives(_createElementVNode(\"input\", {\n min: \"0\",\n max: \"365\",\n step: \"1\",\n onInput: _cache[9] || (_cache[9] = ($event: any) => (settings.value.metaDeleteAll = checkInputBounds($event))),\n class: \"w-full\",\n type: \"number\",\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = ($event: any) => ((settings.value.metaDeleteAll) = $event))\n }, null, 544), [\n [_vModelText, settings.value.metaDeleteAll]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h4\", _hoisted_29, _toDisplayString(_unref($t)('settings.disdiSettingsTab.disdiAppSettings.title')), 1),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_30, _toDisplayString(_unref($t)('settings.disdiSettingsTab.disdiAppSettings.useGalleryInApp')), 1),\n _createElementVNode(\"div\", _hoisted_31, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = ($event: any) => ((settings.value.useGallery) = $event)),\n name: \"useGallery\"\n }, null, 512), [\n [_vModelCheckbox, settings.value.useGallery]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_32, _toDisplayString(_unref($t)('settings.disdiSettingsTab.disdiAppSettings.showInAppNr')) + \" \" + _toDisplayString(_unref($t)('global.units.days')), 1),\n _createElementVNode(\"div\", _hoisted_33, [\n _withDirectives(_createElementVNode(\"input\", {\n min: \"0\",\n max: \"50\",\n step: \"1\",\n onInput: _cache[12] || (_cache[12] = ($event: any) => (settings.value.showInAppNr = checkInputBounds($event))),\n class: \"w-full\",\n type: \"number\",\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = ($event: any) => ((settings.value.showInAppNr) = $event))\n }, null, 544), [\n [_vModelText, settings.value.showInAppNr]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_34, _toDisplayString(_unref($t)('settings.disdiSettingsTab.disdiAppSettings.showInAppDays')) + \" \" + _toDisplayString(_unref($t)('global.units.days')), 1),\n _createElementVNode(\"div\", _hoisted_35, [\n _withDirectives(_createElementVNode(\"input\", {\n min: \"0\",\n max: \"365\",\n onInput: _cache[14] || (_cache[14] = ($event: any) => (settings.value.showInAppDays = checkInputBounds($event))),\n step: \"1\",\n class: \"w-full\",\n type: \"number\",\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = ($event: any) => ((settings.value.showInAppDays) = $event))\n }, null, 544), [\n [_vModelText, settings.value.showInAppDays]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"button\", {\n disabled: loadingConfirm.value,\n class: \"primary ml-auto\",\n onClick: updateDisdiSettings\n }, [\n _createVNode(_unref(TextOrSpinner), {\n text: _unref($t)('global.save'),\n spin: loadingConfirm.value\n }, null, 8, [\"text\", \"spin\"])\n ], 8, _hoisted_37)\n ])\n ])\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_38, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./DisdiSettingsTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DisdiSettingsTab.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n\n","import script from \"./Settings.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { MinimalLocationInfo } from \"@/models/location/MinimalLocationInfo\";\n\nexport class RegionInfo {\n id:number = -1;\n name:string = \"\";\n syncId:string = \"\";\n locations:Array = [];\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\nconst _hoisted_3 = { class: \"block w-full\" }\nconst _hoisted_4 = { class: \"flex mb-4\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"disabled\", \"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"ml-auto\" }\nconst _hoisted_12 = { class: \"text-center\" }\n\nimport { onBeforeUnmount, onMounted, reactive, ref } from \"vue\";\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Menu, Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport { $t } from \"@/utilities/i18n/config\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport dialog from \"@/dialog\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport { GeneralResponse } from \"@/models/api/Responses\";\nimport Error from \"@/components/Error\";\nimport { RegionInfo } from \"@/models/group1/RegionInfo\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {Group1Service} from \"@/utilities/services/entities/Group1Service\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Group1',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\nconst group1Service = new Group1Service();\nconst permissionService = new PermissionService();\n\nlet selectedRegions = ref([]);\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedRegions.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t('global.delete'))\n .cancelText(t('global.cancel'))\n .confirm(t('regions.confirmDeletionMulti', {count:selectedRegions.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const region of selectedRegions.value){\n const resp = await group1Service.deleteRegion(region.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:region.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n relayStoreEvents: true,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n columns : {\n data: [\n { id:'id', field: 'id', text: t('regions.grid.id'), width: 36, },\n { id:'name', field: 'name', text: t('regions.grid.name'), flex: 1, },\n {\n id:'syncId',\n field: 'syncId',\n text: t('regions.grid.syncId'),\n flex: 1,\n type: \"template\",\n template: ({ record }) => {\n\t\t\t\treturn StringHelper.xss`${record.data.syncId ?? \"\"}`;\n },\n },\n {\n id:'locations',\n field: 'locations',\n text: '',\n\t\t\tsortable: false,\n width : 36,\n type: \"template\",\n template: ({ record }) => {\n\t\t\t\tif(record.data.locations.length > 0)\n\t\t\t\t\treturn `
    `;\n\t\t\t\treturn\n\t\t\t},\n },\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.group1], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedRegions.value = selectedRegions.value.concat(event.selected.map(rr => rr.data))\n selectedRegions.value = selectedRegions.value.filter(r => !event.deselected.map(rr => rr.data).some(rr => r?.id === rr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n cellClick({column, record}) {\n if (column.data.field === 'locations' && record.data.locations.length > 0) {\n globalStore.openPopup({\n data: record.data,\n action: globalStore.closeModal,\n title: \"Standorte\",\n type: PopupType.group2Locations\n });\n }\n },\n },\n height: currentWindowHeight,\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t('global.edit'),\n cls: 'color',\n icon: 'icon-editieren',\n\t\t\t\thidden: !permissionService.userHasPermission(\"Region.Edit\"),\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data:menu.record,\n action:addOrUpdateRegion,\n resetButton:false,\n title:$t(\"popups.regionEditor.title.edit\"),\n type:PopupType.regionEditor\n });\n }\n },\n {\n text : t('global.delete'),\n\t\t\t\thidden: !permissionService.userHasPermission(\"Region.Delete\"),\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t('global.delete'))\n .cancelText(t('global.cancel'))\n .confirm(t('regions.confirmDeletionSingle', {name:menu.record.name}));\n\n if (answer) {\n const resp = await group1Service.deleteRegion(menu.record.id);\n\n if (resp === null || resp === undefined || resp?.statusCode !== 0) {\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed: [{id: menu.record.id}]});\n\n globalStore.showSuccess($t('regions.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst newRegion = () => {\n const region = new RegionInfo();\n\n globalStore.openPopup({\n data: region,\n action: addOrUpdateRegion,\n resetButton: false,\n title: $t(\"popups.regionEditor.title.new\"),\n type: PopupType.regionEditor\n });\n}\n\nconst addOrUpdateRegion = async () => {\n const region = globalStore.modal.contentObject;\n\n // dont send empty string as syncId (gets set automatically since input is bound to this prop)\n if (region.syncId === \"\") region.syncId = undefined;\n\n const regionResp = await group1Service.addOrUpdateRegion(region);\n if (regionResp === null || regionResp === undefined || regionResp.statusCode !== 0){\n ErrorHandler.handleError(regionResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n if(region.id < 0) region.id = regionResp.id;\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedRegions.value.some(el => el.id === region.id)) {\n selectedRegions.value = selectedRegions.value.filter(el => el.id !== region.id);\n selectedRegions.value.push(region);\n }\n\n gridStore.add(region);\n gridStore.sort(gridStore.sorters);\n\n globalStore.closeModal();\n globalStore.showSuccess('Gespeichert');\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const regionsResp = await group1Service.getRegions(\"display\");\n\n if (regionsResp === null || regionsResp === undefined || regionsResp.statusCode !== 0) {\n ErrorHandler.handleError(regionsResp, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(regionsResp.regionInfo);\n\n globalStore.reorderColumns(TableType[TableType.group1]);\n\n globalStore.closeModal();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)(\"regions.title\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newRegion,\n title: _unref(t)('regions.new')\n }, _hoisted_7, 8, _hoisted_5)), [\n [_directive_permission, 'Region.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedRegions).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_10, 8, _hoisted_8)), [\n [_directive_permission, 'Region.Delete']\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_12, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ], 64))\n}\n}\n\n})","import script from \"./Group1.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Group1.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export default function getBrowserLocale(options = {}) {\n const defaultOptions = { countryCodeOnly: false }\n\n const opt = { ...defaultOptions, ...options }\n\n const navigatorLocale =\n navigator.languages !== undefined\n ? navigator.languages[0]\n : navigator.language\n\n if (!navigatorLocale) {\n return undefined\n }\n\n const trimmedLocale = opt.countryCodeOnly\n ? navigatorLocale.trim().split(/-|_/)[0]\n : navigatorLocale.trim()\n\n return trimmedLocale\n}\n","export class UserPreference {\n tableName:string = \"\";\n attributeName:string = \"\";\n attributeValue:string = \"\";\n}","class PolicyHelper{\n public getPolicyFromRoute(route:string):string{\n // special case for providerDetails/companyWorkers & disdi:\n if (route.match(/\\/providermanagement\\/:?\\w+/gm)?.some(()=>true)) return \"ProviderManagementPolicy.CompanyWorker.Navigation.Show\";\n if (route.match(/\\/disdi\\/\\w+\\/\\w+/gm)?.some(()=>true)) return \"Disdi.Read\";\n\n switch(route){\n case \"/locationRegistration\":\n case \"/locationRegistration/\":\n return \"LocationReport.Navigation.Show\";\n case \"/locationManagement\":\n case \"/locationManagement/\":\n return \"LocationManagement.Navigation.Show\";\n case \"/registrationReports\":\n case \"/registrationReports/\":\n return \"RegistrationReport.Navigation.Show\";\n case \"/anabmeldung\":\n case \"/anabmeldung/\":\n return \"Registartion.Manual\";\n case \"/safetyInstructions\":\n case \"/safetyInstructions/\":\n return \"SafetyInstruction.Navigation.Show\";\n case \"/users\":\n case \"/users/\":\n return \"UserAdministrator.User.Navigation.Show\";\n case \"/controlCenter\":\n case \"/controlCenter/\":\n return \"ControlCenter.Navigation.Show\";\n case \"/settings\":\n case \"/settings/\":\n return \"Setting.Navigation.Show\";\n case \"/group1\":\n case \"/group1/\":\n return \"Region.Navigation.Show\";\n case \"/group2\":\n case \"/group2/\":\n return \"Region.Navigation.Show\";\n case \"/activity\":\n case \"/activity/\":\n return \"ActivitySets.Show\";\n case \"/providermanagement\":\n case \"/providermanagement/\":\n return \"ProviderManagementPolicy.Read\";\n case \"/notifications\":\n case \"/notifications/\":\n return \"Notification.Navigation.Show\";\n case \"/category\":\n case \"/category/\":\n return \"Category.Read\";\n default:\n return \"\";\n }\n }\n}\n\nexport default new PolicyHelper();\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"contentBox\"\n}\nconst _hoisted_3 = { class: \"block w-full\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_5 = { class: \"grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_6 = { class: \"inputTitle\" }\nconst _hoisted_7 = { class: \"inputField flex-grow\" }\nconst _hoisted_8 = { class: \"inputTitle\" }\nconst _hoisted_9 = { class: \"inputField flex-grow\" }\nconst _hoisted_10 = { class: \"inputTitle\" }\nconst _hoisted_11 = { class: \"inputField flex-grow\" }\nconst _hoisted_12 = { class: \"inputTitle\" }\nconst _hoisted_13 = { class: \"inputField flex-grow\" }\nconst _hoisted_14 = { class: \"inputTitle\" }\nconst _hoisted_15 = { class: \"inputField flex-grow\" }\nconst _hoisted_16 = { class: \"inputTitle\" }\nconst _hoisted_17 = { class: \"inputField flex-grow\" }\nconst _hoisted_18 = { class: \"contentBox\" }\nconst _hoisted_19 = { class: \"block w-full\" }\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_21 = { class: \"grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_22 = { class: \"inputTitle\" }\nconst _hoisted_23 = { class: \"inputField flex-grow\" }\nconst _hoisted_24 = [\"value\"]\nconst _hoisted_25 = { class: \"inputTitle\" }\nconst _hoisted_26 = { class: \"inputField flex-grow\" }\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"option\", { value: \"de\" }, \"Deutsch\", -1)\nconst _hoisted_28 = /*#__PURE__*/_createElementVNode(\"option\", { value: \"en\" }, \"Englisch\", -1)\nconst _hoisted_29 = [\n _hoisted_27,\n _hoisted_28\n]\nconst _hoisted_30 = { class: \"contentBox\" }\nconst _hoisted_31 = { class: \"block w-full\" }\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_33 = { class: \"grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_34 = { class: \"inputTitle\" }\nconst _hoisted_35 = { class: \"inputField flex-grow\" }\nconst _hoisted_36 = [\"disabled\"]\nconst _hoisted_37 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_38 = { class: \"error-msg\" }\nconst _hoisted_39 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_40 = { class: \"inputTitle\" }\nconst _hoisted_41 = { class: \"inputField flex-grow\" }\nconst _hoisted_42 = [\"disabled\"]\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_44 = { class: \"error-msg\" }\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_46 = { class: \"inputTitle\" }\nconst _hoisted_47 = { class: \"inputField flex-grow\" }\nconst _hoisted_48 = [\"disabled\"]\nconst _hoisted_49 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_50 = { class: \"error-msg\" }\nconst _hoisted_51 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_52 = [\"disabled\"]\nconst _hoisted_53 = { class: \"smallText mt-4\" }\nconst _hoisted_54 = { class: \"pl-4 pt-4\" }\nconst _hoisted_55 = [\"innerHTML\"]\nconst _hoisted_56 = { class: \"contentBox\" }\nconst _hoisted_57 = { class: \"block w-full\" }\nconst _hoisted_58 = { class: \"grid grid-cols-2 gap-4 w-full\" }\n\nimport {useGlobalStore} from '@/stores/GlobalStore'\nimport getBrowserLocale from '@/utilities/helpers/GetBrowserLanguage'\nimport {ErrorLocationType, PreferenceType} from '@/utilities/enums/Enums';\nimport Text from \"@/components/inputs/Text\";\nimport {helpers, minLength, required, sameAs} from '@vuelidate/validators';\nimport useVuelidate from '@vuelidate/core';\nimport {computed, onMounted, reactive, Ref, ref} from \"vue\";\nimport {$t, i18n} from \"@/utilities/i18n/config\";\nimport Error from \"@/components/Error\";\nimport moment from 'moment';\nimport router from '@/router';\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {UserPreference} from \"@/models/user/UserPreference\";\nimport {forbiddenStartupRouteNames} from \"@/AppConfig\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport PolicyHelper from \"@/utilities/helpers/PolicyHelper\";\nimport {RouteRecordNormalized} from \"vue-router\";\nimport {AccountService} from \"@/utilities/services/entities/AccountService\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\nimport {useI18n} from \"vue-i18n\";\nimport TextOrSpinner from \"@/components/TextOrSpinner.vue\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Account',\n setup(__props) {\n\nconst { t } = useI18n();\nconst globalStore = useGlobalStore();\nconst accountService = new AccountService();\nconst userService = new UserService();\nconst permissionService = new PermissionService();\n\nlet showChangePasswordError = ref(false);\nlet changePasswordError = ref(null);\nconst loading:Ref = ref(false);\nconst availableRoutes:Ref = ref([]);\n\nconst passwordChangedMoment = computed(()=>{\n return moment(globalStore.user?.lastPasswordChange).format('DD.MM.YYYY HH:mm') ?? \"\"\n})\n\nconst form = reactive({\n oldPassword: '',\n newPassword: '',\n confirmPassword: '',\n})\nconst newPasswordRules = computed(() => {\n\n\tconst hasNoneAlphaNum = helpers.regex(/\\W/);\n\tconst hasNumber = helpers.regex(/\\d/);\n\tconst hasUppercaseLetter = helpers.regex(/[A-Z]/);\n\tconst hasLowercaseLetter = helpers.regex(/[a-z]/);\n\n return {\n oldPassword: { required: helpers.withMessage($t('validators.required'), required), },\n newPassword: {\n\t\t\trequired: helpers.withMessage(t('validators.required'), required),\n\t\t\tminLength: helpers.withMessage(t('validators.minLength', {amount: 8}), minLength(8)),\n\t\t\thasNoneAlphaNum: helpers.withMessage(t('validators.hasNoneAlphaNum'), hasNoneAlphaNum),\n\t\t\thasNumber: helpers.withMessage(t('validators.hasNumber'), hasNumber),\n\t\t\thasUppercaseLetter: helpers.withMessage(t('validators.hasUppercaseLetter'), hasUppercaseLetter),\n\t\t\thasLowercaseLetter: helpers.withMessage(t('validators.hasLowercaseLetter'), hasLowercaseLetter),\n\t\t},\n confirmPassword: {\n required: helpers.withMessage($t('validators.required'), required),\n sameAsPassword: helpers.withMessage($t('validators.sameAs'), sameAs(form.newPassword)),\n },\n }\n})\nconst v$ = useVuelidate(newPasswordRules, form);\n\n\nconst changeUserStartPage = async({target}:any)=>{\n globalStore.userPreferences.general.userStartPage = target.value;\n\n await updateGeneralPreferences();\n\n globalStore.showSuccess($t('settings.startPageSaved'));\n}\n\nconst changeUserLocale = async({target}:any)=>{\n globalStore.userPreferences.general.userLocale = target.value;\n i18n.global.locale.value = target.value;\n\n await updateGeneralPreferences();\n\n globalStore.showSuccess($t('settings.languageSaved'));\n}\n\nconst updateGeneralPreferences = async ()=>{\n const prefList = [];\n\n // go through general prefs in globalStore and use reflection to fill array with UserPreference objects\n for (const keyValueArray of Object.entries(globalStore.userPreferences.general)){\n // skip darkMode if it is set to FALSE to make automatism in Login.vue work\n if(keyValueArray[0] === \"darkMode\" && !keyValueArray[1]) continue;\n\n let converted = new UserPreference();\n converted.attributeName = keyValueArray[0];\n // @ts-expect-error\n converted.attributeValue = keyValueArray[1];\n\n prefList.push(converted);\n }\n\n // @ts-expect-error\n const preferenceUpdateResp = await userService.setUserPreferences(globalStore.user.id, PreferenceType.general, \"\", false, prefList);\n if (preferenceUpdateResp === null || preferenceUpdateResp === undefined || preferenceUpdateResp.statusCode !== 0){\n ErrorHandler.handleError(preferenceUpdateResp , ErrorLocationType.form);\n return;\n }\n}\n\nconst isValidStartUpPage = (route:any) => {\n return !forbiddenStartupRouteNames.includes(route.name);\n}\n\nconst isPermittedForRoute = (route:any) => {\n if(route.name === \"Account\") return true;\n const permissionString = PolicyHelper.getPolicyFromRoute(route.path);\n return permissionService.userHasPermission(permissionString);\n}\n\nonMounted(async ()=>{\n availableRoutes.value = router.getRoutes()\n .filter(or => isValidStartUpPage(or))\n .filter(r => isPermittedForRoute(r))\n})\n\nconst logoutUser = async () =>{\n const resp = await accountService.logout();\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n globalStore.user = null;\n globalStore.token = \"\";\n\n globalStore.resetState();\n\n await router.push(\"/logout\");\n};\n\nconst updateUserInGlobalStore = async ()=>{\n const user = await userService.getUserById(globalStore.user.id, ErrorLocationType.login);\n if(NullOrUndefinedHelper(user)) return;\n\n globalStore.setUser(user);\n}\n\nconst resetPassword = async () => {\n loading.value = true;\n showChangePasswordError.value = false;\n\n const isFormCorrect = await v$.value.$validate()\n if (!isFormCorrect) {\n // VALIDATOR ERROR\n loading.value = false;\n return\n }\n\n // @ts-expect-error\n const resp = await accountService.changePassword(globalStore.user.id, form.oldPassword, form.newPassword, form.confirmPassword);\n\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n // @ts-expect-error\n changePasswordError.value = resp;\n showChangePasswordError.value = true;\n\n // @ts-expect-error\n globalStore.error.type = \"error\";\n globalStore.error.text = resp?.statusDescription;\n // @ts-expect-error\n globalStore.error.code = resp?.statusCode;\n globalStore.error.location = ErrorLocationType.form;\n\n loading.value = false;\n return;\n }\n\n else {\n // Password changed\n globalStore.showSuccess($t('account.passwordReset'));\n loading.value = false;\n form.oldPassword = \"\";\n form.newPassword = \"\";\n form.confirmPassword = \"\";\n v$.value.$reset();\n\n await updateUserInGlobalStore();\n }\n}\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('account.myAccount')), 1)\n ]),\n (_unref(globalStore).user != null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('account.user')), 1),\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref($t)('account.firstName')), 1),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_unref(Text), {\n modelValue: _unref(globalStore).user.firstName,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(globalStore).user.firstName) = $event)),\n disabled: \"disabled\"\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(_unref($t)('account.lastName')), 1),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_unref(Text), {\n modelValue: _unref(globalStore).user.lastName,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(globalStore).user.lastName) = $event)),\n disabled: \"disabled\"\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_unref($t)('account.email')), 1),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_unref(Text), {\n modelValue: _unref(globalStore).user.email,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(globalStore).user.email) = $event)),\n disabled: \"disabled\"\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_12, _toDisplayString(_unref($t)('account.username')), 1),\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_unref(Text), {\n modelValue: _unref(globalStore).user.email,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(globalStore).user.email) = $event)),\n disabled: \"disabled\"\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_14, _toDisplayString(_unref($t)('account.roles')), 1),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(_unref(Text), {\n modelValue: _unref(globalStore).user.roles,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(globalStore).user.roles) = $event)),\n disabled: \"disabled\"\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_unref($t)('account.kid')), 1),\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(_unref(Text), {\n modelValue: _unref(globalStore).user.kid,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(globalStore).user.kid) = $event)),\n disabled: \"disabled\"\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('account.settings')), 1),\n _hoisted_20,\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString(_unref($t)('account.startpage')), 1),\n _createElementVNode(\"div\", _hoisted_23, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(globalStore).userPreferences.general.userStartPage) = $event)),\n onChange: changeUserStartPage\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(availableRoutes.value, ({path, name}) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: path,\n key: path\n }, _toDisplayString(_unref($t)(`sidebar.${name}`)), 9, _hoisted_24))\n }), 128))\n ], 544), [\n [_vModelSelect, _unref(globalStore).userPreferences.general.userStartPage]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_25, _toDisplayString(_unref($t)('account.language')) + \" (\" + _toDisplayString(_unref($t)('account.browserLanguage')) + \": \" + _toDisplayString(_unref(getBrowserLocale)()) + \" (\" + _toDisplayString(_unref(getBrowserLocale)({ countryCodeOnly: true })) + \")) \", 1),\n _createElementVNode(\"div\", _hoisted_26, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(globalStore).userPreferences.general.userLocale) = $event)),\n onChange: changeUserLocale\n }, _hoisted_29, 544), [\n [_vModelSelect, _unref(globalStore).userPreferences.general.userLocale]\n ])\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('account.passwordTitle')), 1),\n _hoisted_32,\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_34, _toDisplayString(_unref($t)('account.passwordCurrent')), 1),\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: _unref(v$).oldPassword.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n disabled: loading.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((form.oldPassword) = $event)),\n class: \"form-control w-full\",\n type: \"password\",\n placeholder: \"Passwort*\",\n autocomplete: \"old-password\",\n required: \"\"\n }, null, 8, _hoisted_36), [\n [_vModelText, form.oldPassword]\n ]),\n _hoisted_37,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(v$).oldPassword.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_38, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ]),\n _hoisted_39,\n _createElementVNode(\"div\", _hoisted_40, _toDisplayString(_unref($t)('account.passwordNew')), 1),\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: _unref(v$).newPassword.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n disabled: loading.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = ($event: any) => ((form.newPassword) = $event)),\n class: \"form-control w-full\",\n type: \"password\",\n placeholder: \"Neues Passwort*\",\n autocomplete: \"new-password\",\n required: \"\"\n }, null, 8, _hoisted_42), [\n [_vModelText, form.newPassword]\n ]),\n _hoisted_43,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(v$).newPassword.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_44, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ]),\n _hoisted_45,\n _createElementVNode(\"div\", _hoisted_46, _toDisplayString(_unref($t)('account.passwordRepeat')), 1),\n _createElementVNode(\"div\", _hoisted_47, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: _unref(v$).confirmPassword.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n disabled: loading.value,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = ($event: any) => ((form.confirmPassword) = $event)),\n class: \"form-control w-full\",\n type: \"password\",\n placeholder: \"Neues Passwort*\",\n autocomplete: \"new-password\",\n required: \"\"\n }, null, 8, _hoisted_48), [\n [_vModelText, form.confirmPassword]\n ]),\n _hoisted_49,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(v$).confirmPassword.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_50, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ]),\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).form,\n class: \"mt-4\"\n }, null, 8, [\"errorLoc\"]),\n _hoisted_51,\n _createElementVNode(\"button\", {\n disabled: loading.value,\n onClick: resetPassword,\n class: _normalizeClass([\"btn\", loading.value ? 'disabled' : 'primary'])\n }, [\n _createVNode(TextOrSpinner, {\n text: _unref($t)('account.passwordResetButton'),\n spin: loading.value\n }, null, 8, [\"text\", \"spin\"])\n ], 10, _hoisted_52),\n _createElementVNode(\"div\", _hoisted_53, _toDisplayString(_unref($t)('account.lastPasswordChangeText')) + \": \" + _toDisplayString(_unref(passwordChangedMoment)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_54, [\n _createElementVNode(\"div\", {\n innerHTML: _unref($t)('login.tabs.changePassword.newPasswordDescription')\n }, null, 8, _hoisted_55)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_56, [\n _createElementVNode(\"div\", _hoisted_57, [\n _createElementVNode(\"div\", _hoisted_58, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"button\", {\n class: \"btn primary\",\n onClick: logoutUser\n }, _toDisplayString(_unref($t)('account.logout')), 1)\n ])\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Account.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Account.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import {globalProps} from '@/main';\nimport {CoupledSafetyInstructionActionType, ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {SafetyInstructionService} from \"@/utilities/services/entities/SafetyInstructionService\";\n\n/*\n this class holds & offers all the backend functions that can be run by the frontend via SignalR\n*/\nclass SignalRSender {\n public async actOnCoupledSecurityInstruction(id:number, decision:CoupledSafetyInstructionActionType){\n const connection = globalProps.signalRConnection;\n const safetyInstructionService = new SafetyInstructionService();\n\n let resp = undefined;\n switch (decision) {\n case CoupledSafetyInstructionActionType.accept:\n resp = await safetyInstructionService.AcceptCoupledSafetyInstruction(id);\n break;\n case CoupledSafetyInstructionActionType.decline:\n resp = await safetyInstructionService.deleteSafetyInstruction(id);\n break;\n default:\n return;\n }\n\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n console.log(`signalR is ${connection.state} with ${connection.baseUrl}`)\n connection.send(\"discardNotification\", id);\n }\n\n public discardNotification(id:number){\n const connection = globalProps.signalRConnection;\n\n console.log(`signalR is ${connection.state} with ${connection.baseUrl}`)\n connection.send(\"discardNotification\", id);\n }\n}\n\nexport default new SignalRSender();","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, createVNode as _createVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-81f2d22a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\nconst _hoisted_3 = { class: \"inputField flex-grow\" }\nconst _hoisted_4 = { class: \"float-left\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = { class: \"float-right\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"clear-both\" }, null, -1))\n\nimport { useGlobalStore } from '@/stores/GlobalStore'\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Menu, Store} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport {useI18n} from \"vue-i18n\";\nimport moment from 'moment';\nimport {CoupledSafetyInstructionActionType, ErrorLocationType, TableType} from \"@/utilities/enums/Enums\";\nimport dialog from \"@/dialog\";\nimport SignalRSender from \"@/utilities/signalR/signalRSender\";\nimport {checkboxColumnConfig} from \"@/AppConfig\";\nimport {HubNotification} from \"@/models/HubNotification\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {MiscService} from \"@/utilities/services/entities/MiscService\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Notifications',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\n\nconst miscService = new MiscService();\n\nconst selectedNotifs = ref>([]);\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedNotifs.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t('global.delete'))\n .cancelText(t('global.cancel'))\n .confirm(t('notifications.confirmDeletionMulti', {count:selectedNotifs.value.length}));\n\n if (answer) {\n try {\n for (const notif of selectedNotifs.value) {\n if (!hasNoSafetyInstruction(notif)) {\n // CAUTION changed from declined to accept to simplyfy and clarify work flwo and seperate SHs from Notifications\n await SignalRSender.actOnCoupledSecurityInstruction(notif.id, CoupledSafetyInstructionActionType.accept)\n } else {\n SignalRSender.discardNotification(notif.id)\n }\n\n globalStore.notifications = globalStore.notifications.filter(n => n.id !== notif.id);\n gridStore.applyChangeset({removed:[{id:notif.id}]});\n }\n }\n catch (e) {\n console.log(\"notif removal failed:\", e)\n }\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n relayStoreEvents: true,\n autoHeight : true,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n columns : {\n data: [\n {\n id:'notificationText',\n field : 'notificationText',\n text: t('notifications.text'),\n flex : 1,\n sortable: false,\n autoHeight: true,\n htmlEncode : false,\n renderer({ record }) {\n\t\t\t\t\treturn record.data.text;\n },\n },\n {\n id:'type',\n field : 'type',\n text: t('notifications.type'),\n width : 120,\n sortable: true,\n type: 'template',\n template: ({ record }) => {\n return \"
    \"+record.data.type+\"
    \";\n },\n },\n {\n id:'date',\n field : 'date',\n text: t('notifications.date'),\n width: 200,\n sortable: true,\n type: 'template',\n template: ({ record }) => {\n return moment(record.data.date).format('DD.MM.YYYY HH:mm');\n },\n },\n\t\t\t{\n\t\t\t\tid: 'infoButton',\n\t\t\t\tfield: 'infoButton',\n\t\t\t\ttext: \"\",\n\t\t\t\twidth: 50,\n\t\t\t\tminWidth: 50,\n\t\t\t\tsortable: false,\n\t\t\t\ttype: \"template\",\n\t\t\t\ttemplate: ({record}) => {\n\t\t\t\t\tif (record.data.safetyInstruction !== null) {\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n {\n id:'menu',\n text : '',\n width : 36,\n type : 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [\n {\n type : 'button',\n width: 36,\n icon : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }\n ]\n }\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.notification], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedNotifs.value = selectedNotifs.value.concat(event.selected.map(nr => nr.data))\n selectedNotifs.value = selectedNotifs.value.filter(n => !event.deselected.map(nr => nr.data).some(nr => n?.id === nr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n async cellClick({column, record}) {\n\n if (column.data.field === 'infoButton') {\n\n if(!hasNoSafetyInstruction(record.data)) {\n try {\n const locationNames = record.data.safetyInstruction.safetyInstructionLocations\n .map(l => l.name)\n .join(\", \");\n\n const answer = await dialog\n .okText(t(\"notifications.applySafetyInstruction\"))\n .cancelText(t(\"global.cancel\"))\n .title(t(\"notifications.promptInformationTitle\", {locationNames: locationNames}))\n .hint(t(\"notifications.promptInformationHint\"))\n .confirm(t(\"notifications.promptInformationBody\", {name: record.data.safetyInstruction.name, text: record.data.safetyInstruction.text}));\n\n if (answer) {\n await SignalRSender.actOnCoupledSecurityInstruction(record.data.id, CoupledSafetyInstructionActionType.accept);\n }\n }\n catch (e:any) {\n console.log(\"reading safetyInstruction from Hub message failed:\", e);\n }\n }\n }\n },\n },\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst hasNoSafetyInstruction = (record) => {\n return record.safetyInstruction === null || record.safetyInstruction === undefined;\n}\n\nconst menuFactory = (record) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items : [\n {\n text : t('notifications.showDetails'),\n cls : '',\n hidden: hasNoSafetyInstruction(record),\n onItem : async () => {\n if(hasNoSafetyInstruction(menu.record)) return;\n\n const locationNames = menu.record.safetyInstruction.safetyInstructionLocations\n .map(l => l.name)\n .join(\", \");\n\n const answer = await dialog\n .okText(t(\"notifications.applySafetyInstruction\"))\n .cancelText(t(\"global.cancel\"))\n .title(t(\"notifications.promptInformationTitle\", {locationNames: locationNames}))\n .hint(t(\"notifications.promptInformationHint\"))\n .confirm(t(\"notifications.promptInformationBody\", {name: menu.record.safetyInstruction.name, text: menu.record.safetyInstruction.text}));\n\n if (answer) {\n await SignalRSender.actOnCoupledSecurityInstruction(record.data.id, CoupledSafetyInstructionActionType.accept);\n }\n },\n weight : 200\n },\n {\n text : t('global.delete'),\n cls : '',\n onItem : async () => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"notifications.confirmDeletionSingle\"));\n\n if (answer) {\n if(!hasNoSafetyInstruction(record)){\n // CAUTION changed from declined to accept to simplyfy and clarify work flwo and seperate SHs from Notifications\n await SignalRSender.actOnCoupledSecurityInstruction(menu.record.id, CoupledSafetyInstructionActionType.accept)\n }\n else {\n SignalRSender.discardNotification(menu.record.id)\n }\n\n //globalStore.notifications = globalStore.notifications.filter(n => n.id !== menu.record.id);\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('global.deleted'));\n }\n },\n weight : 200\n }\n ]})\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst setGridData = async ()=>{\n //get current backend notifs\n const notifResp = await miscService.getHubNotifications();\n if(notifResp === null || notifResp === undefined || notifResp?.statusCode !== 0){\n ErrorHandler.handleError(notifResp, ErrorLocationType.table);\n\n return;\n }\n\n // update globalStore with resp\n globalStore.notifications = notifResp.notifications;\n gridStore.setStoreData(globalStore.notifications);\n\n globalStore.reorderColumns(TableType[TableType.notification]);\n}\n\nonMounted(async () => {\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.$t('notifications.headline')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"primary mr-2\",\n disabled: !selectedNotifs.value.some(()=>true),\n onClick: deleteSelection\n }, _hoisted_7, 8, _hoisted_5)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ]),\n _hoisted_9,\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Notifications.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Notifications.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Notifications.vue?vue&type=style&index=0&id=81f2d22a&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-81f2d22a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"errorpage\",\n class: \"w-full h-full\"\n}\nconst _hoisted_2 = { class: \"flex flex-col h-full justify-center items-center\" }\nconst _hoisted_3 = { class: \"description text-center\" }\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = [\"href\", \"onClick\"]\nconst _hoisted_8 = { key: 1 }\nconst _hoisted_9 = [\"onClick\"]\n\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'PageNotFound',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\n\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_ctx.$t(\"404.headline\")), 1),\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t(\"404.subline\")), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", {\n innerHTML: _ctx.$t('404.description')\n }, null, 8, _hoisted_4),\n _hoisted_5,\n (_unref(globalStore).userPreferences.userStartPage != null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n to: _unref(globalStore).userPreferences.userStartPage\n }, {\n default: _withCtx(({href, route, navigate}) => [\n _createElementVNode(\"button\", {\n href: href,\n onClick: navigate,\n class: \"btn primary\"\n }, _toDisplayString(_ctx.$t(\"404.buttonText\")) + \" (\" + _toDisplayString(route.name) + \") \", 9, _hoisted_7)\n ]),\n _: 1\n }, 8, [\"to\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createVNode(_component_router_link, { to: \"/login\" }, {\n default: _withCtx(({navigate}) => [\n _createElementVNode(\"button\", {\n onClick: navigate,\n class: \"btn primary\"\n }, _toDisplayString(_ctx.$t(\"404.buttonLogin\")), 9, _hoisted_9)\n ]),\n _: 1\n })\n ]))\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./PageNotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PageNotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n\n","import { render } from \"./Error.vue?vue&type=template&id=69c029f9\"\nconst script = {}\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"errorpage\",\n class: \"w-full h-full\"\n}\nconst _hoisted_2 = { class: \"flex flex-col h-full justify-center items-center\" }\nconst _hoisted_3 = { class: \"mt-10\" }\n\nimport router from '@/router';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Logout',\n setup(__props) {\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_ctx.$t(\"logout.headline\")), 1),\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t(\"logout.subline\")), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"button\", {\n class: \"primary\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_unref(router).push('/login')))\n }, _toDisplayString(_ctx.$t(\"logout.buttonText\")), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Logout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Logout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n","import script from \"./Privacy.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Privacy.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"flex mb-4\" }\nconst _hoisted_3 = [\"title\"]\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = [\"disabled\", \"title\"]\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_8 = [\n _hoisted_7\n]\nconst _hoisted_9 = { class: \"ml-auto\" }\nconst _hoisted_10 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {Menu, Store} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter.vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport {$t} from \"@/utilities/i18n/config\";\nimport dialog from \"@/dialog\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport Error from \"@/components/Error.vue\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport {ActivityInfo} from \"@/models/activity/ActivityInfo\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {ActivityService} from \"@/utilities/services/entities/ActivityService\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ActivityTab',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nlet selectedActivities = ref([]);\n\nconst { t } = useI18n();\nconst activityService = new ActivityService();\nconst permissionService = new PermissionService();\n\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedActivities.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"activity.confirmDeletionMulti\", { count:selectedActivities.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const a of selectedActivities.value){\n const resp = await activityService.deleteActivity(a.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:a.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage-75}px`;\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n relayStoreEvents: true,\n headerMenuFeature: false,\n columns : {\n data: [\n { id: 'name', field: 'name', text: t('activity.grid.name'), flex: 1, },\n {\n id: 'categoryId',\n field: 'categoryId',\n text: t('activity.grid.category'),\n flex: 1,\n type:\"template\",\n template: ({ record }:any)=>{\n const category = record.data.categoryTitle;\n const iconSpan = ``;\n return NullOrUndefinedHelper(category) ? \"\" : `${category} (${iconSpan})`;\n }\n },\n {\n id: 'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.activity], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedActivities.value = selectedActivities.value.concat(event.selected.map(ar => ar.data))\n selectedActivities.value = selectedActivities.value.filter(a => !event.deselected.map(ar => ar.data).some(ar => a?.id === ar?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n },\n height: currentWindowHeight,\n}\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t(\"global.edit\"),\n cls: 'color',\n icon: 'icon-editieren',\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data:menu.record,\n action:addOrUpdateActivity,\n resetButton:false,\n title:$t(\"popups.activity.edit\"),\n type:PopupType.activityEditPopup\n });\n }\n },\n {\n text : t(\"global.delete\"),\n disabled: !permissionService.userHasPermission(\"ActivitySets.Show\"),\n hidden: false,\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"activity.confirmDeletionSingle\", {name: menu.record.name}));\n\n if (answer) {\n const resp = await activityService.deleteActivity(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('global.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\n\nconst gridConfig = reactive(useGridConfig);\n\nconst newActivity = () => {\n globalStore.openPopup({\n data: new ActivityInfo(),\n action: addOrUpdateActivity,\n resetButton: false,\n title: $t(\"popups.activity.new\"),\n type: PopupType.activityEditPopup\n });\n}\n\nconst addOrUpdateActivity = async () => {\n const activity = globalStore.modal.contentObject as ActivityInfo;\n\n const successOrId = await activityService.addOrUpdateActivity(activity, ErrorLocationType.popup);\n if(successOrId === false || successOrId === -1) return;\n\n if(activity.id < 0) activity.id = successOrId as number;\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedActivities.value.some(el => el.id === activity.id)) {\n selectedActivities.value = selectedActivities.value.filter(el => el.id !== activity.id);\n selectedActivities.value.push(activity);\n }\n\n gridStore.add(activity);\n gridStore.sort(gridStore.sorters);\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\nconst setGridData = async () =>{\n let activities = await activityService.getActivities(\"display\", ErrorLocationType.table);\n if(activities === null) return;\n\n // add searchable categoryString just for this view\n activities = activities?.map(a => {\n //@ts-expect-error\n a.categorySearchString = a.categoryTitle;\n return a;\n })\n\n gridStore.setStoreData(activities);\n\n globalStore.reorderColumns(TableType[TableType.activity]);\n}\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n globalStore.gridDataIsLoading = true;\n\n await setGridData();\n\n globalStore.gridDataIsLoading = false;\n\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(Error, {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n class: \"primary mr-2\",\n onClick: newActivity,\n title: _unref(t)('popups.activity.new')\n }, _hoisted_5, 8, _hoisted_3),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedActivities).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_8, 8, _hoisted_6)), [\n [_directive_permission, 'ActivitySets.Show']\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(GridInputFilter, {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_10, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./ActivityTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ActivityTab.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import {LocationIdAndNameObject} from \"@/models/location/LocationIdAndNameObject\";\nimport {ActivityInfo} from \"@/models/activity/ActivityInfo\";\n\nexport class ActivitySetInfo{\n activitySetId:number = -1;\n id:number = -1;\n name:string = \"\";\n activities:Array = [];\n activitySetLocationInfo:Array = []\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"flex mb-4\" }\nconst _hoisted_3 = [\"title\"]\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = [\"disabled\", \"title\"]\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_8 = [\n _hoisted_7\n]\nconst _hoisted_9 = { class: \"ml-auto\" }\nconst _hoisted_10 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {Menu, Store} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter.vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport {$t} from \"@/utilities/i18n/config\";\nimport dialog from \"@/dialog\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport Error from \"@/components/Error.vue\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport {ActivitySetInfo} from \"@/models/activity/ActivitySetInfo\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {ActivitySetService} from \"@/utilities/services/entities/ActivitySetService\";\nimport {ActivityService} from \"@/utilities/services/entities/ActivityService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ActivitySetTab',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nlet selectedActivity = ref([]);\nconst activitySetService = new ActivitySetService();\nconst activityService = new ActivityService();\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedActivity.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"activitySet.confirmDeletionMulti\", { count:selectedActivity.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const a of selectedActivity.value){\n const resp = await activitySetService.deleteActivitySet(a.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:a.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage-75}px`;\n};\n\nconst grid = ref(null);\nconst { t } = useI18n();\nconst useGridConfig = {\n relayStoreEvents: true,\n headerMenuFeature: false,\n columns : {\n data: [\n { id: 'name', field: 'name', text: t('activitySet.grid.name'), flex: 1, },\n {\n id: 'activitySetLocationInfo',\n field: 'activitySetLocationInfo',\n text: '',\n width : 36,\n\t\t\t\tsortable: false,\n type: 'template',\n template: ({ record }) => {\n\t\t\t\t\tif(record.data.activitySetLocationInfo.length > 0) {\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn ``;\n\t\t\t\t\t}\n },\n },\n {\n id: 'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.activitySet], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true,\n },\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedActivity.value = selectedActivity.value.concat(event.selected.map(ar => ar.data))\n selectedActivity.value = selectedActivity.value.filter(a => !event.deselected.map(ar => ar.data).some(ar => a?.id === ar?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n cellClick({column, record}) {\n if (column.data.field === 'activitySetLocationInfo' && record.data.activitySetLocationInfo.length > 0) {\n globalStore.openPopup({\n data: record.data,\n action: globalStore.closeModal,\n title: t('activitySet.grid.locations'),\n type: PopupType.activitySetLocationsPopup\n });\n }\n },\n },\n height: currentWindowHeight,\n}\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t(\"global.edit\"),\n cls: 'color',\n icon: 'icon-editieren',\n weight: 100,\n onItem : ({ menu }) => {\n // flat copy current locations since refs keep same arrays\n const n = [];\n for (const l of menu.record.activitySetLocationInfo) n.push(l)\n tmpLocs = n;\n // open editor\n globalStore.openPopup({\n data:menu.record,\n action:addOrUpdateActivitySet,\n resetButton:false,\n title:$t(\"popups.activitySet.edit\"),\n type:PopupType.activitySetEditPopup\n }, true);\n }\n },\n {\n text : t(\"global.delete\"),\n hidden: false,\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"activitySet.confirmDeletionSingle\", {name: menu.record.name}));\n\n if (answer) {\n const resp = await activitySetService.deleteActivitySet(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('global.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\n\nconst gridConfig = reactive(useGridConfig);\n\nconst newActivitySet = () => {\n globalStore.openPopup({\n data: new ActivitySetInfo(),\n action: addOrUpdateActivitySet,\n resetButton: false,\n title: $t(\"popups.activitySet.new\"),\n type: PopupType.activitySetEditPopup\n }, true);\n}\n\nlet tmpLocs:Array = [];\nconst computedAddedAndRemovedLocations = (newList:Array)=>{\n const oldList = tmpLocs;\n\n const addedLocs = newList.filter(l => oldList.find(lo => lo.locationId === l.locationId) === undefined).map(l=>l.locationId);\n const removedLocs = oldList.filter(l => newList.find(lo => lo.locationId === l.locationId) === undefined).map(l=>l.locationId);\n\n return {added:addedLocs, removed:removedLocs}\n}\n\nconst addOrUpdateActivitySet = async () => {\n const newActivitySet = globalStore.modal.contentObject as ActivitySetInfo;\n const addedAndRemovedLocations = computedAddedAndRemovedLocations(newActivitySet.activitySetLocationInfo)\n\n const resp = await activitySetService.addOrUpdateActivitySet(newActivitySet, addedAndRemovedLocations);\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n if(newActivitySet.id < 0) newActivitySet.id = resp.id;\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedActivity.value.some(el => el.id === newActivitySet.id)) {\n selectedActivity.value = selectedActivity.value.filter(el => el.id !== newActivitySet.id);\n selectedActivity.value.push(newActivitySet);\n }\n\n gridStore.add(newActivitySet);\n gridStore.sort(gridStore.sorters);\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\nconst setGridData = async () => {\n // start spinner\n globalStore.gridDataIsLoading = true;\n const activitySetResponse = await activitySetService.getActivitySets(\"display\");\n\n if (activitySetResponse === null || activitySetResponse === undefined || activitySetResponse.statusCode !== 0) {\n ErrorHandler.handleError(activitySetResponse, ErrorLocationType.table);\n return;\n }\n\n const activitiesWithRenamedId = activitySetResponse.activitySetInfo.map(a => {a.id = a.activitySetId; return a;});\n\n // get ativities per activitySet\n for(const a of activitiesWithRenamedId){\n const activityResp = await activityService.getActivitySetActivities(a.id);\n\n if (activityResp === null || activityResp === undefined || activityResp.statusCode !== 0) {\n ErrorHandler.handleError(activityResp, ErrorLocationType.table);\n return;\n }\n\n a.activities = activityResp.activityInfo.map(ae => {\n ae.id = ae.activityId;\n ae.name = ae.activityText;\n return ae;\n });\n }\n\n gridStore.setStoreData(activitiesWithRenamedId);\n\n globalStore.reorderColumns(TableType[TableType.activitySet]);\n\n // stop spinner\n globalStore.gridDataIsLoading = false;\n}\n\nonMounted(async () => {\n// calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(Error, {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n class: \"primary mr-2\",\n onClick: newActivitySet,\n title: _unref(t)('activitySet.new')\n }, _hoisted_5, 8, _hoisted_3),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedActivity).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_8, 8, _hoisted_6)), [\n [_directive_permission, 'ActivitySets.Show']\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(GridInputFilter, {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_10, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./ActivitySetTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ActivitySetTab.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, withCtx as _withCtx, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\n\nimport { onBeforeUnmount, ref } from \"vue\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport TabsWrapper from \"@/components/tabs/TabsWrapper.vue\";\nimport TabItem from \"@/components/tabs/TabItem.vue\";\nimport ActivityTab from \"@/components/tabs/activitySets/ActivityTab.vue\";\nimport ActivitySetTab from \"@/components/tabs/activitySets/ActivitySetTab.vue\";\nimport {Store} from \"@bryntum/grid\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Activities',\n setup(__props) {\n\nconst activeTab = ref(0);\nconst globalStore = useGlobalStore();\n\nonBeforeUnmount(()=>{\n\tglobalStore.setGridStore(new Store());\n\tglobalStore.setGridColumnStore(null);\n\n\tglobalStore.currentItems = 0;\n\tglobalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.$t(\"activitySet.title\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(TabsWrapper, { activeTab: activeTab.value }, {\n default: _withCtx(() => [\n _createVNode(TabItem, {\n title: _ctx.$t('activitySet.tabs.groups')\n }, {\n default: _withCtx(() => [\n _createVNode(ActivitySetTab)\n ]),\n _: 1\n }, 8, [\"title\"]),\n _createVNode(TabItem, {\n title: _ctx.$t('activitySet.tabs.manageActivities')\n }, {\n default: _withCtx(() => [\n _createVNode(ActivityTab)\n ]),\n _: 1\n }, 8, [\"title\"])\n ]),\n _: 1\n }, 8, [\"activeTab\"])\n ])\n ], 64))\n}\n}\n\n})","import script from \"./Activities.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Activities.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport {onMounted, ref} from \"vue\";\nimport {MiscService} from \"@/utilities/services/entities/MiscService\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Changelog',\n setup(__props) {\n\nconst logHtml = ref(\"\");\nconst miscService = new MiscService();\n\nonMounted(async()=>{\n const changelogResp = await miscService.getChangelog();\n\n logHtml.value = changelogResp.log; //TODO is this xss-save???\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.$t('changelog.title')), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"contentBox text-grey changelog\",\n innerHTML: logHtml.value\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./Changelog.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Changelog.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Changelog.vue?vue&type=style&index=0&id=b058581a&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","export class CategoryInfo{\n id :string = \"\";\n iconName:string = \"\";\n title:string = \"\";\n description:string = \"\";\n isDefault:boolean = false;\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\nconst _hoisted_3 = { class: \"block w-full\" }\nconst _hoisted_4 = { class: \"flex mb-4\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"disabled\", \"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"ml-auto\" }\nconst _hoisted_12 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {Menu, Store} from \"@bryntum/grid\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport dialog from \"@/dialog\";\nimport Error from \"@/components/Error\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\nimport {CategoryService} from \"@/utilities/services/entities/CategoryService\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Category',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst categoryService = new CategoryService();\nconst permissionService = new PermissionService();\n\nlet selectedCategories = ref>([]);\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedCategories.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText($t('global.delete'))\n .cancelText($t('global.cancel'))\n .confirm($t('category.confirmDeletionMulti', {count:selectedCategories.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const category of selectedCategories.value){\n const success = await categoryService.deleteCategory(category.id, ErrorLocationType.table);\n\n if(!success){\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:category.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess($t(\"global.deleted\"));\n }\n};\n\nconst addOrUpdateCategory = async ()=>{\n const category = globalStore.modal.contentObject as CategoryInfo;\n\n const updatedCategory = await categoryService.addOrUpdateCategory(category, ErrorLocationType.popup);\n\n if(updatedCategory === null) return; //TODO additional ID check?\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedCategories.value.some(el => el.iconName === updatedCategory.iconName)) {\n selectedCategories.value = selectedCategories.value.filter(el => el.iconName !== updatedCategory.iconName);\n selectedCategories.value.push(updatedCategory);\n }\n\n const categories = await categoryService.getCategories(\"display\", ErrorLocationType.table);\n\n //@ts-expect-error\n gridStore.setStoreData(categories);\n\n gridStore.sort(gridStore.sorters);\n\n globalStore.closeModal();\n globalStore.showSuccess('Gespeichert');\n}\n\nconst newCategory = async ()=>{\n const category = new CategoryInfo();\n\n globalStore.openPopup({\n data: category,\n action: addOrUpdateCategory,\n resetButton: false,\n title: $t(\"popups.categoryEditor.title.new\"),\n type: PopupType.categoryEditor\n });\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const categories = await categoryService.getCategories(\"display\", ErrorLocationType.table);\n\n //@ts-expect-error\n gridStore.setStoreData(categories);\n\n globalStore.reorderColumns(TableType[TableType.category]);\n\n globalStore.closeModal();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n relayStoreEvents: true,\n enableTextSelection: true,\n cellTooltipFeature: {\n hoverDelay: 300,\n textContent: true,\n hideOnDelegateChange: true,\n },\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n height: currentWindowHeight,\n columns : {\n data: [\n {\n id:'title',\n field: 'title',\n text: $t('category.grid.title'),\n flex: 1,\n },\n {\n id:'iconName',\n field: 'iconName',\n text: $t('category.grid.iconName'),\n flex: 1,\n type: 'template',\n template: ({value}:any)=>{\n return ``\n }\n },\n {\n id: 'isDefault',\n text: '',\n field: 'isDefault',\n htmlEncode: false,\n sortable: false,\n type: 'template',\n width: 36,\n filterable: false,\n hideable: true,\n tooltipRenderer: ({ record }: any) => {\n if (!record.isDefault) return \"\";\n\n return $t('category.grid.isDefault');\n },\n template: ({ record }: any) => {\n if (!record.isDefault) return \"\";\n return `
    `;\n },\n },\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.category], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event:any) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedCategories.value = selectedCategories.value.concat(event.selected.map(cr => cr.data))\n selectedCategories.value = selectedCategories.value.filter(c => !event.deselected.map(cr => cr.data).some(cr => c?.iconName === cr?.iconName));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n }\n};\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: $t('global.edit'),\n cls: 'color',\n icon: 'icon-editieren',\n hidden: !permissionService.userHasPermission(\"Category.Edit\"),\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data:menu.record,\n action:addOrUpdateCategory,\n resetButton:false,\n title:$t(\"popups.categoryEditor.title.edit\"),\n type:PopupType.categoryEditor\n });\n }\n },\n {\n text : $t('global.delete'),\n hidden: !permissionService.userHasPermission(\"Category.Delete\"),\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText($t('global.delete'))\n .cancelText($t('global.cancel'))\n .confirm($t('category.confirmDeletionSingle', {name:menu.record.title}));\n\n if (answer) {\n const success = await categoryService.deleteCategory(menu.record.id, ErrorLocationType.table);\n\n if (!success) return;\n\n gridStore.applyChangeset({removed: [{id: menu.record.id}]});\n\n globalStore.showSuccess($t('category.deleted'));\n }\n }\n }\n ],\n });\n\n //@ts-expect-error\n menu.setRecord(record);\n\n return menu;\n};\n\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)(\"category.title\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newCategory,\n title: _unref($t)('category.new')\n }, _hoisted_7, 8, _hoisted_5)), [\n [_directive_permission, 'Category.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedCategories).some(()=>true),\n onClick: deleteSelection,\n title: _unref($t)('global.delete')\n }, _hoisted_10, 8, _hoisted_8)), [\n [_directive_permission, 'Category.Delete']\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_12, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ], 64))\n}\n}\n\n})","import script from \"./Category.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Category.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"flex\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"smallIcon icon-pfeil-links iconInButton\" }, null, -1)\nconst _hoisted_4 = { class: \"text-grey ml-2 mt-1.5\" }\nconst _hoisted_5 = { class: \"contentBox\" }\nconst _hoisted_6 = { class: \"block w-full\" }\nconst _hoisted_7 = { class: \"flex mb-4\" }\nconst _hoisted_8 = [\"disabled\", \"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-downlaod\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = [\"disabled\", \"title\"]\nconst _hoisted_12 = {\n key: 0,\n class: \"icon-pdf\"\n}\nconst _hoisted_13 = { class: \"ml-auto\" }\nconst _hoisted_14 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {Menu, Store} from \"@bryntum/grid\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport Error from \"@/components/Error\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport {DisdiService} from \"@/utilities/services/entities/DisdiService\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage, permissionColumn} from \"@/AppConfig\";\nimport {DisdiCsvExport} from \"@/models/CsvExportModels\";\nimport exportFromJSON from \"export-from-json\";\nimport router from \"@/router\";\nimport DateToStringHelper from \"@/utilities/helpers/DateToStringHelper\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Disdi',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst disdiService = new DisdiService();\n\nlet selectedDisdies = ref>([]);\nconst contextType = ref(null);\nconst contextId = ref(null);\nconst downloadingPdf = ref(false);\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst exportCSV = () => {\n let data = selectedDisdies.value?.length > 0 ? selectedDisdies.value : gridStore.records;\n\n // remove unnecessary properties from csv\n //@ts-expect-error\n data = data.map((item)=> new DisdiCsvExport(item.data ?? item));\n\n const fileName = $t('disdi.view.csvExportFileName');\n const exportType = exportFromJSON.types.csv;\n\n exportFromJSON({\n data:data,\n fileName:fileName,\n exportType:exportType,\n });\n};\n\nconst getPdf = async () => {\n downloadingPdf.value = true;\n\n const disdiIds = selectedDisdies.value?.length > 0\n ? selectedDisdies.value.map(sd => sd.id)\n : gridStore.data.map(d => d.id);\n\n const success = await disdiService.exportPdf(disdiIds, ErrorLocationType.table);\n if(success) globalStore.showSuccess($t('disdi.view.pdfDownloaded'));\n\n downloadingPdf.value = false;\n};\n\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n relayStoreEvents: true,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n height: currentWindowHeight,\n columns : {\n data: [\n {\n id:'createDate',\n field: 'createDate',\n text: $t('disdi.view.grid.createDate'),\n flex: 1,\n type: \"template\",\n template:({value}:any)=>{\n return DateToStringHelper(new Date(value));\n }\n },\n {\n id: 'infoButton',\n field: 'infoButton',\n text: $t('disdi.view.grid.info'),\n width: 36,\n sortable: false,\n type: \"template\",\n template: () => {\n return `
    `;\n },\n },\n {\n id:'diaryDescription',\n field: 'diaryDescription',\n text: $t('disdi.view.grid.diaryDescription'),\n flex: 1,\n },\n // {\n // id:'comment',\n // field: 'comment',\n // text: $t('disdi.view.grid.comment'),\n // flex: 1,\n // },\n {\n id:'userFullname',\n field: 'userFullname',\n text: $t('disdi.view.grid.userFullname'),\n flex: 1,\n },\n {\n id:'userPhoneNumber',\n field: 'userPhoneNumber',\n text: $t('disdi.view.grid.userPhoneNumber'),\n flex: 1,\n },\n {\n id:'companyName',\n field: 'companyName',\n text: $t('disdi.view.grid.companyName'),\n flex: 1,\n },\n {\n id:'categoryId',\n field: 'categoryId',\n text: $t('disdi.view.grid.categoryId'),\n flex: 1,\n type: \"template\",\n template: ({ record }: any) => {\n const category = record.data.categoryTitle;\n const iconSpan = ``;\n return NullOrUndefinedHelper(category) ? \"\" : `${category} (${iconSpan})`;\n }\n },\n {\n id:'registrationStart',\n field: 'registrationStart',\n text: $t('disdi.view.grid.registrationStart'),\n flex: 1,\n type: \"template\",\n template:({value}:any)=>{\n return value !== null ? DateToStringHelper(new Date(value)) : \"\";\n }\n },\n {\n id:'registrationEnd',\n field: 'registrationEnd',\n text: $t('disdi.view.grid.registrationEnd'),\n flex: 1,\n type: \"template\",\n template:({value}:any)=>{\n return value !== null ? DateToStringHelper(new Date(value)) : \"\";\n }\n },\n {\n id:'hasAttachment',\n field: 'hasAttachment',\n text: $t('disdi.view.grid.attachment'),\n type: \"template\",\n width : 80,\n template:({record}:any)=>{\n return record.data.hasAttachment ? \"\" : \"\";\n }\n },\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.disdi], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event:any) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedDisdies.value = selectedDisdies.value.concat(event.selected.map(dr => dr.data))\n selectedDisdies.value = selectedDisdies.value.filter(d => !event.deselected.map(dr => dr.data).some(dr => d?.id === dr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n async cellClick({record, column}:any){\n if(column.data.field === 'infoButton'){\n openDetailsPopup(record.data);\n }\n }\n }\n};\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: $t('disdi.view.details'),\n cls: 'color',\n weight: 100,\n onItem : ({ menu }:any) => {\n openDetailsPopup(menu.record);\n }\n },\n ],\n });\n\n //@ts-expect-error\n menu.setRecord(record);\n\n return menu;\n};\n\nconst openDetailsPopup = (data:any)=>{\n globalStore.openPopup({\n data:data,\n action:globalStore.closeModal,\n resetButton:false,\n title:$t(\"popups.disdiDetails.title\"),\n type:PopupType.disdiDetailsPopup\n });\n}\n\nconst setContextProps = async ()=>{\n contextType.value = TableType[router.currentRoute.value.params.type as keyof typeof TableType];\n contextId.value = +router.currentRoute.value.params.id;\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n let disdies = contextType.value === TableType.register\n ? await disdiService.getDisdiEntriesForRegistration(contextId.value as number, ErrorLocationType.table)\n : await disdiService.getDisdiEntriesForLocation(contextId.value as number, ErrorLocationType.table);\n if(disdies === null) return;\n\n // add searchable categoryString just for this view\n disdies = disdies.map(d => {\n //@ts-expect-error\n d.categorySearchString = d.categoryTitle;\n return d;\n })\n\n //@ts-expect-error\n gridStore.setStoreData(disdies);\n\n globalStore.reorderColumns(TableType[TableType.disdi]);\n gridStore.sort(\"createDate\", false); // always show newes disdi first\n\n // apply filters\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.disdi])\n });\n\n // apply hidden cols\n for(const c of grid.value.instance.value.columns.storage.values){\n const needsHiding = globalStore.userPreferences.userHiddenColumns\n .some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.disdi]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.closeModal();\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setContextProps();\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_unref(router).back && _unref(router).back(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", null, _toDisplayString(_unref($t)(\"global.back\")), 1)\n ])\n ]),\n _createElementVNode(\"h4\", _hoisted_4, _toDisplayString(_unref($t)(\"disdi.view.title\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedDisdies).some(()=>true),\n onClick: exportCSV,\n title: _unref($t)('global.exportCsv')\n }, _hoisted_10, 8, _hoisted_8),\n _createElementVNode(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedDisdies).some(()=>true) || downloadingPdf.value,\n onClick: getPdf,\n title: _unref($t)('global.downloadPdf')\n }, [\n (!downloadingPdf.value)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12))\n : (_openBlock(), _createBlock(LoadingSpinner, { key: 1 }))\n ], 8, _hoisted_11),\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n popupType: _unref(PopupType).disdiFilterPopup\n }, null, 8, [\"gridStore\", \"popupType\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_14, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ], 64))\n}\n}\n\n})","import script from \"./Disdi.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Disdi.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import {defineStore} from \"pinia\";\n\nexport const useDisdiMaintenanceStore = defineStore('DisdiMaintenanceStore', {\n state: () => {\n return {\n currentDisdiId:\"\",\n }\n },\n actions: {\n }\n})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700\" }\n\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Progressbar',\n props: {\n barColor: String,\n percentage: String\n},\n setup(__props) {\n\nconst props = __props\n\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"h-2.5 rounded-full\",\n style: _normalizeStyle({background: props.barColor, width: props.percentage})\n }, null, 4)\n ]))\n}\n}\n\n})","import script from \"./Progressbar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Progressbar.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, createBlock as _createBlock, vShow as _vShow, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0c471f40\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"contentHeader flex\" }\nconst _hoisted_3 = { class: \"text-grey ml-2 mt-1.5\" }\nconst _hoisted_4 = { class: \"contentBox\" }\nconst _hoisted_5 = { class: \"inputGroup grid grid-cols-2 gap-4 w-full mt-2 mb-6\" }\nconst _hoisted_6 = { class: \"detailRegion\" }\nconst _hoisted_7 = { class: \"flex locationDetailRow\" }\nconst _hoisted_8 = { class: \"detailAttribute\" }\nconst _hoisted_9 = { class: \"flex locationDetailRow\" }\nconst _hoisted_10 = { class: \"detailAttribute\" }\nconst _hoisted_11 = { class: \"flex locationDetailRow\" }\nconst _hoisted_12 = { class: \"detailAttribute\" }\nconst _hoisted_13 = { class: \"flex locationDetailRow\" }\nconst _hoisted_14 = { class: \"detailAttribute\" }\nconst _hoisted_15 = { class: \"flex locationDetailRow\" }\nconst _hoisted_16 = { class: \"detailAttribute\" }\nconst _hoisted_17 = { class: \"flex locationDetailRow\" }\nconst _hoisted_18 = { class: \"detailAttribute\" }\nconst _hoisted_19 = { class: \"flex locationDetailRow\" }\nconst _hoisted_20 = { class: \"detailAttribute\" }\nconst _hoisted_21 = { class: \"flex locationDetailRow\" }\nconst _hoisted_22 = { class: \"detailAttribute\" }\nconst _hoisted_23 = { class: \"detailRegion\" }\nconst _hoisted_24 = { class: \"flex locationDetailRow\" }\nconst _hoisted_25 = { class: \"detailAttribute\" }\nconst _hoisted_26 = { class: \"flex locationDetailRow\" }\nconst _hoisted_27 = { class: \"detailAttribute\" }\nconst _hoisted_28 = { class: \"inputGroup grid grid-cols-2 gap-4 w-full mt-5\" }\nconst _hoisted_29 = { class: \"inputTitle\" }\nconst _hoisted_30 = { class: \"inputField flex-grow\" }\nconst _hoisted_31 = { class: \"error-msg\" }\nconst _hoisted_32 = { class: \"inputTitle\" }\nconst _hoisted_33 = { class: \"inputField flex-grow\" }\nconst _hoisted_34 = { class: \"error-msg\" }\nconst _hoisted_35 = { class: \"inputGroup grid grid-cols-2 gap-4 w-full mt-5\" }\nconst _hoisted_36 = { class: \"inputTitle\" }\nconst _hoisted_37 = { class: \"helpText\" }\nconst _hoisted_38 = { class: \"\" }\nconst _hoisted_39 = { class: \"mt-2 inline-block pseudoButton pseudoSecondary\" }\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_41 = {\n key: 0,\n class: \"mt-4\"\n}\nconst _hoisted_42 = { class: \"inputTitle\" }\nconst _hoisted_43 = { class: \"inputField flex-grow grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_44 = { class: \"relative\" }\nconst _hoisted_45 = [\"onClick\"]\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1))\nconst _hoisted_47 = [\n _hoisted_46\n]\nconst _hoisted_48 = [\"src\"]\nconst _hoisted_49 = { class: \"text-center\" }\nconst _hoisted_50 = { class: \"inputGroup w-full mt-5\" }\nconst _hoisted_51 = [\"disabled\"]\nconst _hoisted_52 = { class: \"text-center\" }\n\nimport {computed, onMounted, ref} from \"vue\";\nimport {DisdiService} from \"@/utilities/services/entities/DisdiService\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport {CategoryService} from \"@/utilities/services/entities/CategoryService\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\nimport Select from \"@/components/inputs/Select\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport {LocationInfo} from \"@/models/location/LocationInfo\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport DateToStringHelper from \"@/utilities/helpers/DateToStringHelper\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {helpers, required} from \"@vuelidate/validators\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {useDisdiMaintenanceStore} from \"@/stores/DisdiMaintenanceStore\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport Error from \"@/components/Error\";\nimport router from \"@/router\";\nimport Progressbar from \"@/components/Progressbar.vue\";\nimport sleeper from \"@/utilities/helpers/Sleeper\";\nimport TextOrSpinner from \"@/components/TextOrSpinner\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DisdiMaintenance',\n setup(__props) {\n\nconst disdiStore = useDisdiMaintenanceStore();\nconst disdiService = new DisdiService();\nconst categoryService = new CategoryService();\nconst locationService = new LocationService();\n\nconst currentDisdi = ref(null);\nconst categoryList = ref|undefined>(undefined);\nconst contextLocation = ref(null);\nconst loading = ref(false);\nconst loadingAttachments = ref(false);\nconst attachmentUrlList = ref|null>(null);\nconst uploadPercentage = ref(\"0%\");\nconst uploadInput = ref(null);\nconst fileNameList = ref|null>(null);\nconst closingDisdi = ref(false);\n\nconst regStartString = computed(()=> !NullOrUndefinedHelper(currentDisdi.value?.registrationStart)\n ? DateToStringHelper(new Date (currentDisdi.value.registrationStart))\n : \"\");\nconst regEndString = computed(()=> !NullOrUndefinedHelper(currentDisdi.value?.registrationEnd)\n ? DateToStringHelper(new Date(currentDisdi.value.registrationEnd))\n : \"\");\n\nconst rules = computed(() => ({\n diaryDescription: { required: helpers.withMessage($t('validators.required'), required), },\n categoryId: { required: helpers.withMessage($t('validators.required'), required), },\n}));\nconst validator = ref(useVuelidate(rules, currentDisdi))\n\nconst changeCategoryId = (value)=>{\n currentDisdi.value.categoryId = value !== null ? value : \"\";\n}\n\nconst uploadCallback = async (newPercentage:string)=>{\n uploadPercentage.value = newPercentage;\n if (newPercentage === \"100%\"){ //TODO do discuss reset behaviour!\n await sleeper(2000)\n uploadPercentage.value = \"0%\";\n }\n}\n\nconst addImageToUploadList = async ()=>{\n //@ts-expect-error\n if(uploadInput.value === null || uploadInput.value.files.length === 0) return;\n\n const fileList = [];\n //@ts-expect-error\n for (const file of uploadInput.value.files){\n fileList.push(file)\n }\n\n fileNameList.value = fileList.map(f=>f.name);\n\n const urlList = await disdiService.getAttachementUploadUrl(currentDisdi.value?.id as string, fileList.map((f:File) => f.name), ErrorLocationType.disdiMaintenance)\n if(urlList === null) return;\n\n const success = await disdiService.uploadFilesToBlobStorage(urlList, fileList, ErrorLocationType.disdiMaintenance, uploadCallback);\n\n if(success){\n loadingAttachments.value = true;\n await sleeper(300);\n attachmentUrlList.value = await disdiService.getAttachments(currentDisdi.value?.id as string, ErrorLocationType.disdiMaintenance);\n await updateHasAttachmentProperty();\n loadingAttachments.value = false;\n }\n}\n\nconst deleteAttachmentByIndex = async(url:string)=>{\n // get fileName from attachment url\n const fileName = (new URL(url)).pathname.split(\"/\").slice(-1)[0];\n\n const success = await disdiService.deleteAttachmentByFileName(currentDisdi.value?.id as string, fileName, ErrorLocationType.disdiMaintenance)\n\n if(!success) return;\n\n // delete from attachment list\n attachmentUrlList.value = attachmentUrlList.value.filter(u => !u.includes(fileName));\n await updateHasAttachmentProperty();\n}\n\nconst updateHasAttachmentProperty = async()=>{\n const updateHasAttachmentResp = await disdiService.checkAndUpdateHasAttachmentProperty(currentDisdi.value?.id as string);\n if (!updateHasAttachmentResp || updateHasAttachmentResp.statusCode !== 0){\n ErrorHandler.handleError(updateHasAttachmentResp as GeneralResponse, ErrorLocationType.disdiMaintenance);\n }\n}\n\nconst closeDisdi = async ()=>{\n const isValid = await validator.value.$validate();\n if(!isValid){\n const targetElement = document.querySelector(\".error\");\n targetElement?.scrollIntoView({behavior: \"smooth\", block: 'center'});\n\n return;\n }\n\n closingDisdi.value = true;\n\n currentDisdi.value.isCompleted = true;\n const success = await disdiService.updateDisdiEntry(currentDisdi.value, ErrorLocationType.disdiMaintenance);\n\n if(!success){\n closingDisdi.value = false;\n\n return\n }\n\n closingDisdi.value = false;\n\n await router.push(\"/disdi/exit\");\n}\n\nonMounted(async ()=>{\n loading.value = true;\n\n const currentDisdiId = disdiStore.currentDisdiId;\n if(NullOrUndefinedHelper(currentDisdiId)) await router.push(\"/disdi/login\");\n\n currentDisdi.value = await disdiService.getUncompletedDisdiById(currentDisdiId as string, ErrorLocationType.disdiMaintenance);\n\n if(currentDisdi.value?.isCompleted) {\n await router.push(\"/disdi/exit\");\n return;\n }\n\n contextLocation.value = await locationService.getLocation(currentDisdi.value.locationSecondaryId, ErrorLocationType.disdiMaintenance);\n\n attachmentUrlList.value = await disdiService.getAttachments(currentDisdiId as string, ErrorLocationType.disdiMaintenance);\n\n categoryList.value = (await categoryService.getCategories(\"display\", ErrorLocationType.disdiMaintenance))?.map((c) =>{\n c.name = c.title;\n return c;\n });\n loading.value = false;\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h4\", _hoisted_3, _toDisplayString(_unref($t)('disdi.maintenance.title')), 1)\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).disdiMaintenance\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('disdi.maintenance.generalInfo')), 1),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", null, [\n _createTextVNode(_toDisplayString(_unref($t)('disdi.maintenance.disdiInfo.location')) + \": \", 1),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(_unref($t)('popups.disdiDetails.location.name')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value?.name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_unref($t)('popups.disdiDetails.location.group2')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value?.group2Name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, _toDisplayString(_unref($t)('popups.disdiDetails.location.group1')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value?.group1Name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, _toDisplayString(_unref($t)('popups.disdiDetails.location.CCName')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value?.controlCenterName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_unref($t)('popups.disdiDetails.location.phoneNumber')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value?.contactInfo.phoneNumber ?? \"\"), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, _toDisplayString(_unref($t)('popups.disdiDetails.location.email')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value?.email), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, _toDisplayString(_unref($t)('popups.disdiDetails.location.street')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value?.contactInfo.street) + \" \" + _toDisplayString(contextLocation.value?.contactInfo.streetNumber), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString(_unref($t)('popups.disdiDetails.location.city')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value?.contactInfo.postalCode) + \" \" + _toDisplayString(contextLocation.value?.contactInfo.city), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createTextVNode(_toDisplayString(_unref($t)('disdi.maintenance.disdiInfo.registration')) + \": \", 1),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, _toDisplayString(_unref($t)('popups.disdiDetails.registrationStart')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_unref(regStartString)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, _toDisplayString(_unref($t)('popups.disdiDetails.registrationEnd')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_unref(regEndString)), 1)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('disdi.maintenance.maintainInfo')), 1),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_29, _toDisplayString(_unref($t)('disdi.maintenance.diaryDescription')), 1),\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: validator.value.diaryDescription.$errors.length })\n }, [\n (currentDisdi.value !== null)\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((currentDisdi.value.diaryDescription) = $event)),\n class: \"w-full\"\n }, null, 512)), [\n [_vModelText, currentDisdi.value.diaryDescription]\n ])\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(validator.value.diaryDescription.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_31, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_32, _toDisplayString(_unref($t)('disdi.maintenance.category')), 1),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: validator.value.categoryId.$errors.length })\n }, [\n (currentDisdi.value !== null)\n ? (_openBlock(), _createBlock(_unref(Select), {\n key: 0,\n selected: currentDisdi.value?.categoryId,\n options: categoryList.value,\n mode: \"single\",\n onSelectChanged: changeCategoryId\n }, null, 8, [\"selected\", \"options\"]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(validator.value.categoryId.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_34, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_36, _toDisplayString(_unref($t)('disdi.maintenance.attachments')), 1),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_37, _toDisplayString(_unref($t)('disdi.maintenance.uploadDescription')), 1),\n _createElementVNode(\"label\", _hoisted_38, [\n _createElementVNode(\"input\", {\n type: \"file\",\n accept: \"image/*\",\n multiple: \"\",\n ref_key: \"uploadInput\",\n ref: uploadInput,\n onChange: addImageToUploadList,\n style: {\"display\":\"none\"}\n }, null, 544),\n _createElementVNode(\"div\", _hoisted_39, _toDisplayString(_unref($t)('disdi.maintenance.uploadButton')), 1)\n ]),\n _hoisted_40,\n _createVNode(Progressbar, {\n class: \"mt-6\",\n barColor: '#1796C1',\n percentage: uploadPercentage.value\n }, null, 8, [\"percentage\"]),\n (fileNameList.value?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_41, [\n _createTextVNode(_toDisplayString(_unref($t)('disdi.maintenance.uploadedFiles')) + \": \", 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(fileNameList.value, (name) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: name }, _toDisplayString(name), 1))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_42, _toDisplayString(_unref($t)('disdi.maintenance.attachmentsPreview')), 1),\n _withDirectives(_createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_43, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(attachmentUrlList.value, (url) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: url }, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"button\", {\n class: \"primary deleteButton\",\n onClick: ($event: any) => (deleteAttachmentByIndex(url))\n }, _hoisted_47, 8, _hoisted_45),\n _createElementVNode(\"img\", {\n class: \"w-full\",\n src: url\n }, null, 8, _hoisted_48)\n ])\n ]))\n }), 128))\n ])\n ], 512), [\n [_vShow, !loadingAttachments.value]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_49, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, loadingAttachments.value]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_50, [\n _createElementVNode(\"button\", {\n class: \"primary ml-auto\",\n onClick: closeDisdi,\n disabled: closingDisdi.value\n }, [\n _createVNode(_unref(TextOrSpinner), {\n text: _unref($t)('disdi.maintenance.saveAndClose'),\n spin: closingDisdi.value\n }, null, 8, [\"text\", \"spin\"])\n ], 8, _hoisted_51)\n ])\n ], 512), [\n [_vShow, !loading.value]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_52, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, loading.value]\n ])\n ]))\n}\n}\n\n})","import script from \"./DisdiMaintenance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DisdiMaintenance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./DisdiMaintenance.vue?vue&type=style&index=0&id=0c471f40&scoped=true&lang=scss\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0c471f40\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"w-full h-full\" }\nconst _hoisted_2 = { class: \"flex flex-col h-full justify-center items-center\" }\nconst _hoisted_3 = { key: 0 }\n\nimport {onMounted, ref} from \"vue\";\nimport {useDisdiMaintenanceStore} from \"@/stores/DisdiMaintenanceStore\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport Error from \"@/components/Error\";\nimport router from \"@/router\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {SystemCompanySettings} from \"@/models/SystemCompanySettings\";\nimport {MiscService} from \"@/utilities/services/entities/MiscService\";\nimport OAuthService from \"@/utilities/services/OAuthService\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {disdiClientConfig} from \"@/AppConfig\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DisdiLogin',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst disdiStore = useDisdiMaintenanceStore();\nconst miscService = new MiscService();\n\nconst initializing = ref(false);\n\nconst getTokenAndLogin = async ()=>{\n const authService = new OAuthService(globalStore.getAuthorityUrl(), disdiClientConfig.clientId, disdiClientConfig.scopes, disdiClientConfig.callback, disdiClientConfig.silent);\n await authService.login()\n}\n\nonMounted(async ()=>{\n initializing.value = true;\n\n globalStore.resetState();\n globalStore.user = null;\n globalStore.token = \"\";\n\n globalStore.oAuth.routeAfterLogin = \"/disdi/maintain\";\n disdiStore.currentDisdiId = router.currentRoute.value.params.id as string;\n\n const startupConfig = await miscService.getStartupConfig(ErrorLocationType.login);\n if (startupConfig === null) {\n initializing.value = false;\n return;\n }\n\n globalStore.settings.defaultHiddenColumns = startupConfig.preferenceInfo;\n globalStore.settings.systemCompanySettings = new SystemCompanySettings(startupConfig.companyName, startupConfig.companyIdCode) ;\n globalStore.settings.startupConfig = startupConfig.startupInfo;\n\n await getTokenAndLogin();\n\n initializing.value = false;\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).login\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t('disdi.login.description')), 1),\n (initializing.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(LoadingSpinner)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./DisdiLogin.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DisdiLogin.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"errorpage\",\n class: \"w-full h-full\"\n}\nconst _hoisted_2 = { class: \"flex flex-col h-full justify-center items-center\" }\n\nimport {onMounted} from \"vue\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DisdiExit',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\n\nonMounted(()=>{\n globalStore.resetState();\n globalStore.user = null;\n globalStore.token = \"\";\n})\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref($t)(\"disdi.exit.byeText\")), 1),\n _createElementVNode(\"h3\", null, _toDisplayString(_unref($t)(\"disdi.exit.byeSubText\")), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./DisdiExit.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DisdiExit.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = { class: \"contentBox\" }\nconst _hoisted_3 = { class: \"block w-full\" }\nconst _hoisted_4 = { class: \"flex mb-4\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"disabled\", \"title\"]\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"ml-auto\" }\nconst _hoisted_12 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {Menu, Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport {$t} from \"@/utilities/i18n/config\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport dialog from \"@/dialog\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport Error from \"@/components/Error\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport router from \"@/router\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {CompanyInfo} from \"@/models/company/CompanyInfo\";\nimport {useProviderStore} from \"@/stores/ProviderStore\";\nimport {CompanyService} from \"@/utilities/services/entities/CompanyService\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Provider',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst providerStore = useProviderStore();\n\nlet selectedProviders = ref([]);\n\nconst { t } = useI18n();\nconst companyService = new CompanyService();\nconst permissionService = new PermissionService();\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = () => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage}px`;\n};\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedProviders.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"providerManagement.confirmDeletionMulti\", { count:selectedProviders.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const p of selectedProviders.value){\n const resp = await companyService.deleteSystemConnectionToCompany(p.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:p.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n cellTooltipFeature: {\n hoverDelay : 300,\n textContent : true,\n\t\thideOnDelegateChange: true,\n },\n relayStoreEvents: true,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n columns : {\n data: [\n\n {\n id:'name',\n field: 'name',\n text: t('providerManagement.grid.companyName'),\n flex: 1,\n },\n\t\t\t{\n\t\t\t\tid:'info',\n\t\t\t\tfield: 'info',\n\t\t\t\ttext: \"\",\n\t\t\t\twidth: 60,\n\t\t\t\tsortable: false,\n\t\t\t\tresizable: false,\n\t\t\t\tminWidth: 60,\n\t\t\t\ttype: \"template\",\n\t\t\t\ttooltipRenderer : ({record}) => {\n\t\t\t\t\tif(record.data.info == null || record.data.info == '') {\n\t\t\t\t\t\treturn StringHelper.xss``\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn StringHelper.xss`${record.data.info}`\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttemplate: ({record}) => {\n\t\t\t\t\tif(record.data.info == '' || record.data.info == null) {\n\t\t\t\t\t\treturn \"\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n {\n id:'address',\n field: 'address',\n text: t('providerManagement.grid.adress'),\n flex: 2,\n },\n {\n id:'companyIdCode',\n field: 'companyIdCode',\n text: t('providerManagement.grid.companyIdCode'),\n flex: 1,\n type:'template',\n template: ({record}:any) => {\n return globalStore.settings.systemCompanySettings?.companyIdCode\n ? `${globalStore.settings.systemCompanySettings?.companyIdCode}${record.data.companyIdCode}`\n : `${record.data.companyIdCode}`;\n },\n },\n {\n id:'statistic.pendingWorkerAssignments',\n field: 'statistic.pendingWorkerAssignments',\n text: '',\n width : 36,\n type: \"template\",\n tooltipRenderer: ({ record }) => {\n if(record.data.statistic?.pendingWorkerAssignments > 0) {\n return StringHelper.xss`${t('providerManagement.inactiveUsers')}`;\n }\n },\n template: ({ record }) => {\n const classStr = record.data.statistic?.pendingWorkerAssignments > 0 ? 'icon-status_bald_inaktiv bg-red text-white' : 'icon-person' ;\n const buttonClassStr = record.data.statistic?.pendingWorkerAssignments > 0 ? 'gridRowWarningButton' : 'gridRowButton' ;\n\n return `
    `;\n },\n },\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.provider], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedProviders.value = selectedProviders.value.concat(event.selected.map(pr => pr.data))\n selectedProviders.value = selectedProviders.value.filter(p => !event.deselected.map(pr => pr.data).some(pr => p?.id === pr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n cellClick({column, record}) {\n if (column.data.field === 'statistic.pendingWorkerAssignments') {\n if(permissionService.userHasPermission(\"ProviderManagementPolicy.CompanyWorker.Read\")) {\n router.push(`/providermanagement/${record.data.companyId ?? record.data.id}`)\n }\n }\n },\n },\n height: currentWindowHeight,\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t(\"providerManagement.grid.showStaff\"),\n cls: 'color',\n icon: 'icon-status_aktiv',\n hidden: !permissionService.userHasPermission(\"ProviderManagementPolicy.CompanyWorker.Read\"),\n weight: 100,\n onItem : ({ menu }) => {\n router.push({ path: `/providermanagement/${menu.record.companyId ?? menu.record.id}` })\n }\n },\n {\n text: t(\"global.edit\"),\n cls: 'color',\n icon: 'icon-editieren',\n hidden: !permissionService.userHasPermission(\"ProviderManagementPolicy.Edit\"),\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data: menu.record,\n action:providerStore.addOrUpdateProvider,\n resetButton:false,\n title:$t(\"popups.providerManagement.edit\"),\n type:PopupType.providerManagementEditPopup\n });\n }\n },\n {\n text : t(\"global.delete\"),\n hidden: !permissionService.userHasPermission(\"ProviderManagementPolicy.Delete\"),\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"providerManagement.confirmDeletionSingle\", {name: menu.record.name}));\n\n if (answer) {\n const resp = await companyService.deleteSystemConnectionToCompany(menu.record.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('global.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst newProvider = () => {\n globalStore.openPopup({\n data: new CompanyInfo(),\n action: providerStore.addOrUpdateProvider,\n resetButton: false,\n title:$t(\"popups.providerManagement.new\"),\n type:PopupType.providerManagementEditPopup\n });\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const companyResp = await companyService.getCompanyDetails();\n if (companyResp === null || companyResp === undefined || companyResp.statusCode !== 0) {\n ErrorHandler.handleError(companyResp, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(companyResp.anAbCompaniesInfo);\n\n globalStore.reorderColumns(TableType[TableType.provider]);\n\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\nonMounted(async () => {\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)(\"providerManagement.title\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newProvider,\n title: _unref(t)('providerManagement.new')\n }, _hoisted_7, 8, _hoisted_5)), [\n [_directive_permission, 'ProviderManagementPolicy.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedProviders).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_10, 8, _hoisted_8)), [\n [_directive_permission, 'ProviderManagementPolicy.Delete']\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_12, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ])\n ], 64))\n}\n}\n\n})","import script from \"./Provider.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Provider.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export class AnAbSystemInfo {\n userId:string = \"\";\n idCode:string = \"\";\n name:string = \"\";\n baseUrl:string = \"\";\n systemCouplingBaseUrl:string = \"\";\n systemCouplingName:string = \"\";\n anabSystemId:string = \"\";\n phoneNumber:string = \"\";\n colors:string = \"\";\n iconName:string = \"\";\n pdfName:string = \"\";\n dialCode:string = \"\";\n textPhoneNumber:string = \"\";\n voicePhoneNumber:string = \"\";\n privacyPolicyLink:string = \"\";\n userConfirmationExpired?:boolean = undefined;\n userLastInteraction?:Date = undefined;\n hasRegistrationGuest:boolean = false;\n companyIdCode:string = \"\";\n contactPersonName:string = \"\";\n contactPersonEmail:string = \"\";\n contactPersonDialCode:string =\"\";\n contactPersonPhoneNumber:string = \"\";\n}","import {AnAbSystemInfo} from \"@/models/system/AnAbSystemInfo\";\n\nexport class CompanyWorkerInfo {\n // anabSystem === companyWorkerAnAbSystem-entry so it hold user-specific-data\n anAbSystem:AnAbSystemInfo = new AnAbSystemInfo();\n anAbSystemId:string = \"\";\n companyId:string = \"\";\n email:string = \"\";\n userId:string = \"\";\n id:string = this.userId; // ghost property not given from backend, needed for bryntumgrid\n isAdmin:boolean = false;\n isEnabled:boolean = false;\n dialCode:string = \"\";\n phoneNumber:string = \"\";\n firstName:string = \"\";\n lastName:string = \"\";\n fullName: string = `${this.firstName} ${this.lastName}`;\n userInfo:string = \"\";\n isAnonymous:boolean = false;\n sendVerificationEmailDate?:Date = undefined;\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, isRef as _isRef, createVNode as _createVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"contentHeader flex\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"contentBox\"\n}\nconst _hoisted_3 = { class: \"flex\" }\nconst _hoisted_4 = { class: \"flex\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"smallIcon icon-pfeil-links iconInButton\" }, null, -1)\nconst _hoisted_6 = { class: \"text-grey ml-2 mt-1.5\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"flex\" }\nconst _hoisted_9 = { class: \"providerDetailBox\" }\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_11 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_12 = { class: \"providerDetailBox\" }\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_15 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_16 = [\"href\"]\nconst _hoisted_17 = { class: \"providerDetailBox\" }\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_19 = { class: \"showDetails\" }\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"smallIcon icon-pfeil-hoch\" }, null, -1)\nconst _hoisted_21 = { key: 1 }\nconst _hoisted_22 = { class: \"showDetails\" }\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"smallIcon icon-pfeil-runter\" }, null, -1)\nconst _hoisted_24 = { class: \"block w-full\" }\nconst _hoisted_25 = { class: \"flex mb-4\" }\nconst _hoisted_26 = [\"title\"]\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-neu\" }, null, -1)\nconst _hoisted_28 = [\n _hoisted_27\n]\nconst _hoisted_29 = [\"disabled\", \"title\"]\nconst _hoisted_30 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-loeschen\" }, null, -1)\nconst _hoisted_31 = [\n _hoisted_30\n]\nconst _hoisted_32 = { class: \"ml-auto\" }\nconst _hoisted_33 = { class: \"text-center\" }\n\nimport {onBeforeUnmount, onMounted, reactive, ref, watchEffect} from \"vue\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {Menu, Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PopupType, TableType} from '@/utilities/enums/Enums';\nimport {$t} from \"@/utilities/i18n/config\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport dialog from \"@/dialog\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport Error from \"@/components/Error\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig, defaultSpaceAroundTableOnPage} from \"@/AppConfig\";\nimport router from \"@/router\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {CompanyWorkerInfo} from \"@/models/company/CompanyWorkerInfo\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {CompanyWorkerService} from \"@/utilities/services/entities/CompanyWorkerService\";\nimport {CompanyService} from \"@/utilities/services/entities/CompanyService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ProviderDetails',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\n\nlet showCompanyDetails = ref(false);\nlet selectedCompanyWorkers = ref([]);\nconst selectedCompany = ref(undefined);\n\nconst { t } = useI18n();\nconst companyWorkerService = new CompanyWorkerService();\nconst companyService = new CompanyService();\nconst permissionService = new PermissionService();\n\nconst currentWindowHeight = ref(\"\");\nconst recalcGridHeight = (offset: number = 110) => {\n currentWindowHeight.value = `${window.innerHeight-defaultSpaceAroundTableOnPage-offset}px`;\n};\n\nconst deleteSelection = async() => {\n //drop call without selection\n if(!selectedCompanyWorkers.value?.some(()=>true)) return;\n\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"providerManagementDetails.confirmDeletionMulti\", { count:selectedCompanyWorkers.value.length}));\n\n if (answer) {\n let someEntriesFailed = false;\n for (const cw of selectedCompanyWorkers.value){\n const resp = await companyWorkerService.deleteCompanyWorker(selectedCompany.value.id, cw.id);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n someEntriesFailed = true;\n continue;\n }\n\n gridStore.applyChangeset({removed:[{id:cw.id}]});\n }\n\n if (someEntriesFailed) return;\n\n globalStore.showSuccess(t(\"global.deleted\"));\n }\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n relayStoreEvents: true,\n\tcellTooltipFeature: {\n\t\thoverDelay : 300,\n\t\ttextContent : true,\n\t\thideOnDelegateChange: true,\n\t},\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n columns : {\n data: [\n {\n id:'firstName',\n field: 'firstName',\n text: t('providerManagementDetails.grid.name'),\n flex: 1,\n type: 'template',\n template: ({record})=>{\n\t\t\t\t\treturn StringHelper.xss`${record.data.firstName ?? \"\"} ${record.data.lastName ?? \"\"}`;\n }\n },\n {\n id:'isAdmin',\n field: 'isAdmin',\n text: t('providerManagementDetails.grid.admin'),\n width: 100,\n type: \"template\",\n template: ({record}) => {\n return record.data.isAdmin ? `Admin` : \"\";\n },\n },\n {\n id:'email',\n field: 'email',\n text: t('providerManagementDetails.grid.email'),\n flex: 1\n },\n {\n id:'phoneNumber',\n field: 'phoneNumber',\n text: t('providerManagementDetails.grid.phoneNumber'),\n flex: 1,\n type: 'template',\n template: ({record})=>{\n\t\t\t\t\treturn StringHelper.xss`${record.data.dialCode ?? \"\"}${record.data.phoneNumber ?? \"\"}`;\n }\n },\n {\n id:'anAbSystem.userConfirmationExpired',\n field: 'anAbSystem.userConfirmationExpired',\n text: t('providerManagementDetails.grid.active'),\n width : 36,\n type: \"template\",\n template: ({record}) => {\n return record.data.anAbSystem?.userConfirmationExpired\n ? ``\n : ``;\n },\n },\n {\n id:'isEnabled',\n field: 'isEnabled',\n text: t('providerManagementDetails.grid.cleared'),\n width: 100,\n type: \"template\",\n template: ({record}) => {\n let outputString = \"\";\n if(permissionService.userHasPermission(\"ProviderManagementPolicy.CompanyWorker.Edit\")) {\n outputString = record.data.isEnabled\n ? `` // id=\"isEnabledSwitch\" value=\"${record.data.userId}\"\n : ``;\n } else {\n outputString = ``;\n }\n\n return outputString;\n },\n },\n\t\t\t{\n\t\t\t\tid: 'info',\n\t\t\t\tfield: 'info',\n\t\t\t\ttext: \"\",\n\t\t\t\twidth: 60,\n\t\t\t\tsortable: false,\n\t\t\t\tresizable: false,\n\t\t\t\tminWidth: 60,\n\t\t\t\ttype: \"template\",\n\t\t\t\ttooltipRenderer: ({record}) => {\n\t\t\t\t\t\treturn StringHelper.xss`${record.data.userInfo ?? \"\"}`\n\t\t\t\t},\n\t\t\t\ttemplate: ({record}) => {\n\t\t\t\t\tif(!NullOrUndefinedHelper(record.data.userInfo)) {\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n {\n id:'menu',\n text\t: '',\n width : 36,\n type\t: 'widget',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n widgets : [{\n type\t : 'button',\n width: 36,\n icon\t : 'icon-kontext_horizontal',\n onAction : ({ source: btn }) => {\n const menu = menuFactory(btn.cellInfo.record.data);\n menu.alignTo({ target: btn })\n menu.show();\n }\n }]\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.providerStaff], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedCompanyWorkers.value = selectedCompanyWorkers.value.concat(event.selected.map(cwr => cwr.data))\n selectedCompanyWorkers.value = selectedCompanyWorkers.value.filter(cw => !event.deselected.map(cwr => cwr.data).some(cwr => cw?.id === cwr?.id));\n },\n datachange(){\n globalStore.currentItems = gridStore.count;\n globalStore.allItems = gridStore.originalCount;\n },\n async cellClick({column, record}) {\n if (column.data.field === 'anAbSystem.userConfirmationExpired') {\n if(record.data.anAbSystem.userConfirmationExpired){\n const resp = await companyWorkerService.postResetExpirationForCompanyWorker(selectedCompany.value.id, record.data.userId);\n record.data.anAbSystem.userConfirmationExpired = resp === null || resp === undefined || resp.statusCode !== 0;\n gridStore.add(record);\n }\n }\n if(column.data.field === 'isEnabled'){\n record.data.isEnabled = !record.data.isEnabled;\n const resp = await companyWorkerService.postSetCompanyWorkerEnabled(record.data.userId, record.data.isEnabled);\n record.data.isEnabled = resp === null || resp === undefined || resp.statusCode !== 0;\n gridStore.add(record);\n }\n },\n },\n height: currentWindowHeight,\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst menuFactory = (record:object) => {\n const menu = new Menu({\n anchor : true,\n autoShow : true,\n items\t: [\n {\n text: t(\"providerManagementDetails.grid.reactivate\"),\n disabled: !record.anAbSystem.userConfirmationExpired,\n cls: 'color',\n icon: 'icon-person',\n weight: 100,\n onItem : async ({record}) => {\n const resp = await companyWorkerService.postResetExpirationForCompanyWorker(selectedCompany.value.id, record.data.userId);\n record.data.anAbSystem.userConfirmationExpired = resp === null || resp === undefined || resp.statusCode !== 0;\n gridStore.add(record);\n }\n },\n {\n text: t(\"global.edit\"),\n hidden: !permissionService.userHasPermission(\"ProviderManagementPolicy.CompanyWorker.Edit\"),\n cls: 'color',\n icon: 'icon-editieren',\n weight: 100,\n onItem : ({ menu }) => {\n globalStore.openPopup({\n data: menu.record,\n action:addOrUpdateCompanyWorker,\n resetButton:false,\n title:$t(\"popups.providerManagementDetails.edit\"),\n type:PopupType.providerCompanyWorkerEditPopup\n });\n }\n },\n {\n text : t(\"global.delete\"),\n disabled: !permissionService.userHasPermission(\"ProviderManagementPolicy.Delete\"),\n hidden: false,\n cls\t: 'color',\n icon: 'icon-loeschen',\n weight : 140,\n onItem: async ({ menu }) => {\n const answer = await dialog\n .okText(t(\"global.delete\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"providerManagementDetails.confirmDeletionSingle\", {name: `${menu.record.firstName} ${menu.record.lastName}`}));\n\n if (answer) {\n const resp = await companyWorkerService.deleteCompanyWorker(selectedCompany.value.id, menu.record.id ?? menu.record.userId);\n\n if(resp === null || resp === undefined || resp?.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n gridStore.applyChangeset({removed:[{id:menu.record.id}]});\n\n globalStore.showSuccess(t('global.deleted'));\n }\n }\n }\n ],\n });\n\n menu.setRecord(record);\n\n return menu;\n};\n\nconst newCompanyWorker = () => {\n globalStore.openPopup({\n data: new CompanyWorkerInfo(),\n action: checkForExistingPhoneNumber,\n resetButton: false,\n title:$t(\"popups.providerManagementDetails.new\"),\n type:PopupType.providerNewCompanyWorkerPopup\n });\n}\n\n// CAUTION: missusing userInfo prop here to show messages from api and clearing it before proceeding to edit new cw\nconst checkForExistingPhoneNumber = async ()=>{\n globalStore.modal.contentObject.userInfo = \"\";\n\n const companyWorker = globalStore.modal.contentObject as CompanyWorkerInfo;\n\n const foundCompanyWorkerResp = await companyWorkerService.postSearchCompanyWorkerByPhonenumber(selectedCompany.value.id, companyWorker.dialCode, companyWorker.phoneNumber);\n if (foundCompanyWorkerResp === null || foundCompanyWorkerResp === undefined || foundCompanyWorkerResp.statusCode !== 0){\n ErrorHandler.handleError(foundCompanyWorkerResp, ErrorLocationType.popup);\n return;\n }\n\n if (foundCompanyWorkerResp.statusMessage !== \"\"){\n if(!NullOrUndefinedHelper(foundCompanyWorkerResp.user)){\n foundCompanyWorkerResp.user.id = foundCompanyWorkerResp.user?.userId;\n gridStore.add(foundCompanyWorkerResp.user);\n\n globalStore.closeModal()\n globalStore.showSuccess($t('providerManagementDetails.connectedWorker'))\n }\n globalStore.modal.contentObject.userInfo = foundCompanyWorkerResp.statusMessage;\n\n return;\n }\n\n globalStore.modal.contentObject.userInfo = \"\";\n const user = globalStore.modal.contentObject;\n\n\n globalStore.openPopup({\n data: user,\n action: addOrUpdateCompanyWorker,\n resetButton: false,\n title:$t(\"popups.providerManagementDetails.new\"),\n type:PopupType.providerCompanyWorkerEditPopup\n });\n}\n\nconst addOrUpdateCompanyWorker = async () => {\n const companyWorker = globalStore.modal.contentObject as CompanyWorkerInfo;\n\n const companyWorkerResponse = await companyWorkerService.addorUpdateCompanyWorker(selectedCompany.value.id, companyWorker);\n if (companyWorkerResponse === null || companyWorkerResponse === undefined || companyWorkerResponse.statusCode !== 0){\n ErrorHandler.handleError(companyWorkerResponse as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n if(companyWorker.id === \"\") {\n companyWorker.id = companyWorkerResponse.userId;\n companyWorker.userId = companyWorkerResponse.userId;\n }\n // fix selection when it was an update -> replace old value in selected-array\n else if(selectedCompanyWorkers.value.some(el => el.id === companyWorker.id)) {\n selectedCompanyWorkers.value = selectedCompanyWorkers.value.filter(el => el.id !== companyWorker.id);\n selectedCompanyWorkers.value.push(companyWorker);\n }\n\n gridStore.add(companyWorker);\n gridStore.sort(gridStore.sorters);\n\n globalStore.closeModal();\n globalStore.showSuccess(t('global.saved'));\n}\n\nconst setGridData = async ()=>{\n // start spinner\n globalStore.gridDataIsLoading = true;\n\n const companyWorkerResp = await companyWorkerService.getCompanyWorkerInfoForCompany(selectedCompany.value.id);\n if (companyWorkerResp === null || companyWorkerResp === undefined || companyWorkerResp.statusCode !== 0) {\n ErrorHandler.handleError(companyWorkerResp, ErrorLocationType.table);\n return;\n }\n\n gridStore.setStoreData(companyWorkerResp.companyWorkers.map(cw =>{\n cw.id = cw.userId;\n return cw;\n }));\n\n selectedCompany.value.hasAdmin = companyWorkerResp.companyWorkers.some(cw => cw.isAdmin);\n\n globalStore.reorderColumns(TableType[TableType.providerStaff]);\n\n // stop spinner\n globalStore.gridDataIsLoading = false;\n};\n\n\nonMounted(async () => {\n // start spinner\n globalStore.gridDataIsLoading = true;\n const selectedCompanyResp = await companyService.getCompanyById(router.currentRoute.value.params.id as string);\n\n //@ts-expect-error\n selectedCompany.value = selectedCompanyResp.companyInfo;\n // stop spinner\n globalStore.gridDataIsLoading = false;\n\n // calculate grid height and sub to window resize event\n recalcGridHeight();\n window.addEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n});\n\nonBeforeUnmount(()=>{\n window.removeEventListener('resize', recalcGridHeight);\n\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\nwatchEffect(()=>{\n if (showCompanyDetails.value) recalcGridHeight(195)\n else recalcGridHeight()\n})\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)(\"providerManagementDetails.title\")), 1)\n ]),\n (selectedCompany.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_unref(router).back && _unref(router).back(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", null, _toDisplayString(_unref($t)(\"providerManagementDetails.backButton\")), 1)\n ])\n ]),\n _createElementVNode(\"h4\", _hoisted_6, _toDisplayString(_unref($t)(\"providerManagementDetails.headline\")) + \" \" + _toDisplayString(selectedCompany.value.name), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"providerDetails\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_isRef(showCompanyDetails) //@ts-ignore\n ? showCompanyDetails.value = !_unref(showCompanyDetails) : showCompanyDetails = !_unref(showCompanyDetails)))\n }, [\n (_unref(showCompanyDetails))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"strong\", null, _toDisplayString(_unref($t)(\"providerManagementDetails.address\")), 1),\n _hoisted_10,\n _createTextVNode(\" \" + _toDisplayString(selectedCompany.value.street) + \" \" + _toDisplayString(selectedCompany.value.streetnumber), 1),\n _hoisted_11,\n _createTextVNode(\" \" + _toDisplayString(selectedCompany.value.zip) + \" \" + _toDisplayString(selectedCompany.value.city), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"strong\", null, _toDisplayString(_unref($t)(\"providerManagementDetails.contact\")), 1),\n _hoisted_13,\n _createTextVNode(\" \" + _toDisplayString(selectedCompany.value.contactPersonName), 1),\n _hoisted_14,\n _createTextVNode(\" \" + _toDisplayString(selectedCompany.value.contactPersonPhoneNumber), 1),\n _hoisted_15,\n _createElementVNode(\"a\", {\n href: 'mailto:'+selectedCompany.value.contactPersonEmail\n }, _toDisplayString(selectedCompany.value.contactPersonEmail), 9, _hoisted_16)\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"strong\", null, _toDisplayString(_unref($t)(\"providerManagementDetails.information\")), 1),\n _hoisted_18,\n _createTextVNode(\" \" + _toDisplayString(selectedCompany.value.info), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createTextVNode(_toDisplayString(_unref($t)(\"providerManagementDetails.lessInfos\")) + \" \", 1),\n _hoisted_20\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _createTextVNode(_toDisplayString(_unref($t)(\"providerManagementDetails.moreInfos\")) + \" \", 1),\n _hoisted_23\n ])\n ]))\n ]),\n _withDirectives(_createElementVNode(\"div\", null, [\n _createVNode(_unref(Error), {\n errorLoc: _unref(ErrorLocationType).table\n }, null, 8, [\"errorLoc\"]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n onClick: newCompanyWorker,\n title: _unref(t)('providerManagementDetails.new')\n }, _hoisted_28, 8, _hoisted_26)), [\n [_directive_permission, 'ProviderManagementPolicy.CompanyWorker.Create']\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n class: \"primary mr-2\",\n disabled: !_unref(selectedCompanyWorkers).some(()=>true),\n onClick: deleteSelection,\n title: _unref(t)('global.delete')\n }, _hoisted_31, 8, _hoisted_29)), [\n [_directive_permission, 'ProviderManagementPolicy.CompanyWorker.Delete']\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ], 512), [\n [_vShow, !_unref(globalStore).gridDataIsLoading]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_33, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, _unref(globalStore).gridDataIsLoading]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./ProviderDetails.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ProviderDetails.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport {onMounted} from \"vue\";\nimport router from \"@/router\";\nimport jwt_decode from \"jwt-decode\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\nimport OAuthService from \"@/utilities/services/OAuthService\";\nimport {User} from \"oidc-client\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {notify} from \"@kyvg/vue3-notification\";\nimport {disdiClientConfig} from \"@/AppConfig\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OAuthDisdiCallback',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst userService = new UserService();\n\nonMounted(async ()=> {\n const oAuthService = new OAuthService(globalStore.getAuthorityUrl(), disdiClientConfig.clientId, disdiClientConfig.scopes, disdiClientConfig.callback, disdiClientConfig.silent);\n const userManager = oAuthService.userManager;\n\n let oAuthUser = null as unknown as User;\n try{\n oAuthUser = await userManager.signinRedirectCallback() as User;\n }\n catch (e) {\n console.error(e);\n return;\n }\n\n\n globalStore.setToken(oAuthUser.access_token);\n\n //@ts-expect-error\n const userResp = await userService.getDisdiUserById(jwt_decode(oAuthUser.access_token).sub);\n\n if (userResp === null || userResp === undefined || userResp.statusCode !== 0) {\n ErrorHandler.handleError(userResp, ErrorLocationType.login);\n }\n\n globalStore.setUser(userResp.userInfo);\n\n //@ts-expect-error\n await router.push(globalStore.oAuth.routeAfterLogin);\n\n notify({\n title: \"Erfolg\",\n text: $t('login.notifySuccessfulLogin'),\n duration: 5000,\n type: \"success\"\n });\n})\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, \" Waiting \"))\n}\n}\n\n})","import script from \"./OAuthDisdiCallback.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./OAuthDisdiCallback.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n","import script from \"./OAuthDisdiSilentCallback.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./OAuthDisdiSilentCallback.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport {onMounted} from \"vue\";\nimport router from \"@/router\";\nimport jwt_decode from \"jwt-decode\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {ErrorLocationType, PreferenceType} from \"@/utilities/enums/Enums\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\nimport OAuthService from \"@/utilities/services/OAuthService\";\nimport {User} from \"oidc-client\";\nimport {UserPreference} from \"@/models/user/UserPreference\";\nimport {$t, i18n} from \"@/utilities/i18n/config\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport {MiscService} from \"@/utilities/services/entities/MiscService\";\nimport {notify} from \"@kyvg/vue3-notification\";\nimport {AccountService} from \"@/utilities/services/entities/AccountService\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OAuthSsoCallback',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst userService = new UserService();\nconst miscService = new MiscService();\nconst accountService = new AccountService();\n\nconst setUserSettings = async(userId:string)=> {\n // get filters for user\n const filterResp = await userService.getUserPreferences(userId, PreferenceType.filter);\n // get hiddenColumns for User\n const columnResp = await userService.getUserPreferences(userId, PreferenceType.hiddenColumn);\n // get general settings for User\n const genSetResp = await userService.getUserPreferences(userId, PreferenceType.general);\n // get columnOrder settings for User\n const colOrderResp = await userService.getUserPreferences(userId, PreferenceType.columnOrder);\n\n if (filterResp?.statusCode === 0 && columnResp?.statusCode === 0 && genSetResp?.statusCode === 0 && colOrderResp?.statusCode === 0) {\n globalStore.setUserPreferences({\n userFilters: filterResp.preferenceInfo ?? [],\n userHiddenColumns: columnResp.preferenceInfo ?? [],\n userColumnOrder: colOrderResp.preferenceInfo ?? [],\n general: {\n darkMode: genSetResp.preferenceInfo.find((pi: UserPreference) => pi.attributeName === \"darkMode\")?.attributeValue ?? false,\n userStartPage: genSetResp.preferenceInfo.find((pi: UserPreference) => pi.attributeName === \"userStartPage\")?.attributeValue ?? \"/account\",\n userLocale: genSetResp.preferenceInfo.find((pi: UserPreference) => pi.attributeName === \"userLocale\")?.attributeValue ?? \"de\",\n },\n });\n\n // set language. if not null or undefined fallback to DE\n // @ts-expect-error\n i18n.global.locale.value = globalStore.userPreferences.general.userLocale;\n } else {\n ErrorHandler.handleError(new GeneralResponse(6666, \"Ihre Einstellungen konnten nicht geladen werden\"), ErrorLocationType.table);\n }\n}\n\nconst setHubNotifs = async()=>{\n const notifResp = await miscService.getHubNotifications();\n\n if(notifResp?.statusCode === 0){\n globalStore.notifications = notifResp.notifications;\n }\n else{\n ErrorHandler.handleError(\n new GeneralResponse(6667, \"Die Benachrichtigungen konnte nicht geladen werden\"),\n ErrorLocationType.table\n );\n }\n}\n\nonMounted(async ()=> {\n const clientId = globalStore.settings.startupConfig?.clientId as string;\n const scopes = globalStore.settings.startupConfig?.clientScopes as string;\n const metaDataUrl = globalStore.settings.startupConfig?.metaDataUrl;\n const metaData = !NullOrUndefinedHelper(metaDataUrl) ? await miscService.getOidcMetaData(metaDataUrl as string) : undefined;\n const ssoCallback = \"/sso/oAuthCallback\";\n const ssoSilentCallback = \"/sso/oAuthCallback/silent\";\n\n const oAuthService = new OAuthService(globalStore.getAuthorityUrl(), clientId, scopes, ssoCallback, ssoSilentCallback, metaData);\n\n const userManager = oAuthService.userManager;\n try {\n const oAuthUser = await userManager.signinRedirectCallback() as User;\n\n console.log(oAuthUser)\n\n globalStore.setToken(oAuthUser.id_token);\n\n const exchangedToken = await accountService.exchangeToken(ErrorLocationType.login);\n if (exchangedToken === null){\n //TODO return to login? go to dedicated error page?\n return;\n }\n\n globalStore.setToken(exchangedToken);\n\n //@ts-expect-error\n const userResp = await userService.getUserById(jwt_decode(exchangedToken).id);\n if (userResp === null || userResp === undefined || userResp.statusCode !== 0) {\n ErrorHandler.handleError(userResp, ErrorLocationType.login);\n }\n\n globalStore.setUser(userResp.userInfo);\n\n await setUserSettings(userResp.userInfo.id);\n await setHubNotifs();\n\n //@ts-expect-error\n await router.push(globalStore.userPreferences.general.userStartPage);\n\n notify({\n title: \"Erfolg\",\n text: $t('login.notifySuccessfulLogin'),\n duration: 5000,\n type: \"success\"\n });\n }\n catch (e){\n console.error(\"Login failed:\", e)\n }\n})\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, \" Waiting \"))\n}\n}\n\n})","import script from \"./OAuthSsoCallback.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./OAuthSsoCallback.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n","import script from \"./OAuthSsoSilentCallback.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./OAuthSsoSilentCallback.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"w-full h-full\" }\nconst _hoisted_2 = { class: \"flex flex-col h-full justify-center items-center\" }\n\nimport {onMounted} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {ErrorLocationType, PreferenceType} from \"@/utilities/enums/Enums\";\nimport {UserPreference} from \"@/models/user/UserPreference\";\nimport {$t, i18n} from \"@/utilities/i18n/config\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport jwt_decode from \"jwt-decode\";\nimport router from \"@/router\";\nimport {notify} from \"@kyvg/vue3-notification\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\nimport {MiscService} from \"@/utilities/services/entities/MiscService\";\nimport {usePermissionStore} from \"@/stores/PermissionStore\";\nimport {anabPolicies} from \"@/AppConfig\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SamlCallback',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst userService = new UserService();\nconst miscService = new MiscService();\nconst permissionService = new PermissionService();\n\nconst setUserSettings = async(userId:string)=> {\n // get filters for user\n const filterResp = await userService.getUserPreferences(userId, PreferenceType.filter);\n // get hiddenColumns for User\n const columnResp = await userService.getUserPreferences(userId, PreferenceType.hiddenColumn);\n // get general settings for User\n const genSetResp = await userService.getUserPreferences(userId, PreferenceType.general);\n // get columnOrder settings for User\n const colOrderResp = await userService.getUserPreferences(userId, PreferenceType.columnOrder);\n\n if (filterResp?.statusCode === 0 && columnResp?.statusCode === 0 && genSetResp?.statusCode === 0 && colOrderResp?.statusCode === 0) {\n globalStore.setUserPreferences({\n userFilters: filterResp.preferenceInfo ?? [],\n userHiddenColumns: columnResp.preferenceInfo ?? [],\n userColumnOrder: colOrderResp.preferenceInfo ?? [],\n general: {\n darkMode: genSetResp.preferenceInfo.find((pi: UserPreference) => pi.attributeName === \"darkMode\")?.attributeValue ?? false,\n userStartPage: genSetResp.preferenceInfo.find((pi: UserPreference) => pi.attributeName === \"userStartPage\")?.attributeValue ?? \"/account\",\n userLocale: genSetResp.preferenceInfo.find((pi: UserPreference) => pi.attributeName === \"userLocale\")?.attributeValue ?? \"de\",\n },\n });\n\n // set language. if not null or undefined fallback to DE\n // @ts-expect-error\n i18n.global.locale.value = globalStore.userPreferences.general.userLocale;\n } else {\n ErrorHandler.handleError(new GeneralResponse(6666, \"Ihre Einstellungen konnten nicht geladen werden\"), ErrorLocationType.table);\n }\n}\n\nconst setHubNotifs = async()=>{\n const notifResp = await miscService.getHubNotifications();\n\n if(notifResp?.statusCode === 0){\n globalStore.notifications = notifResp.notifications;\n }\n else{\n ErrorHandler.handleError(\n new GeneralResponse(6667, \"Die Benachrichtigungen konnte nicht geladen werden\"),\n ErrorLocationType.table\n );\n }\n}\n\nconst addDynamicRoles= async ()=>{\n const readRoleString = globalStore.settings.disdiSettings?.permissionRead.join(\", \");\n const editRoleString = globalStore.settings.disdiSettings?.permissionEdit.join(\", \");\n\n //TODO magic string? better idea?\n permissionService.updateDynamicPolicy(\"Disdi.Read\", readRoleString as string);\n permissionService.updateDynamicPolicy(\"Disdi.LocationPropertyEdit\", editRoleString as string);\n}\n\nonMounted(async ()=> {\n const samlMadeToken = localStorage.getItem(\"XSamlToken\") as string; // null check?\n\n globalStore.setToken(samlMadeToken);\n\n localStorage.removeItem(\"XSamlToken\");\n\n\n //@ts-expect-error\n const userInfo = await userService.getUserById(jwt_decode(samlMadeToken).sub ?? jwt_decode(samlMadeToken).id);\n\n if (userInfo === null) {\n console.error(\"couldn't get user -> api resopnded with error\");\n return;\n }\n\n globalStore.setUser(userInfo);\n\n await setUserSettings(userInfo.id);\n await setHubNotifs();\n\n // set new fully set policy array on permission store to make sure it survives page reloads\n const permissionStore = usePermissionStore();\n permissionStore.anabPolicies = anabPolicies;\n\n await addDynamicRoles();\n\n //@ts-expect-error\n await router.push(globalStore.userPreferences.general.userStartPage);\n\n notify({\n title: \"Erfolg\",\n text: $t('login.notifySuccessfulLogin'),\n duration: 5000,\n type: \"success\"\n });\n\n})\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(LoadingSpinner)\n ])\n ]))\n}\n}\n\n})","import script from \"./SamlCallback.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SamlCallback.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { useGlobalStore } from \"@/stores/GlobalStore\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport { ErrorLocationType } from \"@/utilities/enums/Enums\";\nimport { GeneralResponse } from \"@/models/api/Responses\";\nimport router from \"@/router\";\nimport {MiscService} from \"@/utilities/services/entities/MiscService\";\n\n\n/*\n check if user needs to reauthenticate and reroute path to login-page\n*/\nexport default async function reactToRouting ({next}:any){\n const globalStore = useGlobalStore();\n\n const token = globalStore.token;\n const user = globalStore.user;\n\n const resp = new GeneralResponse();\n if(token === null || token === undefined || token.match(/^\\w*$/) !== null) {\n await router.replace(\"/login\");\n\n resp.statusCode = 401;\n\n ErrorHandler.handleError(resp, ErrorLocationType.login);\n }\n else if(user === null || user === undefined) {\n await router.replace(\"/login\");\n\n resp.statusCode = 401;\n\n ErrorHandler.handleError(resp, ErrorLocationType.login);\n }\n\n // make small API call to check refresh expiration\n await (new MiscService()).getHubNotifications()\n\n return next();\n}\n","import router from \"@/router\";\n\n/*\n check if user needs to reauthenticate and reroute path to login-page\n*/\nexport default async function redirectToLogin ({next}:any){\n await router.replace(\"/login\")\n return next();\n}","import PolicyHelper from \"@/utilities/helpers/PolicyHelper\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport router from \"@/router\";\n/*\n check if user needs to reauthenticate and reroute path to login-page\n*/\nexport default function checkPermissionForRoute ({next, to}:any){\n const permissionService = new PermissionService();\n\n const policy = PolicyHelper.getPolicyFromRoute(to.path);\n if (!permissionService.userHasPermission(policy)){\n router.push(\"/error\");\n }\n\n return next();\n}\n","import { useGlobalStore } from \"@/stores/GlobalStore\";\n\nexport default function closeModals ({next}:any){\n const globalStore = useGlobalStore();\n\n globalStore.modal.contentObject = {};\n globalStore.modal.show = false;\n\n return next();\n}","import { useGlobalStore } from \"@/stores/GlobalStore\";\nimport { ErrorLocationType } from \"@/utilities/enums/Enums\";\n\nexport default function hideError ({next}:any){\n const globalStore = useGlobalStore();\n\n if (globalStore.error.location !== ErrorLocationType.none) globalStore.error.location = ErrorLocationType.none;\n\n return next();\n}","import {useGlobalStore} from \"@/stores/GlobalStore\";\n\nexport default function resetFooterCounter ({next}:any){\n const globalStore = useGlobalStore();\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n\n return next();\n}","import {useGlobalStore} from \"@/stores/GlobalStore\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\nexport default function changeTitle ({next}:any){\n const globalStore = useGlobalStore();\n const defaultSystemCompanyName = globalStore.settings.systemCompanySettings?.companyName;\n\n if (!NullOrUndefinedHelper(defaultSystemCompanyName)){\n document.title = `1ANAB Web | ${defaultSystemCompanyName}`;\n }\n\n return next();\n}","import {TableType} from \"@/utilities/enums/Enums\";\nimport router from \"@/router\";\n\n/*\n checks for valid params of the route when opening shadowpage, since the disdi view needs to know what data to get (disdi for loaction or disdi for registration)\n only 3 'navigationParents are allowed':\n 1) from LocationManagment (location)\n 2) from LocationReports (registerLocation)\n 3) from RegistrationReports (register)\n */\nexport default function checkValidParams ({next, to}:any) {\n const navigationParentsType = TableType[to.params.type as keyof typeof TableType];\n const isValidNavigationParent = [TableType.location, TableType.registerLocation, TableType.register]\n .includes(navigationParentsType);\n\n if (!isValidNavigationParent)\n router.push(\"/404\");\n\n return next();\n}","import { createRouter, createWebHistory } from 'vue-router'\nimport LocationReports from \"@/views/LocationReports.vue\";\nimport LocationManagement from \"@/views/Location.vue\";\nimport RegistrationReports from \"@/views/RegistrationReports.vue\";\nimport SafetyInstructions from \"@/views/SafetyInstructions.vue\";\nimport Users from \"@/views/Users.vue\";\nimport Group2 from \"@/views/Group2.vue\";\nimport ControlCenters from \"@/views/ControlCenters.vue\";\nimport Login from \"@/views/Login.vue\";\nimport Settings from \"@/views/Settings.vue\";\nimport Group1 from \"@/views/Group1.vue\";\nimport Account from \"@/views/Account.vue\";\nimport Notifications from \"@/views/Notifications.vue\";\nimport PageNotFound from \"@/views/PageNotFound.vue\";\nimport Error from \"@/views/Error.vue\";\nimport Logout from \"@/views/Logout.vue\";\nimport Privacy from \"@/views/Privacy.vue\";\nimport Activities from \"@/views/Activities.vue\";\nimport Changelog from \"@/views/Changelog.vue\";\nimport CategoryManagement from \"@/views/Category.vue\";\nimport Disdi from \"@/views/Disdi.vue\";\nimport DisdiMaintenance from \"@/views/DisdiMaintenance/DisdiMaintenance.vue\";\nimport OtpLogin from \"@/views/DisdiMaintenance/DisdiLogin.vue\";\nimport DisdiExit from \"@/views/DisdiMaintenance/DisdiExit.vue\";\nimport Provider from \"@/views/Provider.vue\";\nimport ProviderDetails from \"@/views/ProviderDetails.vue\";\nimport OAuthDisdiCallback from \"@/views/oAuth/OAuthDisdiCallback.vue\";\nimport OAuthDisdiSilentCallback from \"@/views/oAuth/OAuthDisdiSilentCallback.vue\";\nimport OAuthSsoCallback from \"@/views/oAuth/OAuthSsoCallback.vue\";\nimport OAuthSsoSilentCallback from \"@/views/oAuth/OAuthSsoSilentCallback.vue\";\nimport SamlCallback from \"@/views/oAuth/SamlCallback.vue\";\nimport checkToken from \"@/router/middleware/checkToken\";\nimport redirectToLogin from \"@/router/middleware/redirectToLogin\";\nimport checkPermissionForRoute from \"@/router/middleware/checkPermission\";\nimport closeModals from \"@/router/middleware/closeModals\";\nimport hideError from \"@/router/middleware/hideError\";\nimport resetFooterCounter from \"@/router/middleware/resetFooterCounter\";\nimport changeTitle from \"@/router/middleware/changeTitle\";\nimport checkValidParams from \"@/router/middleware/checkValidParams\";\n\nconst oAuthRoutes = [\n {\n path: \"/disdi/oAuthCallback\",\n name: 'DisdioAuthCallback',\n component: OAuthDisdiCallback,\n },\n {\n path: \"/disdi/oAuthCallback/silent\",\n name: 'DisdioAuthSilentCallback',\n component: OAuthDisdiSilentCallback,\n },\n {\n path: \"/sso/oAuthCallback\",\n name: 'SsoOAuthCallback',\n component: OAuthSsoCallback,\n },\n {\n path: \"/sso/oAuthCallback/silent\",\n name: 'SsoOAuthSilentCallback',\n component: OAuthSsoSilentCallback,\n },\n {\n path: \"/saml/tokenCallback\",\n name: 'SamlCallback',\n component: SamlCallback,\n },\n]\n\nconst routes = [\n {\n path: '/',\n name: 'Home',\n component: PageNotFound, // THIS IS ONLY A PLACEHOLDER\n meta: {\n middleware: [redirectToLogin],\n }\n },\n ...oAuthRoutes,\n {\n path: '/login',\n name: 'Login',\n component: Login,\n meta: {\n middleware: [hideError, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/disdi/login/:id([0-9a-f]{8}[-]?[0-9a-f]{4}[-]?[0-9a-f]{4}[-]?[0-9a-f]{4}[-]?[0-9a-f]{12})',\n name: 'DisdiOtpLogin',\n component: OtpLogin,\n meta: {\n middleware: [hideError, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/disdi/maintain',\n name: 'DisdiMaintenance',\n component: DisdiMaintenance,\n meta: {\n middleware: [hideError, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/disdi/exit',\n name: 'DisdiExit',\n component: DisdiExit,\n meta: {\n middleware: [hideError, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/disdi/:type/:id',\n name: 'DisdiView',\n components: {\n default: Disdi,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkValidParams, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/locationRegistration',\n name: 'LocationRegistration',\n components: {\n default: LocationReports,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/locationManagement',\n name: 'LocationManagement',\n components: {\n default: LocationManagement,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/registrationReports',\n name: 'RegistrationReports',\n components: {\n default: RegistrationReports,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/safetyInstructions',\n name: 'SafetyInstructions',\n components: {\n default: SafetyInstructions,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/activity',\n name: 'Activities',\n components: {\n default: Activities,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/category',\n name: 'CategoryManagement',\n components: {\n default: CategoryManagement,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/providermanagement/:id([0-9a-f]{8}[-]?[0-9a-f]{4}[-]?[0-9a-f]{4}[-]?[0-9a-f]{4}[-]?[0-9a-f]{12})',\n name: 'ProviderManagementDetails',\n components: {\n default: ProviderDetails,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/providermanagement',\n name: 'ProviderManagement',\n components: {\n default: Provider,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/group2',\n name: 'Group2',\n components: {\n default: Group2,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/users',\n name: 'User',\n components: {\n default: Users,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/controlCenter',\n name: 'ControlCenter',\n components: {\n default: ControlCenters,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/settings',\n name: 'Settings',\n components: {\n default: Settings,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/group1',\n name: 'Group1',\n components: {\n default: Group1,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [checkPermissionForRoute, hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/account',\n name: 'Account',\n components: {\n default: Account,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/changelog',\n name: 'Changelog',\n components: {\n default: Changelog,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/notifications',\n name: 'Notifications',\n components: {\n default: Notifications,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [hideError, checkToken, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: '/error',\n name: 'Error',\n components: {\n default: Error,\n LeftSidebar: () => import('@/components/Sidebar.vue'),\n },\n meta: {\n middleware: [hideError, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: \"/logout\",\n name: 'Logout',\n component: Logout,\n meta: {\n middleware: [hideError, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: \"/privacy\",\n name: 'Privacy',\n component: Privacy,\n meta: {\n middleware: [hideError, closeModals, resetFooterCounter, changeTitle],\n }\n },\n {\n path: \"/:pathMatch(.*)*\",\n name: \"404\",\n component: PageNotFound,\n meta: {\n middleware: [hideError, closeModals, resetFooterCounter, changeTitle],\n }\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(),\n routes: routes,\n})\n\n\n/*--- MIDDLEWARE IMPLEMENTATION ---*/\n\n\nfunction middlewarePipeline (context:any, middleware:any, index:any) {\n const nextMiddleware = middleware[index]\n\n if(!nextMiddleware){\n return context.next\n }\n\n return () => {\n const nextPipeline = middlewarePipeline(\n context, middleware, index + 1\n )\n\n nextMiddleware({ ...context, next: nextPipeline })\n\n }\n}\n\nrouter.beforeEach((to, from, next) => {\n /* Navigate to next if middleware is not applied */\n if (!to.meta.middleware) {\n return next()\n }\n\n const middleware:any = to.meta.middleware;\n const context = {\n to,\n from,\n next,\n // store | You can also pass store as an argument\n }\n\n return middleware[0]({\n ...context,\n next:middlewarePipeline(context, middleware,1)\n })\n})\n\nexport default router;\n","// replace dangerous starting characters and remove seperators from the cell-value\n// see: https://owasp.org/www-community/attacks/CSV_Injection\nimport isNullOrUndefined from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\nexport default (stringToSanitize:string, isPhonenumber:boolean = false):string => {\n // also recheck type since runtime JS is typedynmaic... :(\n if(isNullOrUndefined(stringToSanitize) || typeof(stringToSanitize) !== \"string\") return stringToSanitize;\n\n let result = \"\";\n result = stringToSanitize.replace(/^[=+\\-@\\n\\r\\t]+/g, \"\").replace(/[;,]/gm, \"\").replace(/['\"]/gm, \"\");\n return `${isPhonenumber ? \"+\" : \"\"}${result}`;\n}","import isNullOrUndefined from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport sanatizeCsv from \"@/utilities/helpers/CsvSanitizer\";\n\nexport class LocationCsvExport {\n SecondaryId: string;\n SyncId: string;\n Name: string;\n NamePronunciation: string;\n PhoneNumber: string;\n PhoneNumberAlt1?: string;\n PhoneNumberAlt2?: string;\n PhoneNumberAltIsFallback: boolean;\n PostalCode: string;\n City: string;\n Street: string;\n StreetNumber: string;\n Longitude?: number;\n Latitude?: number;\n RegistrationRadius?: number;\n Email: string;\n Group1Id?: number;\n Group1SyncId: string;\n Group2Id?: number;\n ControlCenterId?: number;\n ControlCenterSyncId: string;\n CustomAdditionalInformation?: string; //technischer platz\n\n\n // replaces undefined or null with empty string for string-required properties, since the Import can't do that easily\n constructor (fullObj:any){\n this.SecondaryId = isNullOrUndefined(fullObj.secondaryId) ? \"\" : sanatizeCsv(fullObj.secondaryId);\n this.SyncId = isNullOrUndefined(fullObj.syncId) ? \"\" : sanatizeCsv(fullObj.syncId);\n this.Name = isNullOrUndefined(fullObj.name) ? \"\" : sanatizeCsv(fullObj.name);\n this.NamePronunciation = isNullOrUndefined(fullObj.namePronunciation) ? \"\" : sanatizeCsv(fullObj.namePronunciation);\n this.PhoneNumber = isNullOrUndefined(fullObj.phoneNumber) ? \"\" : sanatizeCsv(fullObj.phoneNumber, true);\n this.PhoneNumberAlt1 = isNullOrUndefined(fullObj.phoneNumberAlt1) ? \"\" : sanatizeCsv(fullObj.phoneNumberAlt1, true);\n this.PhoneNumberAlt2 = isNullOrUndefined(fullObj.phoneNumberAlt2) ? \"\" : sanatizeCsv(fullObj.phoneNumberAlt2, true);\n this.PhoneNumberAltIsFallback = fullObj.phoneNumberAltIsFallback;\n this.PostalCode = isNullOrUndefined(fullObj.postalCode) ? \"\" : sanatizeCsv(fullObj.postalCode);\n this.City = isNullOrUndefined(fullObj.city) ? \"\" : sanatizeCsv(fullObj.city);\n this.Street = isNullOrUndefined(fullObj.street) ? \"\" : sanatizeCsv(fullObj.street);\n this.StreetNumber = isNullOrUndefined(fullObj.streetNumber) ? \"\" : sanatizeCsv(fullObj.streetNumber);\n this.Longitude = isNullOrUndefined(fullObj.longitude) ? undefined : fullObj.longitude;\n this.Latitude = isNullOrUndefined(fullObj.latitude) ? undefined : fullObj.latitude;\n this.RegistrationRadius = isNullOrUndefined(fullObj.registrationRadius) ? undefined : fullObj.registrationRadius;\n this.Email = isNullOrUndefined(fullObj.email) ? \"\" : sanatizeCsv(fullObj.email);\n this.Group1Id = isNullOrUndefined(fullObj.group1Id) ? undefined : fullObj.group1Id;\n this.Group1SyncId = isNullOrUndefined(fullObj.group1SyncId) ? \"\" : sanatizeCsv(fullObj.group1SyncId);\n this.Group2Id = isNullOrUndefined(fullObj.group2Id) ? undefined : fullObj.group2Id;\n this.ControlCenterId = isNullOrUndefined(fullObj.controlCenterId) ? undefined : fullObj.controlCenterId;\n this.ControlCenterSyncId = isNullOrUndefined(fullObj.controlCenterSyncId) ? \"\" : sanatizeCsv(fullObj.controlCenterSyncId);\n this.CustomAdditionalInformation = isNullOrUndefined(fullObj.customAdditionalInformation) ? \"\" : sanatizeCsv(fullObj.customAdditionalInformation);\n }\n}\n\nexport class UserCsvExport {\n FirstName: string;\n LastName: string;\n NamePronunciation: string;\n IdentificationNumber: string;\n Kid: string;\n Email: string;\n PhoneNumber: string;\n CompanyId?:string;\n Roles: Array;\n IsActive: boolean;\n HasProtection: boolean;\n\n\n constructor (fullObj:any){\n this.FirstName = sanatizeCsv(fullObj.firstName);\n this.LastName = sanatizeCsv(fullObj.lastName);\n this.NamePronunciation = sanatizeCsv(fullObj.namePronunciation);\n this.IdentificationNumber = sanatizeCsv(fullObj.identificationNumber);\n this.Kid = sanatizeCsv(fullObj.kid);\n this.Email = sanatizeCsv(fullObj.email);\n this.PhoneNumber = sanatizeCsv(fullObj.phoneNumber, true);\n this.CompanyId = sanatizeCsv(fullObj.companyId);\n this.Roles = fullObj.roles.map((r:string) => sanatizeCsv(r));\n this.IsActive = fullObj.isActive;\n this.HasProtection = fullObj.hasProtection;\n }\n}\n\nexport class SafetyinstructionCsvExport {\n Name: string;\n Text: string;\n Locations: string;\n\n constructor (fullObj:any){\n this.Name = sanatizeCsv(fullObj.name);\n this.Text = sanatizeCsv(fullObj.text);\n this.Locations = fullObj.safetyInstructionLocations.map((l:any) => l.secondaryId).join(\" | \");\n }\n}\n\nexport class DisdiCsvExport{\n locationSecondaryId:number = -1;\n registrationId:number = -1;\n userFullname:string = \"\";\n userPhoneNumber:string = \"\";\n userEmail:string = \"\";\n identificationNumber:string = \"\";\n kid:string = \"\";\n categoryId:string = \"\";\n diaryDescription:string = \"\";\n hasAttachment:string = \"\";\n comment:string = \"\";\n\n constructor (fullObj:DisdiInfo){\n this.locationSecondaryId = fullObj.locationSecondaryId;\n this.registrationId = fullObj.registrationId;\n this.categoryId = sanatizeCsv(fullObj.categoryId);\n this.diaryDescription = sanatizeCsv(fullObj.diaryDescription);\n this.hasAttachment = fullObj.hasAttachment.toString();\n this.comment = sanatizeCsv(fullObj.comment);\n this.userFullname = sanatizeCsv(fullObj.userFullname);\n this.userPhoneNumber = sanatizeCsv(fullObj.userPhoneNumber, true);\n this.userEmail = sanatizeCsv(fullObj.userEmail);\n this.identificationNumber = sanatizeCsv(fullObj.identificationNumber);\n this.kid = sanatizeCsv(fullObj.kid);\n }\n}\n","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {CoupledSystemsResponse, GeneralResponse, SettingsResponse} from \"@/models/api/Responses\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {CoupledSystemSetting} from \"@/models/system/CoupledSystemSetting\";\nimport {CoupledSystemRequest} from \"@/models/api/Requests\";\n\nexport class CoupledSystemService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getCoupledSystems(viewtype: string = \"selectable\"): Promise {\n const uri = this.uriHelper.coupledSystems.getCoupledSystemsPath() + `/viewType/${viewtype}`;\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getLocationsForForeignSystem(id: number): Promise {\n const uri = this.uriHelper.coupledSystems.getAvailableLocationsForForeignSystemPath(id);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getCoupledSystemSettings(): Promise {\n const uri = this.uriHelper.coupledSystems.getCoupledSystemsPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async addOrUpdateCoupledSystemSetting(cs: CoupledSystemSetting): Promise { // any type not good senior heff\n const uri = cs.id < 0\n ? this.uriHelper.coupledSystems.getCoupledSystemsPath()\n : this.uriHelper.coupledSystems.getCoupledSystemByIdPath(cs.id);\n const requestBody = new CoupledSystemRequest(cs);\n const reqType = cs.id < 0\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteCoupledSystemSetting(id: number): Promise {\n const uri = this.uriHelper.coupledSystems.getCoupledSystemByIdPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n}","import {defineStore} from \"pinia\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {ErrorLocationType, PopupType} from \"@/utilities/enums/Enums\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {CompanyInfo} from \"@/models/company/CompanyInfo\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {GeneralResponse} from \"@/models/api/Responses\";\nimport {CompanyService} from \"@/utilities/services/entities/CompanyService\";\n\n// this store exists because we have a backToEdit button in 'SimilarCompanies'-Popup and add or update action is not shared...\nexport const useProviderStore = defineStore('ProviderStore', {\n state:()=>{\n return {\n companyService: new CompanyService()\n }\n },\n actions: {\n async addOrUpdateProvider() {\n const globalStore = useGlobalStore();\n\n // @ts-expect-error\n const company = globalStore.modal.contentObject.selectedProviderCompany === undefined\n ? globalStore.modal.contentObject\n // @ts-expect-error\n : globalStore.modal.contentObject.selectedProviderCompany ;\n\n // check if there are similar companies and offer them for selection\n if(company.id === \"\"){\n const similarCompaniesResp = await this.companyService.postGetAllSimilarCompany(company);\n // if call fails silently fail... sad but true (\\m/,) for the moment\n if(similarCompaniesResp === null || similarCompaniesResp === undefined || similarCompaniesResp.statusCode !== 0) return;\n\n if(similarCompaniesResp.companiesInfo.some(()=>true)){\n // @ts-expect-error\n similarCompaniesResp.companiesInfo = similarCompaniesResp.companiesInfo.map(sc => { sc[\"id\"] = sc.companyId; return sc; });\n\n company.id = \"null\";\n globalStore.openPopup({\n data: {\"suggestedProviderCompany\":company, \"similarCompanies\":similarCompaniesResp.companiesInfo, \"selectedProviderCompany\":company},\n action: this.letEnterCompanyIdCodeIfNeeded,\n resetButton: false,\n title:$t(\"popups.providerManagement.similarCompanies\"),\n type:PopupType.selectSimilarCompany\n });\n return;\n }\n }\n\n await this.tryCreateAndConnectCompany(company);\n },\n\n async letEnterCompanyIdCodeIfNeeded(){\n const globalStore = useGlobalStore();\n\n // @ts-expect-error\n const company = globalStore.modal.contentObject.selectedProviderCompany as CompanyInfo;\n\n // let enter CompanyIdCode if needed\n if(!NullOrUndefinedHelper(company.id) && (company.companyIdCode === undefined || company.companyIdCode === \"\")){\n globalStore.openPopup({\n data: company,\n action: this.addOrUpdateProvider,\n resetButton: false,\n title:$t(\"popups.providerManagement.new\"),\n type:PopupType.providerManagementEditPopup\n });\n\n return;\n }\n\n await this.addOrUpdateProvider();\n },\n\n async tryCreateAndConnectCompany(company:CompanyInfo) {\n const globalStore = useGlobalStore();\n\n const companyCreateResp = await this.companyService.addOrUpdateCompany(company);\n if (companyCreateResp === null || companyCreateResp === undefined || companyCreateResp.statusCode !== 0){\n ErrorHandler.handleError(companyCreateResp as GeneralResponse, ErrorLocationType.popup);\n return;\n }\n\n // when company is new create companyEnity first\n // CAUTION: sadly there are 2 cases here: 1) similar companies found && still create -> id === \"null\" 2) no similar companyies found -> id === \"\"\n if(NullOrUndefinedHelper(company.id)){\n // @ts-expect-error\n company.id = companyCreateResp.companyId;\n // @ts-expect-error\n company.companyId = company.id;\n }\n\n\n // connect companyEntity with current system (cross table entry AnAbSystemCompany)\n const connectResp = await this.companyService.postConnectSystemToCompany(undefined, company.id, company.companyIdCode, company.info);\n if (connectResp === null || connectResp === undefined || connectResp.statusCode !== 0){\n ErrorHandler.handleError(connectResp as GeneralResponse, ErrorLocationType.popup);\n\n await this.companyService.deleteCompany(company.id); // fire and forget call\n\n company.id = \"null\";\n // @ts-expect-error\n delete company.companyId;\n\n return;\n }\n\n // @ts-expect-error\n company.address = `${company.street} ${company.streetnumber}, ${company.zip} ${company.city}`;\n\n globalStore.gridStore?.add(company);\n globalStore.gridStore?.sort(globalStore.gridStore.sorters);\n\n globalStore.closeModal();\n globalStore.showSuccess($t('global.saved'));\n }\n }\n\n})","import { ErrorType, ErrorLocationType } from \"@/utilities/enums/Enums\";\nimport router from \"@/router\";\nimport { GeneralResponse } from \"@/models/api/Responses\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport { $t } from \"@/utilities/i18n/config\";\n\nclass ErrorHandler {\n\n public handleError(error:any, errorLocation:ErrorLocationType){\n\n const statusCode = error.statusCode ?? error.StatusCode;\n const isResponseError = statusCode > 999;\n const errorType = isResponseError ? ErrorType.warning : ErrorType.error;\n\n let notify = true;\n if(isResponseError){\n notify = this.reactoToStatusCode(statusCode, error.companyName ?? \"\");\n\n if(notify){\n this.notifyFailedCommunication(errorType, $t(`error.status.${statusCode}`), errorLocation);\n }\n }\n else{\n notify = this.reactoToStatusCode(statusCode);\n\n if(notify){\n\n if(statusCode === 403) {\n this.notifyFailedCommunication(errorType, $t(\"error.status.accessDenied\"), errorLocation);\n } else {\n this.notifyFailedCommunication(errorType, $t(\"error.status.general\", {message:error.statusDescription ?? error.StatusDescription}), errorLocation);\n }\n\n }\n }\n }\n\n\n /* PRIVATE */\n\n\n private notifyFailedCommunication(type:ErrorType, text:string, errorLocation:ErrorLocationType) {\n const globalStore = useGlobalStore();\n\n globalStore.gridDataIsLoading = false;\n\n globalStore.error = {\n location: errorLocation,\n text: text,\n type: type,\n };\n }\n\n\n /*\n handles special status codes and what to do when encountering them\n returns if the calling method needs to notify the user\n */\n private reactoToStatusCode(status:number, additionalInfo:string = \"\"):boolean {\n switch (status) {\n\n case 9085: // API error code for cookie/refreshtoken expired OR empty\n case 401:{\n this.notifyFailedCommunication(ErrorType.error, $t('global.noValidToken'), ErrorLocationType.login);\n router.push(\"/login\");\n\n return false;\n }\n case 4028:{\n this.notifyFailedCommunication(ErrorType.error, $t(`error.status.${status}`, {companyName: additionalInfo}), ErrorLocationType.popup);\n return false;\n }\n\n default:{\n return true;\n }\n }\n }\n}\n\nexport default new ErrorHandler();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Error.vue?vue&type=style&index=0&id=0cbbdaac&lang=scss\"","// checks for the following: null, undefined, \"null\" and string.empty ('')\nexport default (toCheck:any) => toCheck === null || toCheck === undefined || toCheck === \"null\" || toCheck === \"\";","export class NameValueObject{\n name:string = \"\";\n value:string = \"\";\n\n constructor(name:string, value:string) {\n this.name = name;\n this.value = value;\n }\n}","import { Guid } from \"guid-typescript\";\nimport { LocationInfo } from \"@/models/location/LocationInfo\";\nimport { ControlCenterInfo } from \"@/models/controlCenter/ControlCenterInfo\";\nimport { LevelInfo } from \"@/models/group2/LevelInfo\";\nimport { ContactInfo } from \"@/models/ContactInfo\";\nimport { RegionInfo } from \"@/models/group1/RegionInfo\";\nimport { SafetyInstructionInfo } from \"@/models/safetyInstruction/SafetyInstructionInfo\";\nimport { UserPreference } from \"@/models/user/UserPreference\";\nimport { UserInfo } from \"@/models/user/UserInfo\";\nimport isNullOrUndefined from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {CompanyInfo} from \"@/models/company/CompanyInfo\";\nimport {CompanyWorkerInfo} from \"@/models/company/CompanyWorkerInfo\";\nimport {ActivitySetInfo} from \"@/models/activity/ActivitySetInfo\";\nimport {CoupledSystemSetting} from \"@/models/system/CoupledSystemSetting\";\nimport {PronunciationSetting} from \"@/models/setting/PronunciationSetting\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\nimport {DisdiSetting} from \"@/models/setting/disdi/DisdiSetting\";\nimport {NameValueObject} from \"@/models/NameValueObject\";\nimport {DisdiMetadataType, DisdiStateType} from \"@/utilities/enums/Enums\";\nimport {ActivityInfo} from \"@/models/activity/ActivityInfo\";\nimport {LocationDisdiInfo} from \"@/models/location/LocationDisdiInfo\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\n\nexport class GeneralRequest {\n requestId: Guid = Guid.create();\n}\n\nexport class LocationRequest extends GeneralRequest {\n id: number = 0;\n secondaryId: string = \"\";\n syncId?: string = undefined;\n longitude?: number = undefined;\n latitude?: number = undefined;\n registrationRadius?: number = undefined;\n name: string = \"\";\n namePronunciation: string = \"\";\n email: string = \"\";\n contactInfo: ContactInfo = new ContactInfo();\n phoneNumberAlt1?: string = undefined;\n phoneNumberAlt2?: string = undefined;\n phoneNumberAltIsFallback: boolean = false;\n controlCenterId?: number = undefined;\n couplingEnabled: boolean = false;\n customAdditionalInformation?: string = undefined;\n group1Id?: number = undefined;\n group2Id?: number = undefined;\n safetyInstructions: Array<{ id:number, displayOrder:number }> = [];\n pdfTemplate?: number = undefined;\n activitySetId: number|null = null;\n hasDisdi: boolean;\n\n constructor(location:LocationInfo) {\n super();\n this.id = location.id;\n this.secondaryId = location.secondaryId;\n this.syncId = location.syncId === \"\" ? undefined: location.syncId;\n this.longitude = NullOrUndefinedHelper(location.longitude) ? undefined : location.longitude;\n this.latitude = NullOrUndefinedHelper(location.latitude) ? undefined : location.latitude;\n this.registrationRadius = location.registrationRadius;\n this.name = location.name;\n this.namePronunciation = location.namePronunciation;\n this.email = location.email;\n this.contactInfo = location.contactInfo;\n this.phoneNumberAlt1 = location.phoneNumberAlt1;\n this.phoneNumberAlt2 = location.phoneNumberAlt2;\n this.phoneNumberAltIsFallback = location.phoneNumberAltIsFallback;\n this.controlCenterId = location.controlCenterId;\n this.couplingEnabled = location.couplingEnabled;\n this.customAdditionalInformation = location.customAdditionalInformation;\n this.group1Id = location.group1Id;\n this.group2Id = location.group2Id;\n this.safetyInstructions = location.safetyInstructions;\n this.pdfTemplate = location.pdfTemplate;\n this.activitySetId = location.activitySetId;\n this.hasDisdi = location.hasDisdi;\n }\n}\n\nexport class ControlCenterRequest extends GeneralRequest {\n id:number = -1;\n name:string = \"\";\n phoneNumber:string = \"\";\n syncId?:string = undefined;\n\n constructor(center:ControlCenterInfo) {\n super();\n this.id = center.id;\n this.name = center.name;\n this.phoneNumber = center.phoneNumber;\n this.syncId = center.syncId;\n }\n}\n\nexport class LevelRequest extends GeneralRequest {\n id:number = -1;\n name:string = \"\";\n\n constructor(level:LevelInfo) {\n super();\n this.id = level.id;\n this.name = level.name;\n }\n}\n\nexport class RegionRequest extends GeneralRequest {\n id:number = -1;\n name:string = \"\";\n syncId:string = \"\";\n\n constructor(region:RegionInfo) {\n super();\n this.id = region.id;\n this.name = region.name;\n this.syncId = region.syncId;\n }\n}\n\nexport class UserPreferenceRequest extends GeneralRequest {\n userId:string = \"\";\n preferenceTypeId:number = -1;\n tableName:string = \"\";\n clearAll:boolean = false;\n preferenceInfos:Array = [];\n\n constructor(id:string, typeId:number, tableName:string, clearAll:boolean, prefList:Array) {\n super();\n this.userId = id;\n this.preferenceTypeId = typeId;\n this.tableName = tableName;\n this.clearAll = clearAll;\n this.preferenceInfos = prefList;\n }\n}\n\nexport class LoginRequest extends GeneralRequest {\n email:string = \"\";\n password:string = \"\";\n rememberMe: boolean = false;\n\n constructor(email: string, password: string, rememberMe: boolean)\n {\n super();\n this.email = email;\n this.password = password;\n this.rememberMe = rememberMe;\n }\n}\n\nexport class ResetPasswordEmailRequest extends GeneralRequest {\n email:string = \"\";\n url:string = \"\";\n\n constructor(email:string, url:string){\n super();\n this.email = email;\n this.url = url;\n }\n}\n\nexport class ResetPasswordRequest extends GeneralRequest {\n token:string;\n email:string;\n password:string;\n passwordRepetition:string;\n\n constructor(token:string, email:string, password:string, passwordRepetition:string){\n super();\n this.token = token;\n this.email = email;\n this.password = password;\n this.passwordRepetition = passwordRepetition;\n }\n}\n\nexport class ChangePasswordRequest extends GeneralRequest {\n userId:string;\n oldPassword:string;\n newPassword:string;\n newPasswordRepetition:string;\n\n constructor(userId:string, oldPassword:string, newPassword:string, newPasswordRepetition:string){\n super();\n this.userId = userId;\n this.oldPassword = oldPassword;\n this.newPassword = newPassword;\n this.newPasswordRepetition = newPasswordRepetition;\n }\n}\n\nexport class RefreshTokenRequest extends GeneralRequest {\n accessToken:string;\n\n constructor(accessToken:string){\n super();\n this.accessToken = accessToken;\n }\n}\n\nexport class UserRequest extends GeneralRequest {\n id:string;\n firstName:string;\n lastName:string;\n identificationNumber:string;\n kid:string|null|undefined;\n email?:string;\n phoneNumber?:string;\n namePronunciation:string;\n roles:Array;\n info:string;\n hasProtection:boolean;\n hasMultiAnAb:boolean;\n companyId?:string;\n\n constructor(user:UserInfo){\n super();\n this.id = user.id;\n this.firstName = user.firstName;\n this.lastName = user.lastName;\n this.identificationNumber = user.identificationNumber;\n this.kid = isNullOrUndefined(user.kid) ? undefined : user.kid;\n this.email = isNullOrUndefined(user.email) ? undefined : user.email;\n this.phoneNumber = isNullOrUndefined(user.phoneNumber) ? undefined : user.phoneNumber;\n this.namePronunciation = user.namePronunciation;\n this.roles = user.roles.map(r => r.name);\n this.info = user.info;\n this.hasProtection = user.hasProtection;\n this.hasMultiAnAb = false;\n this.companyId = user.companyId;\n }\n}\n\nexport class VoiceTestRequest extends GeneralRequest {\n text: string;\n callNumber: string;\n\n constructor(text:string, callNumber:string){\n super();\n this.text = text;\n this.callNumber = callNumber;\n }\n}\n\nexport class ManualRegistrationRequest extends GeneralRequest {\n userId:string = \"\";\n locationId:number = 0;\n activityText?:string = undefined;\n guestCount:number = 0;\n\n constructor(userId:string, locationId:number, activityText:string|undefined, guestCount:number) {\n super();\n this.userId = userId;\n this.locationId = locationId;\n this.activityText = activityText;\n this.guestCount = guestCount;\n }\n}\n\nexport class SafetyInstructionRequest extends GeneralRequest {\n id:number = -1;\n name:string = \"\";\n text:string = \"\";\n locationIds:Array = [];\n\n constructor(si:SafetyInstructionInfo) {\n super();\n this.id = si.id;\n this.name = si.name;\n this.text = si.text;\n this.locationIds = si.safetyInstructionLocations.map((l:LocationInfo) => l.id);\n }\n}\n\nexport class ActivityInfoRequest extends GeneralRequest {\n activityId:number = -1;\n activityText:string = \"\";\n categoryId:string|null = null;\n\n constructor(activity:ActivityInfo) {\n super();\n this.activityId = activity.id ?? activity.activityId;\n this.activityText = activity.name ?? activity.activityText;\n this.categoryId = activity.categoryId;\n }\n}\n\nexport class SendMessageRequest extends GeneralRequest {\n locationIds:Array = [];\n message:string = \"\";\n\n constructor(ids:Array, message:string) {\n super();\n this.locationIds = ids;\n this.message = message;\n }\n}\n\nexport class CompanyRequest extends GeneralRequest {\n name:string = \"\";\n phone:string = \"\";\n phoneNumber:string = \"\";\n zip:string = \"\";\n city:string = \"\";\n street:string = \"\";\n streetnumber:string = \"\";\n dialCode:string = \"\";\n\n constructor(company:CompanyInfo) {\n super();\n this.name = company.name;\n this.phone = company.phoneNumber;\n this.phoneNumber = company.phoneNumber;\n this.zip = company.zip;\n this.city = company.city;\n this.street = company.street;\n this.streetnumber = company.streetnumber;\n this.dialCode = company.dialCode;\n }\n}\n\nexport class ConnectSystemToCompanyRequest extends GeneralRequest {\n anAbSystemId?:string = undefined;\n companyId:string = \"\";\n companyIdCode:string = \"\";\n info:string = \"\";\n\n constructor(systemId:(string | undefined) = undefined, companyId:string, companyIdCode:string, info:string) {\n super();\n this.anAbSystemId = systemId;\n this.companyId = companyId;\n this.companyIdCode = companyIdCode;\n this.info = info;\n }\n}\n\nexport class CompanyWorkerToAdminRequest extends GeneralRequest {\n companyId:string = \"\";\n companyIdCode:string = \"\";\n companyInfo:string = \"\";\n firstName:string = \"\";\n lastName:string = \"\";\n dialCode:string = \"\";\n phoneNumber:string = \"\";\n email:string = \"\";\n\n constructor(company:CompanyInfo, user:CompanyWorkerInfo){\n super();\n this.companyId = company.id;\n this.companyIdCode = company.companyIdCode;\n this.companyInfo = company.info;\n this.firstName = user.firstName;\n this.lastName = user.lastName;\n this.dialCode = user.dialCode;\n this.phoneNumber = user.phoneNumber;\n this.email = user.email;\n }\n}\n\nexport class PhoneNumberRequest extends GeneralRequest {\n dialCode:string = \"\";\n phoneNumber:string = \"\";\n\n constructor(dialCode:string, phoneNumber:string) {\n super();\n this.dialCode = dialCode;\n this.phoneNumber = phoneNumber;\n }\n}\n\nexport class CompanyWorkerRequest extends GeneralRequest {\n firstName:string = \"\";\n lastName:string = \"\";\n email:string = \"\";\n phoneNumber:string = \"\";\n dialCode:string = \"\";\n isEnabled:boolean = false;\n isAnonymous:boolean = false;\n expirationStatus:boolean = false;\n\n constructor(companyWorker:CompanyWorkerInfo) {\n super();\n this.firstName = companyWorker.firstName;\n this.lastName = companyWorker.lastName;\n this.email = companyWorker.email;\n this.phoneNumber = companyWorker.phoneNumber;\n this.dialCode = companyWorker.dialCode;\n this.isEnabled = companyWorker.isEnabled;\n this.isAnonymous = companyWorker.isAnonymous;\n this.expirationStatus = companyWorker.anAbSystem?.userConfirmationExpired ?? false;\n }\n}\n\nexport class ActivitySetInfoRequest extends GeneralRequest {\n name:string = \"\";\n activityIds:Array = [];\n addedLocationIds:Array = [];\n removedLocationIds:Array = [];\n\n constructor(activitySet:ActivitySetInfo, ids:{added:Array, removed:Array}) {\n super();\n this.name = activitySet.name;\n this.activityIds = activitySet.activities.map(a => a.id ?? a.activityId);\n this.addedLocationIds = ids.added;\n this.removedLocationIds = ids.removed;\n }\n}\n\nexport class CoupledSystemRequest extends GeneralRequest {\n id:number = -1;\n name:string = \"\";\n baseUrl:string = \"\";\n loginName:string = \"\";\n password:string = \"\";\n contactName:string = \"\";\n contactEmail:string = \"\";\n contactPhoneNumber:string = \"\";\n\n constructor(cs:CoupledSystemSetting) {\n super();\n this.id = cs.id;\n this.name = cs.name;\n this.baseUrl = cs.baseUrl;\n this.loginName = cs.loginName;\n this.password = cs.password;\n this.contactName = cs.contactName;\n this.contactEmail = cs.contactEmail;\n this.contactPhoneNumber = cs.contactPhoneNumber;\n }\n}\n\nexport class UpdatePronuncicationRequest extends GeneralRequest{\n name:string = \"\";\n value:string = \"\";\n\n constructor(ps:PronunciationSetting) {\n super();\n this.name = ps.name;\n this.value = ps.value;\n }\n}\n\nexport class SystemSettingUpdateRequest extends GeneralRequest{\n value:string = \"\";\n\n constructor(ss:any) {\n super();\n this.value = ss.value;\n }\n}\n\nexport class ChangeActivityRequest extends GeneralRequest{\n activityId :number = 0;\n activityText:string = \"\";\n\n constructor(id:number | undefined, text:string) {\n super();\n this.activityId = id ?? 0;\n this.activityText = text;\n }\n}\n\nexport class CategoryRequest extends GeneralRequest{\n id :string = \"\";\n iconName:string = \"\";\n title:string = \"\";\n description: string = \"\";\n\n constructor(category:CategoryInfo) {\n super();\n this.id = category.id;\n this.iconName = category.iconName;\n this.title = category.title;\n this.description = category.description;\n }\n}\n\nexport class UpdateDisdiSettingRequest extends GeneralRequest{\n disdi:string = \"\";\n permissionRead:Array = [];\n permissionEdit:Array = [];\n pictures:number = -1;\n metaTimestamp:string = \"\";\n metaEditor:boolean = false;\n metaInvisibleTime:number = -1;\n metaInvisible:number = -1;\n metaDeleteAll:number = -1;\n purgeOldDiaryEntriesIntervalDay:number = -1;\n defaultCategory: string = \"\";\n showInAppNr:number = -1;\n showInAppDays:number = -1;\n useGallery:boolean = false;\n\n constructor(disdiSetting:DisdiSetting) {\n super();\n this.disdi = DisdiStateType[disdiSetting.disdi];\n this.permissionRead = disdiSetting.permissionRead;\n this.permissionEdit = disdiSetting.permissionEdit;\n this.pictures = disdiSetting.pictures;\n this.metaTimestamp = DisdiMetadataType[disdiSetting.metaTimestamp];\n this.metaEditor = disdiSetting.metaEditor;\n this.metaInvisibleTime = disdiSetting.metaInvisibleTime;\n this.metaInvisible = disdiSetting.metaInvisible;\n this.metaDeleteAll = disdiSetting.metaDeleteAll;\n this.purgeOldDiaryEntriesIntervalDay = disdiSetting.purgeOldDiaryEntriesIntervalDay;\n this.defaultCategory = disdiSetting.defaultCategory;\n this.showInAppNr = disdiSetting.showInAppNr;\n this.showInAppDays = disdiSetting.showInAppDays;\n this.useGallery = disdiSetting.useGallery;\n }\n\n /*\n returns array with name-value object for backend...\n */\n public convertToRequestBody():Array{\n return Object.entries(this)\n .map((kvA)=> new NameValueObject(kvA[0], `${kvA[1]}`))\n .filter(kvA => kvA.name !== \"requestId\"); // remove requestId from requestBody since it is not part of the settings\n }\n}\n\nexport class DisdiChangeRequest extends GeneralRequest{\n locationDisdiSettings:Array = [];\n\n constructor(changesList:Array) {\n super();\n this.locationDisdiSettings = changesList;\n }\n}\n\nexport class FileNameListRequest extends GeneralRequest{\n fileNames:Array;\n\n constructor(fileNamelist:Array) {\n super();\n this.fileNames = fileNamelist;\n }\n}\n\nexport class UpdateDisdiEntryRequest extends GeneralRequest{\n diaryDescription:string;\n comment:string;\n categoryId:string;\n isCompleted:boolean;\n\n constructor(entry:DisdiInfo) {\n super();\n this.diaryDescription = entry.diaryDescription;\n this.comment = entry.comment;\n this.categoryId = entry.categoryId;\n this.isCompleted = entry.isCompleted;\n }\n}\n\nexport class CreateEmptyDisdiRequest extends GeneralRequest{\n locationSecondaryId:number;\n registrationId:number;\n userId:string;\n\n constructor(locSecId:number, regId:number, userId:string) {\n super();\n this.locationSecondaryId = locSecId;\n this.registrationId = regId;\n this.userId = userId;\n }\n}\n","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {ActivitySetResponse, GeneralResponse} from \"@/models/api/Responses\";\nimport {HttpType} from \"@/utilities/enums/Enums\";\nimport {ActivitySetInfo} from \"@/models/activity/ActivitySetInfo\";\nimport {ActivitySetInfoRequest} from \"@/models/api/Requests\";\n\nexport class ActivitySetService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getActivitySets(viewType:string = \"display\"):Promise{\n const uri = this.uriHelper.activitySets.getActivitySetsPath(viewType);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async addOrUpdateActivitySet(activitySet:ActivitySetInfo, locationIds:{added:Array, removed:Array}):Promise{\n const uri = activitySet.id < 0\n ? this.uriHelper.activitySets.getActivitySetBasePath()\n : this.uriHelper.activitySets.getSpecificActivitySetPath(activitySet.id);\n\n const requestBody = new ActivitySetInfoRequest(activitySet, locationIds);\n\n const reqType = activitySet.id < 0\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteActivitySet(id:number):Promise{\n const uri = this.uriHelper.activitySets.getSpecificActivitySetPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n}\n","\n\n\n\n\n","import script from \"./Success.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Success.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createVNode as _createVNode, vModelCheckbox as _vModelCheckbox, resolveDirective as _resolveDirective, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"inputGroup\" }\nconst _hoisted_2 = { class: \"groupTitle\" }\nconst _hoisted_3 = { class: \"groupInputs flex\" }\nconst _hoisted_4 = { class: \"inputRow\" }\nconst _hoisted_5 = { class: \"inputTitle\" }\nconst _hoisted_6 = { class: \"inputField flex-grow\" }\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_8 = { class: \"error-msg\" }\nconst _hoisted_9 = { class: \"inputRow\" }\nconst _hoisted_10 = { class: \"inputTitle\" }\nconst _hoisted_11 = { class: \"inputField flex-grow\" }\nconst _hoisted_12 = { class: \"groupInputs flex\" }\nconst _hoisted_13 = { class: \"inputRow\" }\nconst _hoisted_14 = { class: \"inputTitle\" }\nconst _hoisted_15 = { class: \"inputField flex-grow\" }\nconst _hoisted_16 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_17 = { class: \"error-msg\" }\nconst _hoisted_18 = { class: \"inputRow\" }\nconst _hoisted_19 = { class: \"inputTitle\" }\nconst _hoisted_20 = { class: \"inputField flex-grow\" }\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_22 = { class: \"error-msg\" }\nconst _hoisted_23 = { class: \"inputRow\" }\nconst _hoisted_24 = { class: \"inputTitle\" }\nconst _hoisted_25 = { class: \"inputField flex-grow\" }\nconst _hoisted_26 = { class: \"error-msg\" }\nconst _hoisted_27 = { class: \"inputGroup\" }\nconst _hoisted_28 = { class: \"groupTitle\" }\nconst _hoisted_29 = { class: \"groupInputs flex\" }\nconst _hoisted_30 = { class: \"inputRow\" }\nconst _hoisted_31 = { class: \"inputTitle\" }\nconst _hoisted_32 = { class: \"inputField flex-grow\" }\nconst _hoisted_33 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_34 = { class: \"error-msg\" }\nconst _hoisted_35 = { class: \"inputRow\" }\nconst _hoisted_36 = { class: \"inputTitle\" }\nconst _hoisted_37 = { class: \"inputField flex-grow\" }\nconst _hoisted_38 = { class: \"groupInputs flex\" }\nconst _hoisted_39 = { class: \"inputRow\" }\nconst _hoisted_40 = { class: \"inputTitle\" }\nconst _hoisted_41 = { class: \"inputField flex-grow\" }\nconst _hoisted_42 = { class: \"inputRow\" }\nconst _hoisted_43 = { class: \"inputTitle\" }\nconst _hoisted_44 = { class: \"inputField flex-grow\" }\nconst _hoisted_45 = { class: \"groupInputs flex\" }\nconst _hoisted_46 = { class: \"inputRow\" }\nconst _hoisted_47 = { class: \"inputTitle\" }\nconst _hoisted_48 = { class: \"inputField flex-grow\" }\nconst _hoisted_49 = { class: \"inputRow\" }\nconst _hoisted_50 = { class: \"inputTitle\" }\nconst _hoisted_51 = { class: \"inputField flex-grow\" }\nconst _hoisted_52 = { class: \"groupInputs flex\" }\nconst _hoisted_53 = { class: \"inputRow\" }\nconst _hoisted_54 = { class: \"inputTitle\" }\nconst _hoisted_55 = { class: \"inputField flex-grow\" }\nconst _hoisted_56 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_57 = { class: \"error-msg\" }\nconst _hoisted_58 = { class: \"inputRow\" }\nconst _hoisted_59 = { class: \"inputTitle\" }\nconst _hoisted_60 = { class: \"inputField flex-grow\" }\nconst _hoisted_61 = { class: \"error-msg\" }\nconst _hoisted_62 = { class: \"inputGroup\" }\nconst _hoisted_63 = { class: \"groupTitle\" }\nconst _hoisted_64 = { class: \"groupInputs flex\" }\nconst _hoisted_65 = { class: \"inputRow\" }\nconst _hoisted_66 = { class: \"inputField flex my-2\" }\nconst _hoisted_67 = { class: \"inputTitle ml-2\" }\nconst _hoisted_68 = { for: \"phoneNumberAltIsFallback\" }\nconst _hoisted_69 = { class: \"inputRow\" }\nconst _hoisted_70 = { class: \"inputField flex my-2\" }\nconst _hoisted_71 = { class: \"inputTitle ml-2\" }\nconst _hoisted_72 = { for: \"couplingEnabled\" }\nconst _hoisted_73 = { class: \"groupInputs flex\" }\nconst _hoisted_74 = { class: \"inputRow\" }\nconst _hoisted_75 = { class: \"inputTitle\" }\nconst _hoisted_76 = { class: \"inputField flex-grow\" }\nconst _hoisted_77 = [\"placeholder\"]\nconst _hoisted_78 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_79 = { class: \"error-msg\" }\nconst _hoisted_80 = { class: \"inputRow\" }\nconst _hoisted_81 = { class: \"inputTitle\" }\nconst _hoisted_82 = { class: \"inputField flex-grow\" }\nconst _hoisted_83 = [\"placeholder\"]\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_85 = { class: \"error-msg\" }\nconst _hoisted_86 = { class: \"groupInputs flex\" }\nconst _hoisted_87 = { class: \"inputRow\" }\nconst _hoisted_88 = { class: \"inputTitle\" }\nconst _hoisted_89 = { class: \"inputField flex-grow\" }\nconst _hoisted_90 = { class: \"inputGroup\" }\nconst _hoisted_91 = { class: \"groupTitle\" }\nconst _hoisted_92 = {\n key: 0,\n class: \"groupInputs flex\"\n}\nconst _hoisted_93 = { class: \"inputRow\" }\nconst _hoisted_94 = { class: \"inputField flex my-2\" }\nconst _hoisted_95 = [\"disabled\"]\nconst _hoisted_96 = { class: \"inputTitle ml-2\" }\nconst _hoisted_97 = { for: \"couplingEnabled\" }\nconst _hoisted_98 = { class: \"groupInputs flex\" }\nconst _hoisted_99 = { class: \"inputRow\" }\nconst _hoisted_100 = { class: \"inputTitle\" }\nconst _hoisted_101 = { class: \"inputField flex-grow\" }\nconst _hoisted_102 = { class: \"inputRow\" }\nconst _hoisted_103 = { class: \"inputTitle\" }\nconst _hoisted_104 = { class: \"inputField flex-grow\" }\nconst _hoisted_105 = { class: \"groupInputs flex\" }\nconst _hoisted_106 = { class: \"inputRow\" }\nconst _hoisted_107 = { class: \"inputTitle\" }\nconst _hoisted_108 = { class: \"inputField flex-grow\" }\nconst _hoisted_109 = { class: \"error-msg\" }\nconst _hoisted_110 = { class: \"inputRow\" }\nconst _hoisted_111 = { class: \"inputTitle\" }\nconst _hoisted_112 = { class: \"inputField flex-grow\" }\nconst _hoisted_113 = { class: \"groupInputs flex\" }\nconst _hoisted_114 = {\n key: 0,\n class: \"inputRow\"\n}\nconst _hoisted_115 = { class: \"inputTitle\" }\nconst _hoisted_116 = { class: \"inputField flex-grow\" }\nconst _hoisted_117 = { class: \"inputRow\" }\nconst _hoisted_118 = { class: \"inputTitle\" }\nconst _hoisted_119 = { class: \"inputField flex-grow\" }\nconst _hoisted_120 = { class: \"block w-full mt-4\" }\nconst _hoisted_121 = { class: \"mb-4\" }\nconst _hoisted_122 = { class: \"tooltip infoIcon\" }\nconst _hoisted_123 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-info\" }, null, -1)\nconst _hoisted_124 = { class: \"infoText tooltiptext shadow\" }\nconst _hoisted_125 = { class: \"grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_126 = { class: \"inputTitle\" }\nconst _hoisted_127 = { class: \"inputField flex-grow\" }\nconst _hoisted_128 = { class: \"error-msg\" }\nconst _hoisted_129 = [\"disabled\"]\n\nimport Text from \"@/components/inputs/Text\";\nimport {computed, onMounted, ref, toRef, watchEffect} from \"vue\";\nimport Select from \"@/components/inputs/Select\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {DisdiStateType, ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport Tags from \"@/components/inputs/Tags\";\nimport {helpers, required, email, between, maxLength, minLength, numeric} from \"@vuelidate/validators\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {useI18n} from \"vue-i18n\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {Group1Service} from \"@/utilities/services/entities/Group1Service\";\nimport {Group2Service} from \"@/utilities/services/entities/Group2Service\";\nimport {SafetyInstructionService} from \"@/utilities/services/entities/SafetyInstructionService\";\nimport {ControlCenterService} from \"@/utilities/services/entities/ControlCenterService\";\nimport {MiscService} from \"@/utilities/services/entities/MiscService\";\nimport TextOrSpinner from \"@/components/TextOrSpinner\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {ActivitySetService} from \"@/utilities/services/entities/ActivitySetService\";\nimport {phoneNumberPlaceholder} from \"@/AppConfig\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationInfoEditor',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\nconst { t } = useI18n();\nconst group1Service = new Group1Service();\nconst group2Service = new Group2Service();\nconst safetyInstructionService = new SafetyInstructionService();\nconst controlCenterService = new ControlCenterService();\nconst miscService = new MiscService();\nconst activitySetService = new ActivitySetService();\n\n\n\nconst globalStore = useGlobalStore();\nconst popupData = toRef(props, 'data');\nconst callNumber = ref(\"\");\n\nconst regionList = ref(null);\nconst levelList = ref(null);\nconst controlCenterList = ref(null);\nconst safetyInstructionList = ref(null);\nconst pdfTemplateList = ref(null);\nconst activitySetList = ref(null);\nconst disdiIsOn = ref(false);\nconst disdiForAll = ref(false);\n\nconst loading = ref(false);\n\nconst voiceTestCall = async () => {\n loading.value = true;\n\n const isValid = await testCallValidator.value.$validate();\n\n if(!isValid) {\n loading.value = false;\n\n const targetElement = document.querySelector(\".error\");\n targetElement.scrollIntoView({behavior: \"smooth\", block: 'center'});\n\n return;\n }\n\n // check if there is a name pronunciation\n let nameToRead = \"\";\n if(popupData.value.namePronunciation === \"\") {\n nameToRead = popupData.value.name;\n } else {\n nameToRead = popupData.value.namePronunciation;\n }\n\n // sadly can't get generalResponse here so it is fire and forget\n await miscService.postVoiceTestCall(nameToRead, callNumber.value);\n\n loading.value = false;\n};\n\nconst setActivitySetId = (id) => {\n popupData.value.activitySetId = id;\n}\n\nconst setPdfTemplate = (id) => {\n popupData.value.pdfTemplate = id;\n}\n\nconst selectionChanged = (selectedList)=>{\n popupData.value.safetyInstructions = selectedList;\n}\n\nwatchEffect(() => {\n if (popupData.value.controlCenterId !== undefined && popupData.value.controlCenterId !== null && controlCenterList.value !== null)\n popupData.value.controlCenterName = controlCenterList.value.find(cc => cc.id === popupData.value.controlCenterId)?.name;\n\n return popupData.value.controlCenterId\n});\n\nwatchEffect(() => {\n if (popupData.value.group1Id !== null && regionList.value !== null)\n popupData.value.group1Name = regionList.value.find(g1 => g1.id === popupData.value.group1Id)?.name;\n\n return popupData.value.group1Id\n});\n\nwatchEffect(() => {\n if (popupData.value.group2Id !== null && levelList.value !== null)\n popupData.value.group2Name = levelList.value.find(g2 => g2.id === popupData.value.group2Id)?.name;\n\n return popupData.value.group2Id\n});\n\nonMounted(async ()=>{\n disdiIsOn.value = globalStore.settings.disdiSettings?.disdi !== DisdiStateType.NoDISDI;\n disdiForAll.value = globalStore.settings.disdiSettings?.disdi === DisdiStateType.AllLocations;\n\n const regionResp = await group1Service.getRegions();\n if(regionResp === null || regionResp === undefined || regionResp.statusCode !== 0){\n ErrorHandler.handleError(regionResp, ErrorLocationType.popup);\n return;\n }\n regionList.value = regionResp.regionInfo;\n\n const levelResp = await group2Service.getLevels();\n if(levelResp === null || levelResp === undefined || levelResp.statusCode !== 0) {\n ErrorHandler.handleError(levelResp, ErrorLocationType.popup);\n return;\n }\n levelList.value = levelResp.levelInfo;\n\n const controlCenterResp = await controlCenterService.getControlCenters()\n if(controlCenterResp === null || controlCenterResp === undefined || controlCenterResp.statusCode !== 0){\n ErrorHandler.handleError(controlCenterResp, ErrorLocationType.popup);\n return;\n }\n controlCenterList.value = controlCenterResp.controlCenterInfo;\n\n const safetyInstructionResp = await safetyInstructionService.getSafetyInstructions();\n if(safetyInstructionResp === null || safetyInstructionResp === undefined || safetyInstructionResp.statusCode !== 0){\n ErrorHandler.handleError(safetyInstructionResp, ErrorLocationType.popup);\n return;\n }\n safetyInstructionList.value = safetyInstructionResp.safetyInstructionInfo;\n\n const templateResp = await miscService.getPdfTemplates();\n if(templateResp === null || templateResp === undefined || templateResp.statusCode !== 0){\n ErrorHandler.handleError(templateResp, ErrorLocationType.popup);\n return;\n }\n pdfTemplateList.value = templateResp.selectablePDFTemplate;\n\n // convert si list on popupData\n const convertedArray = [];\n for (const item of popupData.value.safetyInstructions){\n const fullInstruction = safetyInstructionList.value.find(si => si.id === item);\n\n const convertedItem = {\n id:item,\n name: fullInstruction.name\n };\n convertedArray.push(convertedItem);\n\n safetyInstructionList.value = safetyInstructionList.value.filter(si => si.id !== item);\n }\n popupData.value.safetyInstructions = convertedArray;\n\n const activitySetResp = await activitySetService.getActivitySets();\n if(activitySetResp === null || activitySetResp === undefined || activitySetResp.statusCode !== 0){\n ErrorHandler.handleError(activitySetResp, ErrorLocationType.popup);\n return;\n }\n activitySetList.value = activitySetResp.activitySetInfo.map(as => {\n as.id = as.activitySetId;\n return as;\n });\n});\n\n// Validation\nconst phoneNumbersValidator = helpers.regex(/^\\+[0-9]+$/);\nconst floatValidator = helpers.regex(/^\\d*[.,]?\\d+?$/);\nconst rules = computed(() => {\n const rules = {\n registrationRadius:{\n floatValidator: helpers.withMessage(\n t('validators.float'),\n floatValidator\n ),\n },\n secondaryId: {\n required: helpers.withMessage(t('validators.required'), required),\n numeric: helpers.withMessage(t('validators.numeric'), numeric),\n maxLength: helpers.withMessage(t('validators.maxLength', {amount: 5}), maxLength(5)),\n minLength: helpers.withMessage(t('validators.minLength', {amount: 5}), minLength(5))\n },\n name: { required: helpers.withMessage(t('validators.required'), required) },\n email: {\n required: helpers.withMessage(t('validators.required'), required),\n email: helpers.withMessage(t('validators.email'), email)\n },\n controlCenterId: { required: helpers.withMessage(t('validators.required'), required) },\n longitude: {\n between: helpers.withMessage(t('validators.longitude'), between(-180, 180)),\n },\n latitude: {\n between: helpers.withMessage(t('validators.latitude'), between(-90, 90)),\n },\n contactInfo: {\n phoneNumber:{\n phoneNumbersValidator: helpers.withMessage(\n t('validators.phoneNumber'),\n phoneNumbersValidator\n ),\n },\n phoneNumberAlt1: {\n phoneNumbersValidator: helpers.withMessage(\n t('validators.phoneNumber'),\n phoneNumbersValidator\n ),\n },\n phoneNumberAlt2: {\n phoneNumbersValidator: helpers.withMessage(\n t('validators.phoneNumber'),\n phoneNumbersValidator\n ),\n }\n },\n }\n return rules\n})\nconst v$ = ref(useVuelidate(rules, popupData))\n\nconst readerRules = computed(()=>{\n return {\n numberToCall: {\n phoneNumbersValidator: helpers.withMessage(\n $t('validators.phoneNumber'),\n phoneNumbersValidator\n ),\n required: helpers.withMessage(\n $t('validators.required'),\n required\n )\n },\n }\n})\nconst callData = computed(()=>{\n return {numberToCall: callNumber.value}\n})\nconst testCallValidator = ref(useVuelidate(readerRules, callData));\nconst hideCallValidatorErrors = ()=>{\n testCallValidator.value.$reset();\n}\n\nonMounted(() => {\n globalStore.modal.validator = v$;\n})\n\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_permission = _resolveDirective(\"permission\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref($t)('popups.locationInfo.section1')), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref($t)('popups.locationInfo.secondaryId')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.secondaryId.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(popupData).secondaryId) = $event)),\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).secondaryId]\n ]),\n _hoisted_7,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.secondaryId.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_unref($t)('popups.locationInfo.syncId')), 1),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).syncId,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(popupData).syncId) = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, _toDisplayString(_unref($t)('popups.locationInfo.latitude')), 1),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.latitude.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(popupData).latitude) = $event)),\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).latitude]\n ]),\n _hoisted_16,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.latitude.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_17, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, _toDisplayString(_unref($t)('popups.locationInfo.longitude')), 1),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.longitude.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(popupData).longitude) = $event)),\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).longitude]\n ]),\n _hoisted_21,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.longitude.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, _toDisplayString(_unref($t)('popups.locationInfo.registrationRadius')), 1),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.registrationRadius.$errors.length })\n }, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).registrationRadius,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(popupData).registrationRadius) = $event))\n }, null, 8, [\"modelValue\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.registrationRadius.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_26, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"div\", _hoisted_28, _toDisplayString(_unref($t)('popups.locationInfo.section2')), 1),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, _toDisplayString(_unref($t)('popups.locationInfo.name')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.name.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(popupData).name) = $event)),\n ref: \"name\",\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).name]\n ]),\n _hoisted_33,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.name.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_34, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"div\", _hoisted_36, _toDisplayString(_unref($t)('popups.locationInfo.namePronunciation')), 1),\n _createElementVNode(\"div\", _hoisted_37, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).namePronunciation,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(popupData).namePronunciation) = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, [\n _createElementVNode(\"div\", _hoisted_40, _toDisplayString(_unref($t)('popups.locationInfo.street')), 1),\n _createElementVNode(\"div\", _hoisted_41, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).contactInfo.street,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(popupData).contactInfo.street) = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_42, [\n _createElementVNode(\"div\", _hoisted_43, _toDisplayString(_unref($t)('popups.locationInfo.streetNumber')), 1),\n _createElementVNode(\"div\", _hoisted_44, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).contactInfo.streetNumber,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((_unref(popupData).contactInfo.streetNumber) = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", _hoisted_46, [\n _createElementVNode(\"div\", _hoisted_47, _toDisplayString(_unref($t)('popups.locationInfo.postalCode')), 1),\n _createElementVNode(\"div\", _hoisted_48, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).contactInfo.postalCode,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = ($event: any) => ((_unref(popupData).contactInfo.postalCode) = $event)),\n modelModifiers: { number: true },\n type: \"number\"\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_49, [\n _createElementVNode(\"div\", _hoisted_50, _toDisplayString(_unref($t)('popups.locationInfo.city')), 1),\n _createElementVNode(\"div\", _hoisted_51, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).contactInfo.city,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = ($event: any) => ((_unref(popupData).contactInfo.city) = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_52, [\n _createElementVNode(\"div\", _hoisted_53, [\n _createElementVNode(\"div\", _hoisted_54, _toDisplayString(_unref($t)('popups.locationInfo.email')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_55, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.email.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = ($event: any) => ((_unref(popupData).email) = $event)),\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).email]\n ]),\n _hoisted_56,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.email.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_57, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_58, [\n _createElementVNode(\"div\", _hoisted_59, _toDisplayString(_unref($t)('popups.locationInfo.phoneNumber')), 1),\n _createElementVNode(\"div\", _hoisted_60, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.contactInfo.phoneNumber.$errors.length })\n }, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).contactInfo.phoneNumber,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = ($event: any) => ((_unref(popupData).contactInfo.phoneNumber) = $event)),\n placeholder: _unref(phoneNumberPlaceholder)\n }, null, 8, [\"modelValue\", \"placeholder\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.contactInfo.phoneNumber.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_61, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_62, [\n _createElementVNode(\"div\", _hoisted_63, _toDisplayString(_unref($t)('popups.locationInfo.section3')), 1),\n _createElementVNode(\"div\", _hoisted_64, [\n _createElementVNode(\"div\", _hoisted_65, [\n _createElementVNode(\"div\", _hoisted_66, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = ($event: any) => ((_unref(popupData).phoneNumberAltIsFallback) = $event)),\n name: \"phoneNumberAltIsFallback\"\n }, null, 512), [\n [_vModelCheckbox, _unref(popupData).phoneNumberAltIsFallback]\n ]),\n _createElementVNode(\"div\", _hoisted_67, [\n _createElementVNode(\"label\", _hoisted_68, _toDisplayString(_unref($t)('popups.locationInfo.phoneNumberAltIsFallback')), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_69, [\n _createElementVNode(\"div\", _hoisted_70, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = ($event: any) => ((_unref(popupData).couplingEnabled) = $event)),\n name: \"couplingEnabled\"\n }, null, 512), [\n [_vModelCheckbox, _unref(popupData).couplingEnabled]\n ]),\n _createElementVNode(\"div\", _hoisted_71, [\n _createElementVNode(\"label\", _hoisted_72, _toDisplayString(_unref($t)('popups.locationInfo.couplingEnabled')), 1)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_73, [\n _createElementVNode(\"div\", _hoisted_74, [\n _createElementVNode(\"div\", _hoisted_75, _toDisplayString(_unref($t)('popups.locationInfo.phoneNumberAlt1')), 1),\n _createElementVNode(\"div\", _hoisted_76, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.contactInfo.phoneNumberAlt1.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = ($event: any) => ((_unref(popupData).phoneNumberAlt1) = $event)),\n class: \"w-full\",\n placeholder: _unref(phoneNumberPlaceholder)\n }, null, 8, _hoisted_77), [\n [_vModelText, _unref(popupData).phoneNumberAlt1]\n ]),\n _hoisted_78,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.contactInfo.phoneNumberAlt1.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_79, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_80, [\n _createElementVNode(\"div\", _hoisted_81, _toDisplayString(_unref($t)('popups.locationInfo.phoneNumberAlt2')), 1),\n _createElementVNode(\"div\", _hoisted_82, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.contactInfo.phoneNumberAlt2.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = ($event: any) => ((_unref(popupData).phoneNumberAlt2) = $event)),\n class: \"w-full\",\n placeholder: _unref(phoneNumberPlaceholder)\n }, null, 8, _hoisted_83), [\n [_vModelText, _unref(popupData).phoneNumberAlt2]\n ]),\n _hoisted_84,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.contactInfo.phoneNumberAlt2.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_85, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_86, [\n _createElementVNode(\"div\", _hoisted_87, [\n _createElementVNode(\"div\", _hoisted_88, _toDisplayString(_unref($t)('popups.locationInfo.customAdditionalInformation')), 1),\n _createElementVNode(\"div\", _hoisted_89, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).customAdditionalInformation,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = ($event: any) => ((_unref(popupData).customAdditionalInformation) = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_90, [\n _createElementVNode(\"div\", _hoisted_91, _toDisplayString(_unref($t)('popups.locationInfo.section4')), 1),\n (disdiIsOn.value)\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_92, [\n _createElementVNode(\"div\", _hoisted_93, [\n _createElementVNode(\"div\", _hoisted_94, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = ($event: any) => ((_unref(popupData).hasDisdi) = $event)),\n disabled: disdiForAll.value,\n name: \"hasDisdi\"\n }, null, 8, _hoisted_95), [\n [_vModelCheckbox, _unref(popupData).hasDisdi]\n ]),\n _createElementVNode(\"div\", _hoisted_96, [\n _createElementVNode(\"label\", _hoisted_97, _toDisplayString(_unref($t)('popups.locationInfo.hasDisdi')), 1)\n ])\n ])\n ])\n ])), [\n [_directive_permission, 'Disdi.LocationPropertyEdit']\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_98, [\n _createElementVNode(\"div\", _hoisted_99, [\n _createElementVNode(\"div\", _hoisted_100, _toDisplayString(_unref($t)('popups.locationInfo.group1AndName')), 1),\n _createElementVNode(\"div\", _hoisted_101, [\n _createVNode(_unref(Select), {\n selected: _unref(popupData).group1Id,\n options: regionList.value,\n mode: \"single\",\n onSelectChanged: _cache[19] || (_cache[19] = (value)=>{_unref(popupData).group1Id = value})\n }, null, 8, [\"selected\", \"options\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_102, [\n _createElementVNode(\"div\", _hoisted_103, _toDisplayString(_unref($t)('popups.locationInfo.group2IdAndName')), 1),\n _createElementVNode(\"div\", _hoisted_104, [\n _createVNode(_unref(Select), {\n selected: _unref(popupData).group2Id,\n options: levelList.value,\n mode: \"single\",\n onSelectChanged: _cache[20] || (_cache[20] = (value)=>{_unref(popupData).group2Id = value})\n }, null, 8, [\"selected\", \"options\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_105, [\n _createElementVNode(\"div\", _hoisted_106, [\n _createElementVNode(\"div\", _hoisted_107, _toDisplayString(_unref($t)('popups.locationInfo.controlCenterIdAndName')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_108, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.controlCenterId.$errors.length })\n }, [\n _createVNode(_unref(Select), {\n selected: _unref(popupData).controlCenterId,\n options: controlCenterList.value,\n mode: \"single\",\n onSelectChanged: _cache[21] || (_cache[21] = (value)=>{_unref(popupData).controlCenterId = value})\n }, null, 8, [\"selected\", \"options\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.controlCenterId.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_109, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_110, [\n _createElementVNode(\"div\", _hoisted_111, _toDisplayString(_unref($t)('popups.locationInfo.safetyInstructions')), 1),\n _createElementVNode(\"div\", _hoisted_112, [\n _createVNode(_unref(Tags), {\n options: safetyInstructionList.value,\n selected: _unref(popupData).safetyInstructions,\n onSelectChanged: selectionChanged\n }, null, 8, [\"options\", \"selected\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_113, [\n (_unref(globalStore).settings.activitySettings.activitesEnabled)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_114, [\n _createElementVNode(\"div\", _hoisted_115, _toDisplayString(_unref($t)('popups.locationInfo.activitySet')), 1),\n _createElementVNode(\"div\", _hoisted_116, [\n _createVNode(_unref(Select), {\n selected: _unref(popupData).activitySetId,\n options: activitySetList.value,\n mode: \"single\",\n onSelectChanged: setActivitySetId\n }, null, 8, [\"selected\", \"options\"])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_117, [\n _createElementVNode(\"div\", _hoisted_118, _toDisplayString(_unref($t)('popups.locationInfo.pdfTemplate')), 1),\n _createElementVNode(\"div\", _hoisted_119, [\n _createVNode(_unref(Select), {\n selected: _unref(popupData).pdfTemplate,\n options: pdfTemplateList.value,\n mode: \"single\",\n onSelectChanged: setPdfTemplate\n }, null, 8, [\"selected\", \"options\"])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_120, [\n _createElementVNode(\"h3\", _hoisted_121, [\n _createTextVNode(_toDisplayString(_unref($t)('popups.locationInfo.readerTitle')) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_122, [\n _hoisted_123,\n _createElementVNode(\"span\", _hoisted_124, _toDisplayString(_unref($t)('popups.locationInfo.readerTooltip')), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_125, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_126, _toDisplayString(_unref($t)('popups.locationInfo.readerPhonenumber')), 1),\n _createElementVNode(\"div\", _hoisted_127, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: testCallValidator.value.numberToCall.$errors.length })\n }, [\n _createVNode(_unref(Text), {\n modelValue: callNumber.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = ($event: any) => ((callNumber).value = $event)),\n onFocusout: hideCallValidatorErrors,\n placeholder: _unref(phoneNumberPlaceholder)\n }, null, 8, [\"modelValue\", \"placeholder\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(testCallValidator.value.numberToCall.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_128, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2),\n _createElementVNode(\"button\", {\n class: \"primary mt-2\",\n onClick: voiceTestCall,\n disabled: loading.value\n }, [\n _createVNode(_unref(TextOrSpinner), {\n text: _unref($t)('popups.reader.button'),\n spin: loading.value\n }, null, 8, [\"text\", \"spin\"])\n ], 8, _hoisted_129)\n ])\n ])\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LocationInfoEditor.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationInfoEditor.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"inputGroup\" }\nconst _hoisted_2 = { class: \"groupTitle\" }\nconst _hoisted_3 = { class: \"inputGroup\" }\nconst _hoisted_4 = { class: \"groupTitle\" }\nconst _hoisted_5 = { class: \"inputGroup\" }\nconst _hoisted_6 = { class: \"groupTitle\" }\nconst _hoisted_7 = { class: \"groupInputs flex\" }\nconst _hoisted_8 = { class: \"groupInputs flex\" }\nconst _hoisted_9 = { class: \"inputRow\" }\nconst _hoisted_10 = { class: \"flex flex-wrap\" }\nconst _hoisted_11 = [\"checked\", \"id\", \"value\"]\nconst _hoisted_12 = { class: \"inputTitle ml-2\" }\nconst _hoisted_13 = [\"for\"]\nconst _hoisted_14 = { class: \"inputGroup\" }\nconst _hoisted_15 = { class: \"groupTitle\" }\nconst _hoisted_16 = { class: \"groupInputs flex\" }\nconst _hoisted_17 = { class: \"groupInputs flex\" }\nconst _hoisted_18 = { class: \"inputRow\" }\nconst _hoisted_19 = { class: \"flex flex-wrap\" }\nconst _hoisted_20 = [\"checked\", \"id\", \"value\"]\nconst _hoisted_21 = { class: \"inputTitle ml-2\" }\nconst _hoisted_22 = [\"for\"]\nconst _hoisted_23 = { class: \"inputGroup\" }\nconst _hoisted_24 = { class: \"groupTitle\" }\nconst _hoisted_25 = { class: \"groupInputs flex\" }\nconst _hoisted_26 = { class: \"groupInputs flex\" }\nconst _hoisted_27 = { class: \"inputRow\" }\nconst _hoisted_28 = { class: \"flex flex-wrap\" }\nconst _hoisted_29 = [\"checked\", \"id\", \"value\"]\nconst _hoisted_30 = { class: \"inputTitle ml-2\" }\nconst _hoisted_31 = [\"for\"]\nconst _hoisted_32 = { class: \"inputGroup\" }\nconst _hoisted_33 = { class: \"groupTitle\" }\nconst _hoisted_34 = { class: \"inputGroup\" }\nconst _hoisted_35 = { class: \"groupTitle\" }\nconst _hoisted_36 = { class: \"inputGroup\" }\nconst _hoisted_37 = { class: \"groupTitle\" }\nconst _hoisted_38 = { class: \"inputGroup\" }\nconst _hoisted_39 = { class: \"groupTitle\" }\nconst _hoisted_40 = { class: \"inputGroup\" }\nconst _hoisted_41 = { class: \"groupTitle\" }\nconst _hoisted_42 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-info\" }, null, -1)\n\nimport FilterService from \"@/utilities/services/FilterService\";\nimport { TableType, ErrorLocationType } from \"@/utilities/enums/Enums\";\nimport { ref, computed, onMounted } from \"vue\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {Group1Service} from \"@/utilities/services/entities/Group1Service\";\nimport {Group2Service} from \"@/utilities/services/entities/Group2Service\";\nimport {ControlCenterService} from \"@/utilities/services/entities/ControlCenterService\";\nimport {AttributeFilter} from \"@/models/AttributeFilter\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationFilterPopup',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst group1Service = new Group1Service();\nconst group2Service = new Group2Service();\nconst permissionService = new PermissionService();\nconst controlCenterService = new ControlCenterService();\n\nconst userFilters = computed(()=>{\n\treturn globalStore.userPreferences.userFilters;\n});\nconst userHiddenColumns = computed(()=>{\n\treturn globalStore.userPreferences.userHiddenColumns;\n});\n\n\nconst tmpUserFilters = computed(()=>{\n\treturn globalStore.tmpPreferences.tmpUserFilters;\n});\nconst tmpUserHiddenColumns = computed(()=>{\n\treturn globalStore.tmpPreferences.tmpUserHiddenColumns;\n});\n\n\nonMounted(()=>{\n\t//init tmp values\n\tglobalStore.setTmpFilters(userFilters.value.filter(f => f.tableName === TableType[TableType.location]));\n\tglobalStore.setTmpHiddenColumns(userHiddenColumns.value.filter(f => f.tableName === TableType[TableType.location]));\n\n\t// init afterFilters count\n\tglobalStore.setCountAfterFilters(globalStore.gridStore?.count);\n});\n\n\n\n// init checkboxes according to tmpFilters [attributeValue == input-id]\nconst isFiltered = (attName, attVal) => {\n\treturn tmpUserFilters.value.some(tuf => tuf.attributeName === attName && tuf.attributeValue === attVal.toString());\n};\n\n// init visibility buttons according to tmpHiddenColumns\nconst isHidden = (attName) => {\n\treturn tmpUserHiddenColumns.value.some(thc => thc.attributeName === attName.toString());\n};\n\n\nconst regionList = ref([]);\nconst setRegionList = async () =>{\n const resp = await group1Service.getRegions();\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n regionList.value = resp.regionInfo;\n};\n\nconst levelList = ref([]);\nconst setLevelList = async () =>{\n const resp = await group2Service.getLevels();\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n levelList.value = resp.levelInfo;\n};\n\nconst controlCenterList = ref([]);\nconst setControlCenterList = async () =>{\n const resp = await controlCenterService.getControlCenters();\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n controlCenterList.value = resp.controlCenterInfo;\n};\n\n\nconst filterChanged = ({ target }, propName) => {\n\tif(target.checked) {\n\t\t// add to tmpFilterList\n\t\tglobalStore.addUserFilter(new AttributeFilter(TableType[TableType.location], propName, target.value.toString()));\n\t}\n\telse {\n\t\t// remove from tmpFilterList\n\t\ttmpUserFilters.value.forEach((tuf,index)=>{\n\t\t\tif(tuf.attributeName === propName && tuf.attributeValue === target.value.toString()) tmpUserFilters.value.splice(index, 1);\n\t\t});\n\n\t\tglobalStore.setTmpFilters(tmpUserFilters.value);\n\t}\n\n\tcalculateRestEntities();\n};\n\n\nconst visibilityChange = (colName) => {\n\tif(!tmpUserHiddenColumns.value.some(thc => thc.attributeName === colName)) {\n\t\t// add to tmpHiddenColumnList\n\t\tglobalStore.addUserHiddenColumn(new AttributeFilter(TableType[TableType.location], colName, \"\"));\n\t}\n\telse {\n\t\t// remove from tmpHiddenColumnList\n\t\ttmpUserHiddenColumns.value.forEach((thc,index)=>{\n\t\t\tif(thc.attributeName === colName) tmpUserHiddenColumns.value.splice(index, 1);\n\t\t});\n\n\t\tglobalStore.setTmpHiddenColumns(tmpUserHiddenColumns.value);\n\t}\n\n\tcalculateRestEntities();\n};\n\n\nconst calculateRestEntities = () => {\n\tconst allRecords = globalStore.gridStore.storage.allValues;\n\tconst tmpFilterMethod = FilterService.buildFilter(TableType[TableType.location], true);\n\n\tlet counter = 0;\n\n\tallRecords.forEach(r => {\n\t\tif (tmpFilterMethod(r)) counter++;\n\t});\n\n\tglobalStore.setCountAfterFilters(counter);\n};\n\nonMounted(async () => {\n await setControlCenterList();\n await setRegionList();\n await setLevelList();\n});\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.secondaryId')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('secondaryId') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (visibilityChange('secondaryId')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.name')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('name') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (visibilityChange('name')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.group2Title')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('group2Name') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (visibilityChange('group2Name')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(levelList.value, (level) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"inputField flex w-1/3\",\n key: level\n }, [\n _createElementVNode(\"input\", {\n checked: isFiltered('group2Id', level.id),\n type: \"checkbox\",\n id: 'level' + level.id.toString(),\n value: level.id,\n onChange: _cache[3] || (_cache[3] = (e) => filterChanged(e, 'group2Id'))\n }, null, 40, _hoisted_11),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", {\n for: 'level' + level.id.toString()\n }, _toDisplayString(level.name), 9, _hoisted_13)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.group1Title')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('group1Name') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (visibilityChange('group1Name')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(regionList.value, (region) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"inputField flex w-1/3\",\n key: region\n }, [\n _createElementVNode(\"input\", {\n checked: isFiltered('group1Id', region.id),\n type: \"checkbox\",\n id: 'region' + region.id.toString(),\n value: region.id,\n onChange: _cache[5] || (_cache[5] = (e) => filterChanged(e, 'group1Id'))\n }, null, 40, _hoisted_20),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"label\", {\n for: 'region' + region.id.toString()\n }, _toDisplayString(region.name), 9, _hoisted_22)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.controlCenter')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('controlCenterName') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (visibilityChange('controlCenterName')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"div\", _hoisted_28, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(controlCenterList.value, (center) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"inputField flex w-1/3\",\n key: center\n }, [\n _createElementVNode(\"input\", {\n checked: isFiltered('controlCenterId', center.id),\n type: \"checkbox\",\n id: 'center' + center.id.toString(),\n value: center.id,\n onChange: _cache[7] || (_cache[7] = (e) => filterChanged(e, 'controlCenterId'))\n }, null, 40, _hoisted_29),\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"label\", {\n for: 'center' + center.id.toString()\n }, _toDisplayString(center.name), 9, _hoisted_31)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.customAdditionalInfo')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('customAdditionalInformation') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[8] || (_cache[8] = ($event: any) => (visibilityChange('customAdditionalInformation')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", _hoisted_35, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.email')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('email') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[9] || (_cache[9] = ($event: any) => (visibilityChange('email')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"div\", _hoisted_37, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.safetyInstruction')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('safetyInstructions') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[10] || (_cache[10] = ($event: any) => (visibilityChange('safetyInstructions')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationFilter.coupling')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('coupledSystemsName') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[11] || (_cache[11] = ($event: any) => (visibilityChange('coupledSystemsName')))\n }, null, 2)\n ])\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_40, [\n _createElementVNode(\"div\", _hoisted_41, [\n _hoisted_42,\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('infoButton') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[12] || (_cache[12] = ($event: any) => (visibilityChange('infoButton')))\n }, null, 2)\n ])\n ], 512), [\n [_vShow, !_unref(permissionService).userHasPermission('Location.HideInfoColumn')]\n ])\n ]))\n}\n}\n\n})","import script from \"./LocationFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-61c7c298\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"confirmationHover\",\n class: \"confHover\",\n hidden: \"\"\n}\nconst _hoisted_2 = { class: \"flex justify-items-center align-middle\" }\nconst _hoisted_3 = { class: \"confirmationText\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-schliessen\" }, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-check\" }, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\n\nimport { onMounted, onBeforeUnmount } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ConfirmationHover',\n props: {\n text: String,\n yesAction: Function\n},\n setup(__props) {\n\nconst props = __props\n\n\n\nasync function yes() {\n await props.yesAction();\n hideHover();\n}\n\nfunction no() {\n hideHover();\n}\n\nconst hideHover = ()=>{\n // hide confirmationHover\n const div = document.getElementById('confirmationHover');\n if(div !== null && div !== undefined && !div.hidden){\n div.hidden = true;\n\t\t}\n};\n\nonMounted(() => {\n // listen to scroll event of popupWrapper\n const popupWrapper = document.getElementById('popupWrapper');\n if(popupWrapper !== null && popupWrapper !== undefined) popupWrapper.addEventListener(\"scroll\", hideHover);\n})\n\nonBeforeUnmount(() => {\n // unlisten to scroll event of popupWrapper\n const popupWrapper = document.getElementById('popupWrapper');\n if(popupWrapper !== null && popupWrapper !== undefined) popupWrapper.removeEventListener(\"scroll\", hideHover);\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(props.text), 1),\n _createElementVNode(\"button\", {\n onClick: no,\n class: \"closeButton\"\n }, _hoisted_5),\n _createElementVNode(\"button\", {\n onClick: yes,\n class: \"okButton\"\n }, _hoisted_7)\n ])\n ]))\n}\n}\n\n})","import script from \"./ConfirmationHover.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ConfirmationHover.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ConfirmationHover.vue?vue&type=style&index=0&id=61c7c298&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-61c7c298\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7c07741d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"couplingAdress\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { class: \"underline font-bold\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"smallIcon icon-pfeil-hoch\" }, null, -1))\nconst _hoisted_7 = { key: 1 }\nconst _hoisted_8 = { class: \"underline font-bold\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"smallIcon icon-pfeil-runter\" }, null, -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_14 = { key: 1 }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_16 = { class: \"inputTitle\" }\nconst _hoisted_17 = { class: \"w-1/2 flex\" }\nconst _hoisted_18 = { key: 0 }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_20 = { class: \"float-right\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"clear-both\" }, null, -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\n\nimport {ref, watchEffect, toRef, reactive, computed, onMounted, onBeforeUnmount} from 'vue';\nimport GridInputFilter from \"@/components/GridInputFilter.vue\";\nimport Select from \"@/components/inputs/Select.vue\";\nimport ConfirmationHover from \"@/components/popups/ConfirmationHover.vue\";\nimport {CouplingActionType, ErrorLocationType, TableType} from \"@/utilities/enums/Enums\";\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport { Store } from \"@bryntum/grid\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {CoupledSystemService} from \"@/utilities/services/entities/CoupledSystemService\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationCouplingPopup',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\nconst globalStore = useGlobalStore();\n\nconst locationService = new LocationService();\n\n\n\nconst coupledSystemService = new CoupledSystemService();\n\nconst selectedLocation = toRef(props, 'data');\n\nconst showCouplings = ref(false);\nconst showNewCouplings = ref(false);\n\nconst systemList = ref(null);\nconst selectedSystemId = ref(null);\nconst selectedForeignLocation = ref(null);\nconst systemsAvailableLocs = ref({});\n\nlet tmpCoupledLocs;\n\n/* --- CONFIRMATION HOVER + COUPLING CALLBACK START --- */\nconst actionMode = ref(null);\nconst selectedCoupledLocation = ref(null);\n\nconst hoverText = computed(()=>{\n return actionMode.value === CouplingActionType.couple\n ? \"Standort koppeln?\"\n : \"Kopplung entfernen?\";\n});\n\n// shows and postions hover on CellClick (elementId in components/popups/ConfirmationHover.vue)\nconst showConfirmationHover = (record, event) => {\n const div = document.getElementById('confirmationHover');\n\n //position and show OR hide confirmationHover\n if(div !== null && div !== undefined){\n const left = Math.floor(event.clientX) + 'px';\n const top = Math.floor(event.clientY) + 'px';\n\n div.style.left = left;\n div.style.top = top;\n div.hidden = !div.hidden;\n\n if(!div.hidden){\n selectedCoupledLocation.value = record.data;\n }\n }\n};\n\nconst acceptCallback = async ()=>{\n if (selectedCoupledLocation.value !== null && selectedCoupledLocation.value !== undefined){\n\n const loc = selectedLocation.value;\n const toCouple = selectedCoupledLocation.value;\n\n let resp = null;\n let filteredData = null;\n\n switch (actionMode.value){\n case CouplingActionType.couple:\n resp = await locationService.postCoupleLocation(loc.id, selectedSystemId.value, toCouple.systemCouplingIdentifier);\n if (resp === null || resp === undefined || resp.statusCode !== 0) {\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n // remove from available locs\n systemsAvailableLocs.value[selectedSystemId.value] = systemsAvailableLocs.value[selectedSystemId.value].filter((value)=> value.systemCouplingIdentifier !== toCouple.systemCouplingIdentifier);\n\n // rename for coupling purposes and to avoid another API call\n toCouple.foreignLocationIdentifier = toCouple.systemCouplingIdentifier;\n delete toCouple.systemCouplingIdentifier;\n\n // set missing properties if needed\n toCouple[\"foreignSystemName\"] = toCouple[\"foreignSystemName\"] ?? systemList.value.find(sys => sys.id === selectedSystemId.value).name;\n toCouple[\"coupledSystemId\"] = toCouple[\"coupledSystemId\"] ?? selectedSystemId.value;\n\n // update systemName List for location\n loc.coupledSystemsName.push(toCouple.foreignSystemName);\n\n // add to coupled Locs\n coupledStore.add(toCouple);\n\n globalStore.showSuccess($t('global.saved'));\n\n break;\n\n case CouplingActionType.decouple:\n resp = await locationService.deleteCoupling(loc.id, toCouple.coupledSystemId, toCouple.foreignLocationIdentifier);\n if (resp === null || resp === undefined || resp.statusCode !== 0) {\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n // remove from to coupled Locs\n filteredData = coupledStore.records.filter((value)=> value.data.foreignLocationIdentifier !== toCouple.foreignLocationIdentifier);\n coupledStore.setStoreData(filteredData);\n\n // rename for coupling purposes and to avoid another API call\n toCouple.systemCouplingIdentifier = toCouple.foreignLocationIdentifier;\n delete toCouple.foreignLocationIdentifier;\n\n // add to available locs\n systemsAvailableLocs.value[toCouple.coupledSystemId].push(toCouple);\n\n // update table data if current selected system === system of decoupled loc\n if(toCouple.coupledSystemId === selectedSystemId.value) availableStore.setStoreData(systemsAvailableLocs.value[toCouple.coupledSystemId]);\n\n // update systemName List for location\n loc.coupledSystemsName = loc.coupledSystemsName.filter(n => n !== toCouple.foreignSystemName);\n\n globalStore.showSuccess($t('global.saved'));\n\n break;\n\n default:\n break;\n }\n\n selectedLocation.value = loc;\n }\n}\n\nconst hasCoupledLocationForSystem = ()=>{\n const selectedSystem = systemList.value.find(sys => sys.id === selectedSystemId.value);\n return coupledStore.records.some(cLoc => cLoc.data.foreignSystemName === selectedSystem.name);\n};\n\n\n/* --- CONFIRMATION HOVER + COUPLING CALLBACK END --- */\n\n\n/* --- GRID CONFIG START --- */\n\n\nconst coupledStore = new Store();\nconst availableStore = new Store();\n\nconst reorderColumnsCoupled = ()=>{\n if(!globalStore.userPreferences.userColumnOrder.some(()=>true)) return;\n\n const orderedColumns = globalStore.userPreferences.userColumnOrder.filter(oc => oc.tableName === TableType[TableType.coupledLocation]);\n for (const oc of orderedColumns) {\n globalStore.moveColumnToIndex(+oc.attributeValue, oc.attributeName, coupledGrid.value.instance.value.columns);\n }\n};\n\nconst coupledGrid = ref(null);\nconst useCoupledGridConfig = {\n headerMenuFeature: false,\n cellMenu: false,\n cellEditFeature: false,\n selectionMode: {\n row: false,\n cell: false\n },\n enableTextSelection: true,\n columns: {\n data: [\n { id: 'foreignSystemName', field: 'foreignSystemName', text: $t('popups.locationCoupling.grid.foreignSystemName') },\n { id: 'name', field: 'name', text: $t('popups.locationCoupling.grid.locationName'), flex: 1 },\n {\n id: \"coupleConfirm\",\n text: '',\n width: 25,\n type: 'template',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n template: () => {\n return '
    ';\n },\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.coupledLocation], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n listeners: {\n cellClick({record, cellSelector, event}) {\n if(cellSelector.columnId === \"coupleConfirm\" ) {\n actionMode.value = CouplingActionType.decouple;\n showConfirmationHover(record, event);\n }\n },\n },\n store: coupledStore,\n};\nconst coupledGridConfig = reactive(useCoupledGridConfig);\n\nconst reorderColumnsAvailable = ()=>{\n if(!globalStore.userPreferences.userColumnOrder.some(()=>true)) return;\n\n const orderedColumns = globalStore.userPreferences.userColumnOrder.filter(oc => oc.tableName === TableType[TableType.availableCouplingLocation]);\n for (const oc of orderedColumns) {\n globalStore.moveColumnToIndex(+oc.attributeValue, oc.attributeName, availableGrid.value.instance.value.columns);\n }\n};\n\nconst availableGrid = ref(null);\nconst useAvailableGridConfig = {\n features: {\n cellEditFeature: false,\n cellMenu : {\n // The Cell menu is created, but starts disabled\n disabled : false,\n items: {\n removeRow: false,\n copy: false,\n cut: false\n },\n },\n headerMenuFeature: false,\n },\n selectionMode: {\n row: false,\n cell: false\n },\n enableTextSelection: true,\n columns: {\n data: [\n { id: 'name', field: 'name', text: $t('popups.locationCoupling.grid.locationName'), flex: 1 },\n { id: 'contactInfo.city', field: 'contactInfo.city', text: $t('popups.locationCoupling.grid.city'), flex: 1 },\n { id: 'contactInfo.postalCode', field: 'contactInfo.postalCode', text: $t('popups.locationCoupling.grid.postalCode'), flex: 1 },\n {\n id: 'contactInfo.street',\n field : 'contactInfo.street',\n text : $t('popups.locationCoupling.grid.street'),\n flex: 1,\n renderer: ({ record }:any) => {\n const street = NullOrUndefinedHelper(record.contactInfo?.street) ? \"\" : record.contactInfo?.street;\n const number = NullOrUndefinedHelper(record.contactInfo?.streetNumber) ? \"\" : record.contactInfo?.streetNumber;\n return `${street} ${number}`;\n },\n },\n {\n id: \"coupleConfirm\",\n text : '',\n width : 25,\n type: 'template',\n align: \"center\",\n hideable: false,\n resizable: false,\n sortable: false,\n filterable: false,\n template: () => {\n if(hasCoupledLocationForSystem()) return \"\";\n return '
    ';\n },\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.availableCouplingLocation], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n listeners: {\n cellClick({record, cellSelector, event}) {\n if(cellSelector.columnId === \"coupleConfirm\" ) {\n actionMode.value = CouplingActionType.couple;\n showConfirmationHover(record, event);\n }\n },\n },\n store: availableStore,\n autoHeight: true\n};\nconst availableGridConfig = reactive(useAvailableGridConfig);\n\n\n/* --- GRID CONFIG END --- */\n\n\n// watch for changes of selectedSystem and load availableLocs dependantly\nwatchEffect(() => {\n selectedForeignLocation.value = null;\n if (selectedSystemId.value !== null) availableStore.setStoreData(systemsAvailableLocs.value[selectedSystemId.value]);\n else availableStore.setStoreData([]);\n\n globalStore.gridStore = availableStore;\n\n return selectedSystemId.value;\n});\n\nconst setGridData = async ()=>{\n const coupledLocsResp = await locationService.getCoupledLocations(selectedLocation.value.id);\n if(coupledLocsResp === null || coupledLocsResp === undefined || coupledLocsResp.statusCode !== 0){\n ErrorHandler.handleError(coupledLocsResp, ErrorLocationType.popup);\n tmpCoupledLocs = [];\n return;\n }\n\n tmpCoupledLocs = coupledLocsResp.locationInfo ?? [];\n\n const coupledSystemsResp = await coupledSystemService.getCoupledSystems();\n if(coupledSystemsResp === null || coupledSystemsResp === undefined || coupledSystemsResp.statusCode !== 0){\n ErrorHandler.handleError(coupledSystemsResp, ErrorLocationType.popup);\n return;\n }\n\n systemList.value = coupledSystemsResp.coupledSystemInfo;\n\n // load all availalbleLocations for every system and store them in 'systemsAvailableLocs' & add more info to coupledLocations\n for (const sys of systemList.value){\n try {\n const locationResponse = await coupledSystemService.getLocationsForForeignSystem(sys.id);\n if(locationResponse === null || locationResponse === undefined || locationResponse.statusCode !== 0){\n ErrorHandler.handleError(locationResponse, ErrorLocationType.popup);\n return;\n }\n\n systemsAvailableLocs.value[sys.id] = locationResponse.availableLocations;\n\n // add additional info for grid view to coupled locations\n for(const cl of tmpCoupledLocs){\n if (cl.coupledSystemId !== sys.id) return;\n\n const locInfo = locationResponse.coupledLocations.find(loc => loc.systemCouplingIdentifier === cl.foreignLocationIdentifier);\n\n if (locInfo !== undefined){\n cl[\"name\"] = locInfo.name;\n cl[\"contactInfo\"] = locInfo.contactInfo;\n cl[\"info\"] = locInfo.info;\n cl[\"foreignSystemName\"] = sys.name;\n }\n }\n\n coupledStore.setStoreData(tmpCoupledLocs);\n tmpCoupledLocs = [];\n }\n catch (e) {\n console.log(e);\n systemsAvailableLocs.value[sys.id] = [];\n }\n }\n\n reorderColumnsCoupled();\n reorderColumnsAvailable();\n}\n\nonMounted(async ()=>{\n await setGridData();\n});\n\nonBeforeUnmount(async ()=>{\n // re-set contentObject, dont know why but it gets converted to undefined when closing modal...\n //@ts-expect-error\n globalStore.modal.contentObject = selectedLocation.value;\n await globalStore.modal.action();\n});\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(ConfirmationHover, {\n text: _unref(hoverText),\n yesAction: acceptCallback\n }, null, 8, [\"text\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h5\", null, _toDisplayString(_unref($t)('popups.locationCoupling.adress')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(selectedLocation).name), 1),\n _hoisted_2,\n _createTextVNode(\" \" + _toDisplayString(_unref(selectedLocation).street) + \" \" + _toDisplayString(_unref(selectedLocation).streetNumber), 1),\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_unref(selectedLocation).postalCode) + \" \" + _toDisplayString(_unref(selectedLocation).city), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"showCouplingsLink\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => {showCouplings.value = !showCouplings.value; showNewCouplings.value = false;})\n }, [\n (showCouplings.value)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_unref($t)('popups.locationCoupling.hideCoupling')), 1),\n _createTextVNode(),\n _hoisted_6\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_7, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_unref($t)('popups.locationCoupling.showCoupling')), 1),\n _createTextVNode(),\n _hoisted_9\n ]))\n ]),\n _withDirectives(_createElementVNode(\"div\", null, [\n _hoisted_10,\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"coupledGrid\",\n ref: coupledGrid\n }, coupledGridConfig), null, 16)\n ], 512), [\n [_vShow, showCouplings.value]\n ]),\n _hoisted_11,\n _hoisted_12,\n _hoisted_13,\n (!showNewCouplings.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn primary\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => {showNewCouplings.value = true; showCouplings.value = false;})\n }, \" + \"))\n : _createCommentVNode(\"\", true),\n (showNewCouplings.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"h4\", null, _toDisplayString(_unref($t)('popups.locationCoupling.createNewCoupling')), 1),\n _hoisted_15,\n _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_unref($t)('popups.locationCoupling.sourceSystem')), 1),\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(Select, {\n selected: selectedSystemId.value,\n options: systemList.value,\n mode: \"single\",\n class: \"w-full\",\n onSelectChanged: _cache[2] || (_cache[2] = (value)=>{selectedSystemId.value = value})\n }, null, 8, [\"selected\", \"options\"]),\n _createElementVNode(\"button\", {\n class: \"btn ml-4\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (showNewCouplings.value = false))\n }, _toDisplayString(_unref($t)(\"global.cancel\")), 1)\n ]),\n (selectedSystemId.value !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _createVNode(GridInputFilter, {\n hideFilterButton: true,\n gridStore: _unref(availableStore)\n }, null, 8, [\"gridStore\"]),\n _hoisted_21\n ]),\n _hoisted_22,\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"availableGrid\",\n ref: availableGrid\n }, availableGridConfig), null, 16),\n _hoisted_23,\n _createElementVNode(\"button\", {\n class: \"btn\",\n onClick: _cache[4] || (_cache[4] = ($event: any) => (showNewCouplings.value = false))\n }, _toDisplayString(_unref($t)(\"global.cancel\")), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_24\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./LocationCouplingPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationCouplingPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LocationCouplingPopup.vue?vue&type=style&index=0&id=7c07741d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7c07741d\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"inputGroup\" }\nconst _hoisted_2 = { class: \"groupTitle\" }\nconst _hoisted_3 = { class: \"inputGroup\" }\nconst _hoisted_4 = { class: \"groupTitle\" }\nconst _hoisted_5 = { class: \"groupInputs flex\" }\nconst _hoisted_6 = { class: \"groupInputs flex\" }\nconst _hoisted_7 = { class: \"inputRow\" }\nconst _hoisted_8 = { class: \"flex flex-wrap\" }\nconst _hoisted_9 = { class: \"inputField flex-grow flex\" }\nconst _hoisted_10 = [\"checked\"]\nconst _hoisted_11 = { class: \"inputTitle ml-2\" }\nconst _hoisted_12 = { for: \"isBusy\" }\nconst _hoisted_13 = { class: \"inputField flex-grow flex\" }\nconst _hoisted_14 = [\"checked\"]\nconst _hoisted_15 = { class: \"inputTitle ml-2\" }\nconst _hoisted_16 = { for: \"isBusy\" }\nconst _hoisted_17 = { class: \"inputGroup\" }\nconst _hoisted_18 = { class: \"groupTitle\" }\nconst _hoisted_19 = { class: \"groupInputs flex\" }\nconst _hoisted_20 = { class: \"inputRow\" }\nconst _hoisted_21 = { class: \"flex flex-wrap\" }\nconst _hoisted_22 = { class: \"inputField flex-grow flex\" }\nconst _hoisted_23 = [\"checked\"]\nconst _hoisted_24 = { class: \"inputTitle ml-2\" }\nconst _hoisted_25 = { class: \"inputField flex-grow flex\" }\nconst _hoisted_26 = [\"checked\"]\nconst _hoisted_27 = { class: \"inputTitle ml-2\" }\nconst _hoisted_28 = { class: \"inputGroup\" }\nconst _hoisted_29 = { class: \"groupTitle\" }\nconst _hoisted_30 = { class: \"inputGroup\" }\nconst _hoisted_31 = { class: \"groupTitle\" }\nconst _hoisted_32 = { class: \"inputGroup\" }\nconst _hoisted_33 = { class: \"groupTitle\" }\nconst _hoisted_34 = { class: \"inputGroup\" }\nconst _hoisted_35 = { class: \"groupTitle\" }\nconst _hoisted_36 = { class: \"groupInputs flex\" }\nconst _hoisted_37 = { class: \"groupInputs flex\" }\nconst _hoisted_38 = { class: \"inputRow\" }\nconst _hoisted_39 = { class: \"flex flex-wrap\" }\nconst _hoisted_40 = [\"checked\", \"id\", \"value\"]\nconst _hoisted_41 = { class: \"inputTitle ml-2\" }\nconst _hoisted_42 = [\"for\"]\nconst _hoisted_43 = { class: \"inputGroup\" }\nconst _hoisted_44 = { class: \"groupTitle\" }\nconst _hoisted_45 = { class: \"inputGroup\" }\nconst _hoisted_46 = { class: \"groupTitle\" }\n\nimport FilterService from \"@/utilities/services/FilterService\";\nimport { TableType, ErrorLocationType } from \"@/utilities/enums/Enums\";\nimport { ref, computed, onMounted } from \"vue\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport {UserService} from \"@/utilities/services/entities/UserService\";\nimport {SelectableRoleInfo} from \"@/models/SelectableRoleInfo\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserFilterPopup',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst userService = new UserService();\n\nconst userFilters = computed(()=>{\n return globalStore.userPreferences.userFilters;\n});\nconst userHiddenColumns = computed(()=>{\n return globalStore.userPreferences.userHiddenColumns;\n});\n\n\nconst tmpUserFilters = computed(()=>{\n return globalStore.tmpPreferences.tmpUserFilters;\n});\nconst tmpUserHiddenColumns = computed(()=>{\n return globalStore.tmpPreferences.tmpUserHiddenColumns;\n});\n\nconst roleList = ref>([]);\n\nonMounted(async ()=>{\n //init tmp values\n globalStore.setTmpFilters(userFilters.value.filter(f => f.tableName === TableType[TableType.user]));\n globalStore.setTmpHiddenColumns(userHiddenColumns.value.filter(f => f.tableName === TableType[TableType.user]));\n\n // init afterFilters count\n globalStore.setCountAfterFilters(globalStore.gridStore?.count);\n\n roleList.value = await userService.getUserRoles(ErrorLocationType.popup) ?? [];\n});\n\n\n\n// init checkboxes according to tmpFilters [attributeValue == input-id]\nconst isFiltered = (attName, attVal) => {\n return tmpUserFilters.value.some(tuf => tuf.attributeName === attName && tuf.attributeValue === attVal.toString());\n};\n\n// init visibility buttons according to tmpHiddenColumns\nconst isHidden = (attName) => {\n return tmpUserHiddenColumns.value.some(thc => thc.attributeName === attName.toString());\n};\n\nconst filterChanged = ({ target }, propName) => {\n if(target.checked) {\n // add to tmpFilterList\n globalStore.addUserFilter({tableName: TableType[TableType.user], attributeName: propName, attributeValue: target.value.toString()});\n }\n else {\n // remove from tmpFilterList\n tmpUserFilters.value.forEach((tuf,index)=>{\n if(tuf.attributeName === propName && tuf.attributeValue === target.value.toString()) tmpUserFilters.value.splice(index, 1);\n });\n\n globalStore.setTmpFilters(tmpUserFilters.value);\n }\n\n calculateRestEntities();\n};\n\n\nconst visibilityChange = (colName) => {\n if(!tmpUserHiddenColumns.value.some(thc => thc.attributeName === colName)) {\n // add to tmpHiddenColumnList\n globalStore.addUserHiddenColumn({ tableName: TableType[TableType.user], attributeName: colName, attributeValue: \"\" });\n }\n else {\n // remove from tmpHiddenColumnList\n tmpUserHiddenColumns.value.forEach((thc,index)=>{\n if(thc.attributeName === colName) tmpUserHiddenColumns.value.splice(index, 1);\n });\n\n globalStore.setTmpHiddenColumns(tmpUserHiddenColumns.value);\n }\n\n calculateRestEntities();\n};\n\n\nconst calculateRestEntities = () => {\n const allRecords = globalStore.gridStore.storage.allValues;\n const tmpFilterMethod = FilterService.buildFilter(TableType[TableType.user], true);\n\n let counter = 0;\n\n allRecords.forEach(r => {\n if (tmpFilterMethod(r)) counter++;\n });\n\n globalStore.setCountAfterFilters(counter);\n};\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userFilter.identificationNumber')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('identificationNumber') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (visibilityChange('identificationNumber')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userFilter.groudKid')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('kid') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (visibilityChange('kid')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"input\", {\n checked: isFiltered('kid', 'true'),\n type: \"checkbox\",\n id: \"hasKIDYes\",\n value: \"true\",\n onChange: _cache[2] || (_cache[2] = (e) => filterChanged(e, 'kid'))\n }, null, 40, _hoisted_10),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"label\", _hoisted_12, _toDisplayString(_ctx.$t('popups.userFilter.yes')), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"input\", {\n checked: isFiltered('kid', 'false'),\n type: \"checkbox\",\n id: \"hasKIDNo\",\n value: \"false\",\n onChange: _cache[3] || (_cache[3] = (e) => filterChanged(e, 'kid'))\n }, null, 40, _hoisted_14),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"label\", _hoisted_16, _toDisplayString(_ctx.$t('popups.userFilter.no')), 1)\n ])\n ])\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userFilter.groupActivitystatus')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('isActive') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (visibilityChange('isActive')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"input\", {\n checked: isFiltered('isActive', 'true'),\n type: \"checkbox\",\n id: \"isActiveYes\",\n value: \"true\",\n onChange: _cache[5] || (_cache[5] = (e) => filterChanged(e, 'isActive'))\n }, null, 40, _hoisted_23),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('popups.userFilter.active')), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"input\", {\n checked: isFiltered('isActive', 'false'),\n type: \"checkbox\",\n id: \"isActiveNo\",\n value: \"false\",\n onChange: _cache[6] || (_cache[6] = (e) => filterChanged(e, 'isActive'))\n }, null, 40, _hoisted_26),\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('popups.userFilter.inactive')), 1)\n ])\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userEditor.firstName')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('firstName') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[7] || (_cache[7] = ($event: any) => (visibilityChange('firstName')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userEditor.lastName')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('lastName') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[8] || (_cache[8] = ($event: any) => (visibilityChange('lastName')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userEditor.info')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('info') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[9] || (_cache[9] = ($event: any) => (visibilityChange('info')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", _hoisted_35, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userEditor.roles')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('roles') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[10] || (_cache[10] = ($event: any) => (visibilityChange('roles')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(roleList.value, (role) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"inputField flex w-1/3\",\n key: role\n }, [\n _createElementVNode(\"input\", {\n checked: isFiltered('roles', role.name),\n type: \"checkbox\",\n id: 'role' + role.id.toString(),\n value: role.name,\n onChange: _cache[11] || (_cache[11] = (e) => filterChanged(e, 'roles'))\n }, null, 40, _hoisted_40),\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"label\", {\n for: 'role' + role.id.toString()\n }, _toDisplayString(role.name), 9, _hoisted_42)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userEditor.phoneNumber')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('phoneNumber') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[12] || (_cache[12] = ($event: any) => (visibilityChange('phoneNumber')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", _hoisted_46, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.userEditor.email')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('email') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[13] || (_cache[13] = ($event: any) => (visibilityChange('email')))\n }, null, 2)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./UserPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./UserPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n","import script from \"./CSVImport.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CSVImport.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./Group2Popup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Group2Popup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"grid grid-cols-1 gap-4 w-full\" }\nconst _hoisted_3 = { class: \"flex justify-end\" }\n\nimport {PopupType, TableType} from '@/utilities/enums/Enums';\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\nimport {permissionColumn} from \"@/AppConfig\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationsPopup',\n setup(__props) {\n\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\n\nconst grid = ref(null);\nconst useGridConfig = {\n autoHeight : true,\n headerMenuFeature: false,\n columns: {\n data: [\n {\n id: 'id',\n field : 'id',\n text: t('popups.locations.id'),\n sortable: true\n },\n {\n id: 'name',\n field : 'name',\n text: t('popups.locations.name'),\n flex : 1,\n sortable: true\n },\n {\n id: 'street',\n field : 'street',\n text: t('popups.locations.street'),\n flex : 1,\n sortable: true,\n type: 'template',\n template: (value) => {\n\t\t\t\t\treturn StringHelper.xss`${value.record.street ?? \"\"} ${value.record.streetNumber ?? \"\"}`;\n },\n },\n {\n id: 'postalCode',\n field : 'postalCode',\n text: t('popups.locations.postalCode'),\n flex : 1,\n sortable: true\n },\n {\n id: 'city',\n field : 'city',\n text: t('popups.locations.city'),\n flex : 1,\n sortable: true\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.locationsPopup], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n enableTextSelection: true,\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst setGridData = async ()=>{\n gridStore.setStoreData(globalStore.modal.contentObject.locations);\n\n // apply filters\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.user])\n });\n\n // apply hidden cols\n for(const c of grid.value.instance.value.columns.storage.values){\n const needsHiding = globalStore.userPreferences.userHiddenColumns.some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.user]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.reorderColumns(TableType[TableType.locationsPopup]);\n}\n\nonMounted(async () => {\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n popupType: _unref(PopupType).userFilterPopup,\n hideFilterButton: true\n }, null, 8, [\"gridStore\", \"popupType\"])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LocationsPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationsPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"\" }\nconst _hoisted_2 = { class: \"groupInputs flex\" }\nconst _hoisted_3 = { class: \"inputRow\" }\nconst _hoisted_4 = { class: \"inputTitle\" }\nconst _hoisted_5 = { class: \"inputField flex-grow\" }\nconst _hoisted_6 = { class: \"groupInputs flex\" }\nconst _hoisted_7 = { class: \"inputRow\" }\nconst _hoisted_8 = { class: \"inputTitle\" }\nconst _hoisted_9 = { class: \"inputField flex-grow\" }\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_11 = { class: \"error-msg\" }\nconst _hoisted_12 = { class: \"inputRow\" }\nconst _hoisted_13 = { class: \"inputTitle\" }\nconst _hoisted_14 = { class: \"inputField flex-grow\" }\nconst _hoisted_15 = [\"placeholder\"]\nconst _hoisted_16 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_17 = { class: \"error-msg\" }\n\nimport {computed, onMounted, ref, toRef} from \"vue\";\nimport Text from \"@/components/inputs/Text\";\nimport {helpers, required} from \"@vuelidate/validators\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {phoneNumberPlaceholder} from \"@/AppConfig\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ControlCenterEditor',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\nconst phoneNumbersValidator = helpers.regex(/^\\+[0-9]+$/);\n\n\n\nconst popupData = toRef(props, 'data');\n\nonMounted(async () => {\n globalStore.modal.validator = v$;\n})\n\n\n// Validation\n\nconst rules = computed(() => {\n const rules = {\n name: { required: helpers.withMessage(t('validators.required'), required) },\n phoneNumber: {\n required: helpers.withMessage(t('validators.required'), required),\n phoneNumbersValidator: helpers.withMessage(\n $t('validators.phoneNumber'),\n phoneNumbersValidator\n ),\n },\n }\n return rules\n})\n\nconst v$ = ref(useVuelidate(rules, popupData))\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, _toDisplayString(_unref(t)('controlCenters.syncId')), 1),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).syncId,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(popupData).syncId) = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(_unref(t)('controlCenters.name')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.name.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(popupData).name) = $event)),\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).name]\n ]),\n _hoisted_10,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.name.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, _toDisplayString(_unref(t)('controlCenters.phoneNumber')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.phoneNumber.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(popupData).phoneNumber) = $event)),\n class: \"w-full\",\n placeholder: _unref(phoneNumberPlaceholder)\n }, null, 8, _hoisted_15), [\n [_vModelText, _unref(popupData).phoneNumber]\n ]),\n _hoisted_16,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.phoneNumber.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_17, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./ControlCenterEditor.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ControlCenterEditor.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_3 = { class: \"inputTitle\" }\nconst _hoisted_4 = { class: \"inputField flex-grow\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_6 = { class: \"error-msg\" }\nconst _hoisted_7 = { class: \"inputTitle\" }\nconst _hoisted_8 = { class: \"inputField flex-grow\" }\n\nimport {computed, onMounted, ref, toRef} from \"vue\";\nimport Text from \"@/components/inputs/Text\";\nimport {helpers, required} from \"@vuelidate/validators\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Group1Popup',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\n\nconst popupData = toRef(props, 'data');\n\n\nconst rules = computed(() => {\n\n\tconst rules = {\n\t\tname: { required: helpers.withMessage(t('validators.required'), required), },\n\t}\n\treturn rules\n})\n\nconst v$ = ref(useVuelidate(rules, popupData))\n\nonMounted(() => {\n\tglobalStore.modal.validator = v$;\n})\n\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('popups.group1.name')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.name.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(popupData).name) = $event)),\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).name]\n ]),\n _hoisted_5,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.name.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('popups.group1.syncId')), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_unref(Text), {\n modelValue: _unref(popupData).syncId,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(popupData).syncId) = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Group1Popup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Group1Popup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"grid grid-cols-2 gap-4 w-full mb-5\" }\nconst _hoisted_3 = { class: \"inputTitle\" }\nconst _hoisted_4 = { class: \"inputField flex-grow\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_6 = { class: \"error-msg\" }\nconst _hoisted_7 = { class: \"grid grid-cols-1 gap-4 w-full\" }\nconst _hoisted_8 = { class: \"inputTitle\" }\nconst _hoisted_9 = { class: \"inputField flex-grow\" }\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_11 = { class: \"error-msg\" }\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"hr\", { class: \"my-4\" }, null, -1)\nconst _hoisted_13 = { class: \"mb-4\" }\nconst _hoisted_14 = { class: \"inputField flex-grow\" }\nconst _hoisted_15 = { class: \"float-left\" }\nconst _hoisted_16 = { class: \"float-right\" }\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"clear-both\" }, null, -1)\n\nimport {computed, onBeforeUnmount, onMounted, reactive, ref, toRef} from \"vue\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {type Grid, Store} from \"@bryntum/grid\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {useI18n} from \"vue-i18n\";\nimport {helpers, required} from \"@vuelidate/validators\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {ErrorLocationType, TableType} from \"@/utilities/enums/Enums\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport {checkboxColumnConfig} from \"@/AppConfig\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SafetyInstructionsPopup',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\nconst locationService = new LocationService();\n\nconst selectedLocations = ref([]);\n\n\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true\n },\n height: \"400px\",\n columns : {\n data: [\n {\n id: 'name',\n field : 'name',\n text: t('popups.locations.name'),\n flex : 1,\n sortable: true\n },\n {\n id: 'group2Name',\n field : 'group2Name',\n text: t('popups.activitySet.group2'),\n flex : 1,\n sortable: true\n },\n {\n id: 'group1Name',\n field : 'group1Name',\n text: t('popups.activitySet.group1'),\n flex : 1,\n sortable: true\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.safetyInstruction], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedLocations.value = selectedLocations.value.concat(event.selected.map(lr => lr.data))\n selectedLocations.value = selectedLocations.value.filter(l => !event.deselected.map(lr => lr.data).includes(l));\n popupData.value.safetyInstructionLocations = selectedLocations.value;\n }\n },\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst setGridData = async ()=>{\n const locations = await locationService.getLocations(\"selectable\", ErrorLocationType.popup);\n\n gridStore.setStoreData(locations);\n\n // set selected locations in table\n grid.value.instance.value.selectRows(popupData.value.safetyInstructionLocations.map(l => l.id))\n\n globalStore.reorderColumns(TableType[TableType.safetyInstruction]);\n}\n\nconst popupData = toRef(props, 'data');\n\nonMounted(async () => {\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n globalStore.modal.validator = v$;\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\n\n// Validation\n\nconst rules = computed(() => {\n const rules = {\n name: { required: helpers.withMessage(t('validators.required'), required) },\n text: { required: helpers.withMessage(t('validators.required'), required) },\n }\n return rules\n})\n\nconst v$ = ref(useVuelidate(rules, popupData))\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('safetyInstructions.name')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.name.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(popupData).name) = $event)),\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).name]\n ]),\n _hoisted_5,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.name.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(_ctx.$t('safetyInstructions.description')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.text.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"textarea\", {\n class: \"form-control w-full\",\n type: \"text\",\n rows: \"4\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(popupData).text) = $event))\n }, null, 512), [\n [_vModelText, _unref(popupData).text]\n ]),\n _createTextVNode(),\n _hoisted_10,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.text.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _hoisted_12,\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h3\", _hoisted_13, _toDisplayString(_ctx.$t('safetyInstructions.safetyInstructionLocations')), 1),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(selectedLocations.value.length) + \" \" + _toDisplayString(_ctx.$t('safetyInstructions.selectedLocationsCount')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ]),\n _hoisted_17,\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./SafetyInstructionsPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SafetyInstructionsPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"grid grid-cols-1 gap-4 w-full\" }\nconst _hoisted_3 = { class: \"flex justify-end\" }\n\nimport {TableType} from '@/utilities/enums/Enums';\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\nimport {permissionColumn} from \"@/AppConfig\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SafetyInstructionLocationsPopup',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n height: \"400px\",\n columns : {\n data: [\n {\n id: 'id',\n field : 'id',\n text: t('popups.locations.id'),\n sortable: true\n },\n {\n id: 'name',\n field : 'name',\n text: t('popups.locations.name'),\n flex : 1,\n sortable: true\n },\n {\n id: 'street',\n field : 'street',\n text: t('popups.locations.street'),\n flex : 1,\n sortable: true,\n type: 'template',\n template: (value) => {\n if(value.record.street != null) {\n\t\t\t\t\t\treturn StringHelper.xss`${value.record.street ?? \"\"} ${value.record.streetNumber ?? \"\"}`;\n } else {\n return \"\"\n }\n },\n },\n {\n id:'postalCode',\n field : 'postalCode',\n text: t('popups.locations.postalCode'),\n flex : 1,\n sortable: true\n },\n {\n id:'city',\n field : 'city',\n text: t('popups.locations.city'),\n flex : 1,\n sortable: true\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.safetyInstructionLocations], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n enableTextSelection: true,\n}\n\nconst gridConfig = reactive(useGridConfig);\n\nconst setGridData = async ()=>{\n gridStore.setStoreData(globalStore.modal.contentObject.safetyInstructionLocations);\n\n // apply filters\n gridStore.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.safetyInstructionLocations])\n });\n\n // apply hidden cols\n for(const c of grid.value.instance.value.columns.storage.values){\n const needsHiding = globalStore.userPreferences.userHiddenColumns.some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.safetyInstructionLocations]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.reorderColumns(TableType[TableType.safetyInstructionLocations]);\n}\n\nonMounted(async () => {\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData();\n})\n\nonBeforeUnmount(()=>{\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./SafetyInstructionLocationsPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SafetyInstructionLocationsPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./InstantMessagePopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./InstantMessagePopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./RegisterPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./RegisterPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"grid grid-cols-1 gap-4 w-full\" }\nconst _hoisted_2 = { class: \"flex justify-end\" }\nconst _hoisted_3 = { class: \"text-center\" }\n\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {onMounted, reactive, ref} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {DisdiStateType, ErrorLocationType, PopupType, TableType} from \"@/utilities/enums/Enums\";\nimport {Store, StringHelper} from \"@bryntum/grid\";\nimport LoadingSpinner from \"@/components/LoadingSpinner\";\nimport isNullOrUndefined from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {useI18n} from \"vue-i18n\";\nimport DateToStringHelper from \"@/utilities/helpers/DateToStringHelper\";\nimport dialog from \"@/dialog\";\nimport {RegistrationService} from \"@/utilities/services/entities/RegistrationService\";\nimport {RegisteredUserInfo} from \"@/models/registration/RegisteredUserInfo\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport router from \"@/router\";\nimport {LocationRegistrationInfo} from \"@/models/registration/LocationRegistrationInfo\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationReportsUserHistoryPopup',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\nconst registrationService = new RegistrationService();\nconst permissionService = new PermissionService();\n\n\nconst userList = ref([]);\nconst loading = ref(true);\nconst selectedLocation = ref(null);\nconst gridStore = new Store();\n\nconst grid = ref(null);\nconst useGridConfig = {\n autoHeight : true,\n headerMenuFeature: false,\n cellTooltipFeature: {\n hoverDelay : 300,\n textContent : true,\n hideOnDelegateChange: true,\n },\n columns : {\n data: [\n {\n id: 'isActive',\n field: 'isActive',\n text: \"\",\n width: 36,\n minWidth: 36,\n type: \"template\",\n template: ({ record }) => {\n return record.data.isActive\n ? `
    `\n : `
    `;\n },\n },\n {\n id: 'firstName',\n field: \"firstName\",\n text: t(\"popups.registrationReports.grid.firstName\"),\n flex:2,\n type: 'template',\n template:({record})=>{\n\t\t\t\t\tif(record.data.isCoupled) {\n\t\t\t\t\t\treturn t(\"registrationReports.grid.coupledUser\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn StringHelper.xss`${record.data.firstName ?? \"\"}, ${record.data.lastName ?? \"\"}`;\n\t\t\t\t\t}\n\n }\n },\n {\n id: 'infoButton',\n field: 'infoButton',\n text: t('registrationReports.grid.info'),\n width: 36,\n type: \"template\",\n template: ({record}) => {\n\t\t\t\t\tif(!record.data.isCoupled) {\n\t\t\t\t\t\treturn `
    `;\n\t\t\t\t\t}\n },\n },\n {\n id: 'companyName',\n field: \"companyName\",\n text: t(\"popups.registrationReports.grid.company\"),\n flex:1,\n type: \"template\",\n template: ({record}:any)=>{\n if(isNullOrUndefined(record.data.companyName)) record.data.companyName = globalStore.settings.systemCompanySettings?.companyName;\n\t\t\t\t\treturn StringHelper.xss`${record.data.companyName ?? \"\"}`;\n },\n },\n {\n id: 'registeredDate',\n field: \"registeredDate\",\n text: t(\"popups.registrationReports.grid.registerUnregister\"),\n flex:2,\n type: \"template\",\n template: ({record})=>{\n const reg = record.data.registeredDate === null\n ? \"\"\n : DateToStringHelper(new Date(record.data.registeredDate));\n return `${reg}`;\n },\n },\n {\n id: 'unregisteredDate',\n field: \"unregisteredDate\",\n text: t(\"popups.registrationReports.grid.unregister\"),\n flex:2,\n type: \"template\",\n template: ({record})=>{\n const unreg = record.data.unregisteredDate === null\n ? \"\"\n : DateToStringHelper(new Date(record.data.unregisteredDate));\n return `${unreg}`;\n },\n },\n {\n id: 'activityText',\n field: 'activityText',\n text: '',\n hidden: !globalStore.settings.activitySettings?.activitesEnabled,\n minWidth: 36,\n maxWidth: 56,\n type: \"template\",\n tooltipRenderer : ({ record }) => isNullOrUndefined(record.data.activityText) ? \"\" : StringHelper.xss`${t('registrationReports.grid.activity')}
    ${record.data.activityText ?? \"\"}
    `,\n template: ({record}) => {\n return isNullOrUndefined(record.data.activityText)\n ? \"\"\n : `
    `;\n },\n },\n {\n id:'hasDisdi',\n field:'hasDisdi',\n text\t: \"\",\n width : 36,\n type\t: 'template',\n align: \"center\",\n hidden: !permissionService.userHasPermission(\"Disdi.Read\"),\n resizable: false,\n filterable: false,\n template : ({record}:any)=> {\n return selectedLocation.value.hasDisdi && record.data.disdiCount > 0\n ? `
    `\n : selectedLocation.value.hasDisdi && record.data.disdiCount === 0\n ? `
    `\n : \"\";\n }\n },\n {\n id: 'unregister',\n field : 'unregister',\n text: \"\",\n minWidth: 36,\n maxWidth: 56,\n type: \"template\",\n template: ({record}) => {\n\t\t\t\t\tif(!record.data.isCoupled) {\n\t\t\t\t\t\treturn record.data.unregisteredDate === null ? `
    ` : \"\";\n\t\t\t\t\t}\n },\n },\n\t\t\t{\n\t\t\t\tid: 'phoneCall',\n\t\t\t\tfield : 'phoneCall',\n\t\t\t\ttext: \"\",\n\t\t\t\tminWidth: 36,\n\t\t\t\tmaxWidth: 56,\n\t\t\t\ttooltipRenderer : () => StringHelper.xss`${t('registrationReports.grid.conferenceTooltip')}`,\n\t\t\t\ttype: \"template\",\n\t\t\t\ttemplate: ({record}) => {\n\t\t\t\t\tif(record.data.isCoupled) {\n\t\t\t\t\t\treturn record.data.unregisteredDate === null ? `
    ` : \"\";\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.locationReportsUserHistory], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n enableTextSelection: true,\n listeners: {\n async cellClick({column, record}) {\n if (column.data.field === 'unregister') {\n if(record.data.unregisteredDate !== null) return;\n\n const answer = await dialog\n .okText(t(\"global.unregister\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"registrationReports.confirmUnregister\", { name: `${record.data.firstName} ${record.data.lastName}`, location:selectedLocation.value.name}));\n\n if (answer){\n const unregResp = await registrationService.postUnRegisterUser(record.data.userId, selectedLocation.value.id);\n if(unregResp === null || unregResp === undefined || unregResp?.statusCode !== 0){\n ErrorHandler.handleError(unregResp, ErrorLocationType.table);\n return;\n }\n\n record.data.unregisteredDate = new Date().toJSON();\n\n gridStore.add(record.data);\n }\n }\n if(column.data.field === 'infoButton') {\n\t\t\t\t// Open Popup only for \"normal\" users, not coupled\n\t\t\t\tif(!record.data.isCoupled) {\n\t\t\t\t\tconst backLocation = selectedLocation.value;\n\t\t\t\t\tconst convertedUserData = await convertToRegistrationReport(record.data);\n\t\t\t\t\tconst payload = {backLocation:backLocation, userData:convertedUserData};\n\n\t\t\t\t\tglobalStore.openPopup({\n\t\t\t\t\t\tdata: payload,\n\t\t\t\t\t\taction: globalStore.closeModal,\n\t\t\t\t\t\ttitle: t('registrationReports.userDetailPopupTitle'),\n\t\t\t\t\t\ttype: PopupType.registrationUserHistory\n\t\t\t\t\t}, true);\n\t\t\t\t}\n }\n\n if(column.data.field === \"hasDisdi\"){\n if (selectedLocation.value?.hasDisdi && record.data.disdiCount > 0){\n await router.push(`disdi/${TableType[TableType.register]}/${+record.data.registrationId}`)\n }\n }\n },\n }\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst convertToRegistrationReport = async (userData:any) => {\n const data = userData as RegisteredUserInfo;\n data.fullName = `${data.firstName} ${data.lastName}`;\n\n return data;\n}\n\nconst setDisdiColumVisibility = async() =>{\n const disdiIsOn = globalStore.settings.disdiSettings?.disdi !== DisdiStateType.NoDISDI;\n\n if(!disdiIsOn){\n const hasDisdiCol = grid.value.instance.value.columns.getById(\"hasDisdi\");\n hasDisdiCol.hidden = true;\n }\n}\n\nonMounted(async ()=>{\n loading.value = true;\n\n selectedLocation.value = globalStore.modal.contentObject;\n\n const userHistoryReps = await registrationService.getUserInfoForLocation(selectedLocation.value.id);\n if (userHistoryReps === null || userHistoryReps === undefined || userHistoryReps.statusCode !== 0) {\n ErrorHandler.handleError(userHistoryReps, ErrorLocationType.popup);\n\n loading.value = false;\n\n return;\n }\n\n userList.value = userHistoryReps.locationInfo?.map(h => {\n h.isActive = h.unregisteredDate === null;\n return h;\n });\n\n loading.value = false;\n\n gridStore.setStoreData(userList.value);\n\n await setDisdiColumVisibility();\n\n try {\n globalStore.reorderColumns(TableType[TableType.locationReportsUserHistory], grid.value.instance.value.columns);\n }\n catch (e) {\n console.log(e)\n }\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _withDirectives(_createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ], 512), [\n [_vShow, !loading.value]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(LoadingSpinner))\n ], 512), [\n [_vShow, loading.value]\n ])\n ]))\n}\n}\n\n})","import script from \"./LocationReportsUserHistoryPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationReportsUserHistoryPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./LocationReportsDetailsPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LocationReportsDetailsPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"inputGroup\" }\nconst _hoisted_2 = { class: \"groupTitle\" }\nconst _hoisted_3 = { class: \"inputRow\" }\nconst _hoisted_4 = { class: \"flex flex-wrap\" }\nconst _hoisted_5 = { class: \"inputField flex w-1/3\" }\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"inputTitle ml-2\" }, [\n /*#__PURE__*/_createElementVNode(\"label\", null, \"aktiv\")\n], -1)\nconst _hoisted_8 = { class: \"inputField flex w-1/3\" }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"inputTitle ml-2\" }, [\n /*#__PURE__*/_createElementVNode(\"label\", null, \"inaktiv\")\n], -1)\nconst _hoisted_11 = { class: \"inputField flex w-1/3\" }\nconst _hoisted_12 = [\"checked\"]\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"inputTitle ml-2\" }, [\n /*#__PURE__*/_createElementVNode(\"label\", null, \"nur heute\")\n], -1)\nconst _hoisted_14 = { class: \"inputGroup\" }\nconst _hoisted_15 = { class: \"groupTitle\" }\nconst _hoisted_16 = { class: \"inputGroup\" }\nconst _hoisted_17 = { class: \"groupTitle\" }\nconst _hoisted_18 = { class: \"groupInputs flex\" }\nconst _hoisted_19 = { class: \"groupInputs flex\" }\nconst _hoisted_20 = { class: \"inputRow\" }\nconst _hoisted_21 = { class: \"flex flex-wrap\" }\nconst _hoisted_22 = [\"checked\", \"id\", \"value\"]\nconst _hoisted_23 = { class: \"inputTitle ml-2\" }\nconst _hoisted_24 = [\"for\"]\nconst _hoisted_25 = { class: \"inputGroup\" }\nconst _hoisted_26 = { class: \"groupTitle\" }\nconst _hoisted_27 = { class: \"groupInputs flex\" }\nconst _hoisted_28 = { class: \"groupInputs flex\" }\nconst _hoisted_29 = { class: \"inputRow\" }\nconst _hoisted_30 = { class: \"flex flex-wrap\" }\nconst _hoisted_31 = [\"checked\", \"id\", \"value\"]\nconst _hoisted_32 = { class: \"inputTitle ml-2\" }\nconst _hoisted_33 = [\"for\"]\nconst _hoisted_34 = { class: \"inputGroup\" }\nconst _hoisted_35 = { class: \"groupTitle\" }\nconst _hoisted_36 = { class: \"groupInputs flex\" }\nconst _hoisted_37 = { class: \"groupInputs flex\" }\nconst _hoisted_38 = { class: \"inputRow\" }\nconst _hoisted_39 = { class: \"flex flex-wrap\" }\nconst _hoisted_40 = [\"checked\", \"id\", \"value\"]\nconst _hoisted_41 = { class: \"inputTitle ml-2\" }\nconst _hoisted_42 = [\"for\"]\nconst _hoisted_43 = { class: \"inputGroup\" }\nconst _hoisted_44 = { class: \"groupTitle\" }\nconst _hoisted_45 = { class: \"inputGroup\" }\nconst _hoisted_46 = { class: \"groupTitle\" }\n\nimport FilterService from \"@/utilities/services/FilterService\";\nimport {ErrorLocationType, TableType} from \"@/utilities/enums/Enums\";\nimport {computed, onMounted, ref} from \"vue\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {Group1Service} from \"@/utilities/services/entities/Group1Service\";\nimport {Group2Service} from \"@/utilities/services/entities/Group2Service\";\nimport {ControlCenterService} from \"@/utilities/services/entities/ControlCenterService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationReportsFilterPopup',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst group1Service = new Group1Service();\nconst group2Service = new Group2Service();\nconst controlCenterService = new ControlCenterService();\n\nconst regionList = ref([]);\nconst setRegionList = async () =>{\n const resp = await group1Service.getRegions();\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n regionList.value = resp.regionInfo;\n};\n\nconst levelList = ref([]);\nconst setLevelList = async () =>{\n const resp = await group2Service.getLevels();\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n levelList.value = resp.levelInfo;\n};\n\nconst controlCenterList = ref([]);\nconst setControlCenterList = async () =>{\n const resp = await controlCenterService.getControlCenters();\n if(resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, ErrorLocationType.popup);\n return;\n }\n\n controlCenterList.value = resp.controlCenterInfo;\n};\n\nconst userFilters = computed(()=>{\n return globalStore.userPreferences.userFilters;\n});\nconst userHiddenColumns = computed(()=>{\n return globalStore.userPreferences.userHiddenColumns;\n});\n\nconst tmpUserFilters = computed(()=>{\n return globalStore.tmpPreferences.tmpUserFilters;\n});\nconst tmpUserHiddenColumns = computed(()=>{\n return globalStore.tmpPreferences.tmpUserHiddenColumns;\n});\n\nonMounted(async ()=>{\n //init tmp values\n globalStore.setTmpFilters(userFilters.value.filter(f => f.tableName === TableType[TableType.registerLocation]));\n globalStore.setTmpHiddenColumns(userHiddenColumns.value.filter(f => f.tableName === TableType[TableType.registerLocation]));\n\n // init afterFilters count\n globalStore.setCountAfterFilters(globalStore.gridStore?.count);\n\n await setControlCenterList();\n await setRegionList();\n await setLevelList();\n});\n\n// init checkboxes according to tmpFilters [attributeValue == input-id]\nconst isFiltered = (attName, attVal) => {\n return tmpUserFilters.value.some(tuf => tuf.attributeName === attName && tuf.attributeValue === attVal.toString());\n};\n\n// init visibility buttons according to tmpHiddenColumns\nconst isHidden = (attName) => {\n return tmpUserHiddenColumns.value.some(thc => thc.attributeName === attName.toString());\n};\n\nconst filterChanged = ({ target }, propName) => {\n if(target.checked) {\n // add to tmpFilterList\n globalStore.addUserFilter({tableName: TableType[TableType.registerLocation], attributeName: propName, attributeValue: target.value.toString()});\n }\n else {\n // remove from tmpFilterList\n tmpUserFilters.value.forEach((tuf,index)=>{\n if(tuf.attributeName === propName && tuf.attributeValue === target.value.toString()) tmpUserFilters.value.splice(index, 1);\n });\n\n globalStore.setTmpFilters(tmpUserFilters.value);\n }\n\n calculateRestEntities();\n};\n\nconst visibilityChange = (colName) => {\n if(!tmpUserHiddenColumns.value.some(thc => thc.attributeName === colName)) {\n // add to tmpHiddenColumnList\n globalStore.addUserHiddenColumn({ tableName: TableType[TableType.registerLocation], attributeName: colName, attributeValue: \"\" });\n }\n else {\n // remove from tmpHiddenColumnList\n tmpUserHiddenColumns.value.forEach((thc,index)=>{\n if(thc.attributeName === colName) tmpUserHiddenColumns.value.splice(index, 1);\n });\n\n globalStore.setTmpHiddenColumns(tmpUserHiddenColumns.value);\n }\n\n calculateRestEntities();\n};\n\nconst calculateRestEntities = () => {\n const allRecords = globalStore.gridStore.storage.allValues;\n const tmpFilterMethod = FilterService.buildFilter(TableType[TableType.registerLocation], true);\n\n let counter = 0;\n\n allRecords.forEach(r => {\n if (tmpFilterMethod(r)) counter++;\n });\n\n globalStore.setCountAfterFilters(counter);\n};\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('popups.locationReportsFilter.status')), 1),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"input\", {\n checked: isFiltered('registrationStatus.isLocationBusy', 'Active'),\n type: \"checkbox\",\n id: \"Active\",\n value: \"Active\",\n onChange: _cache[0] || (_cache[0] = (e) => filterChanged(e, 'registrationStatus.isLocationBusy'))\n }, null, 40, _hoisted_6),\n _hoisted_7\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"input\", {\n checked: isFiltered('registrationStatus.isLocationBusy', 'Inactive'),\n type: \"checkbox\",\n id: \"Inactive\",\n value: \"Inactive\",\n onChange: _cache[1] || (_cache[1] = (e) => filterChanged(e, 'registrationStatus.isLocationBusy'))\n }, null, 40, _hoisted_9),\n _hoisted_10\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"input\", {\n checked: isFiltered('isToday', 'Today'),\n type: \"checkbox\",\n id: \"Today\",\n value: \"Today\",\n onChange: _cache[2] || (_cache[2] = (e) => filterChanged(e, 'isToday'))\n }, null, 40, _hoisted_12),\n _hoisted_13\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationReportsFilter.name')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('name') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (visibilityChange('name')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationReportsFilter.group1Title')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('group1Name') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (visibilityChange('group1Name')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(regionList.value, (region) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"inputField flex w-1/3\",\n key: region\n }, [\n _createElementVNode(\"input\", {\n checked: isFiltered('group1Id', region.id),\n type: \"checkbox\",\n id: 'region' + region.id.toString(),\n value: region.id,\n onChange: _cache[5] || (_cache[5] = (e) => filterChanged(e, 'group1Id'))\n }, null, 40, _hoisted_22),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"label\", {\n for: 'region' + region.id.toString()\n }, _toDisplayString(region.name), 9, _hoisted_24)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationReportsFilter.group2Title')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('group2Name') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (visibilityChange('group2Name')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(levelList.value, (level) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"inputField flex w-1/3\",\n key: level\n }, [\n _createElementVNode(\"input\", {\n checked: isFiltered('group2Id', level.id),\n type: \"checkbox\",\n id: 'level' + level.id.toString(),\n value: level.id,\n onChange: _cache[7] || (_cache[7] = (e) => filterChanged(e, 'group2Id'))\n }, null, 40, _hoisted_31),\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"label\", {\n for: 'level' + level.id.toString()\n }, _toDisplayString(level.name), 9, _hoisted_33)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", _hoisted_35, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationReportsFilter.controlCenter')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('controlCenterName') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[8] || (_cache[8] = ($event: any) => (visibilityChange('controlCenterName')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(controlCenterList.value, (center) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"inputField flex w-1/3\",\n key: center\n }, [\n _createElementVNode(\"input\", {\n checked: isFiltered('controlCenterId', center.id),\n type: \"checkbox\",\n id: 'center' + center.id.toString(),\n value: center.id,\n onChange: _cache[9] || (_cache[9] = (e) => filterChanged(e, 'controlCenterId'))\n }, null, 40, _hoisted_40),\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"label\", {\n for: 'center' + center.id.toString()\n }, _toDisplayString(center.name), 9, _hoisted_42)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationReportsFilter.phoneNumber')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('contactInfo.phoneNumber') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[10] || (_cache[10] = ($event: any) => (visibilityChange('contactInfo.phoneNumber')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", _hoisted_46, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.locationReportsFilter.address')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('address') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[11] || (_cache[11] = ($event: any) => (visibilityChange('address')))\n }, null, 2)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LocationReportsFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationReportsFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, unref as _unref, mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"flex\"\n}\nconst _hoisted_2 = { class: \"flex\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"smallIcon icon-pfeil-links iconInButton\" }, null, -1)\nconst _hoisted_4 = { class: \"block w-full registrationUserHistory\" }\nconst _hoisted_5 = { class: \"historyDetails\" }\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"mx-2\" }, \"|\", -1)\nconst _hoisted_7 = [\"href\"]\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"mx-2\" }, \"|\", -1)\nconst _hoisted_9 = [\"href\"]\nconst _hoisted_10 = {\n key: 0,\n class: \"grid grid-cols-1 gap-4 w-full\"\n}\nconst _hoisted_11 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"flex justify-end\" }, null, -1)\n\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Store, StringHelper} from \"@bryntum/grid\";\nimport {onMounted, reactive, ref} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\nimport dialog from \"@/dialog\";\nimport isNullOrUndefined from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport DateToStringHelper from \"@/utilities/helpers/DateToStringHelper\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {DisdiStateType, ErrorLocationType, PopupType, TableType} from \"@/utilities/enums/Enums\";\nimport {RegistrationService} from \"@/utilities/services/entities/RegistrationService\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport router from \"@/router\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RegistrationUserHistory',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\n\n\nconst permissionService = new PermissionService();\nconst registrationService = new RegistrationService();\n\nconst selectedUser = ref(globalStore.modal.contentObject.userData ?? globalStore.modal.contentObject);\n\nconst backLocation = ref(undefined);\nconst goBackToLocationHistoryPopup = () => {\n if (backLocation.value !== undefined) {\n globalStore.openPopup({\n data: backLocation.value,\n action: globalStore.closeModal,\n title: backLocation.value.name,\n type: PopupType.locationReportsDetailsPopup\n }, true);\n }\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n autoHeight : true,\n headerMenuFeature: false,\n enableTextSelection: true,\n cellTooltipFeature: {\n hoverDelay: 300,\n textContent: true,\n hideOnDelegateChange: true,\n },\n columns : {\n data: [\n {\n id: 'status',\n field: 'status',\n text: \"\",\n width: 36,\n minWidth: 36,\n type: \"template\",\n template: ({ record }) => {\n const isActive = record.data.lastUnRegisteredLocationDate === null;\n return isActive\n ? `
    `\n : `
    `;\n },\n },\n {\n id: 'locationName',\n field : 'locationName',\n text: t('registrationReports.grid.location'),\n flex : 1,\n sortable: true\n },\n {\n id: 'lastRegisteredLocationDate',\n field: 'lastRegisteredLocationDate',\n text: t('registrationReports.grid.register'),\n flex : 1,\n sortable: true,\n type: 'template',\n template: ({record})=>{\n const reg = NullOrUndefinedHelper(record.data.lastRegisteredLocationDate)\n ? \"\"\n : DateToStringHelper(new Date(record.data.lastRegisteredLocationDate));\n return `${reg}`;\n }\n },\n {\n id: 'lastUnRegisteredLocationDate',\n field : 'lastUnRegisteredLocationDate',\n text: t('registrationReports.grid.unregister'),\n flex : 1,\n sortable: true,\n type: 'template',\n template: ({record})=>{\n const unreg = NullOrUndefinedHelper(record.data.lastUnRegisteredLocationDate)\n ? \"\"\n : DateToStringHelper(new Date(record.data.lastUnRegisteredLocationDate));\n return `${unreg}`;\n }\n },\n {\n id: 'locationPhoneNumber',\n field : 'locationPhoneNumber',\n text: t('registrationReports.grid.phoneNumber'),\n flex : 1,\n sortable: true\n },\n {\n id:'hasDisdi',\n field:'hasDisdi',\n text\t: \"\",\n width : 36,\n type\t: 'template',\n align: \"center\",\n hidden: !permissionService.userHasPermission(\"Disdi.Read\"),\n resizable: false,\n filterable: false,\n template : ({record}:any)=> {\n return record.data.hasDisdi && record.data.disdiCount > 0\n ? `
    `\n : record.data.hasDisdi && record.data.disdiCount === 0\n ? `
    `\n : \"\";\n }\n },\n {\n id: 'activityText',\n field: 'activityText',\n hidden: !globalStore.settings.activitySettings?.activitesEnabled,\n text: '',\n width : 52,\n minWidth: 36,\n type: \"template\",\n tooltipRenderer : ({ record }) => isNullOrUndefined(record.data.activityText) ? \"\" : StringHelper.xss`${t('registrationReports.grid.activity')}
    ${record.data.activityText ?? \"\"}
    `,\n template: ({record}) => {\n return isNullOrUndefined(record.data.activityText)\n ? \"\"\n : `
    `;\n },\n },\n {\n id: 'unregister',\n field : 'unregister',\n text: \"\",\n width : 52,\n minWidth: 36,\n type: \"template\",\n template: ({record}) => {\n return record.data.lastUnRegisteredLocationDate === null\n ? `
    `\n : \"\";\n },\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.userRegistrationHistory], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n listeners: {\n async cellClick({column, record}) {\n if (column.data.field === 'unregister' && record.data.lastUnRegisteredLocationDate === null) {\n const answer = await dialog\n .okText(t(\"global.unregister\"))\n .cancelText(t(\"global.cancel\"))\n .confirm(t(\"registrationReports.confirmUnregister\", { name:selectedUser.value.fullName, location:record.data.locationName}));\n\n if (answer){\n const unregResp = await registrationService.postUnRegisterUser(selectedUser.value.id, record.data.locationId);\n if(unregResp === null || unregResp === undefined || unregResp?.statusCode !== 0){\n ErrorHandler.handleError(unregResp, ErrorLocationType.popup);\n return;\n }\n\n // update grid in popup\n record.data.lastUnRegisteredLocationDate = new Date().toJSON();\n gridStore.add(record.data);\n\n // update reportGrid if current view is registerReports\n if(router.currentRoute.value.name === \"RegistrationReports\"){\n const userEntry = globalStore.gridStore.records.find(u => u.id === selectedUser.value.id).data;\n userEntry.registeredLocationInfo = userEntry.registeredLocationInfo.map(r => {\n if(r.lastUnRegisteredLocationDate === null) r.lastUnRegisteredLocationDate = new Date().toJSON();\n\n return r;\n });\n const reg = DateToStringHelper(new Date(record.data.lastRegisteredLocationDate));\n const unreg = DateToStringHelper(new Date(record.data.lastUnRegisteredLocationDate));\n userEntry.lastRegistrationTime = `${reg} → ${unreg}`;\n userEntry.isActive = false;\n\n globalStore.gridStore.add(userEntry);\n }\n }\n }\n\n if(column.data.field === \"hasDisdi\"){\n if (record.data.hasDisdi && record.data.disdiCount > 0){\n await router.push(`disdi/${TableType[TableType.register]}/${+record.data.registrationId}`)\n }\n }\n\n },\n }\n}\n\nconst gridConfig = reactive(useGridConfig);\n\nconst setDisdiColumVisibility = async() =>{\n const disdiIsOn = globalStore.settings.disdiSettings?.disdi !== DisdiStateType.NoDISDI;\n\n if(!disdiIsOn){\n const hasDisdiCol = grid.value.instance.value.columns.getById(\"hasDisdi\");\n hasDisdiCol.hidden = true;\n }\n}\n\nonMounted(async () => {\n const popupData = globalStore.modal.contentObject;\n const gridData = popupData.userData?.registeredLocationInfo ?? popupData.registeredLocationInfo;\n\n backLocation.value = popupData.backLocation ?? undefined;\n\n gridStore.setStoreData(gridData);\n\n await setDisdiColumVisibility();\n\n globalStore.reorderColumns(TableType[TableType.userRegistrationHistory], grid.value.instance.value.columns);\n\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n (backLocation.value !== undefined)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"button\", { onClick: goBackToLocationHistoryPopup }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('global.back')), 1)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"h2\", null, _toDisplayString(selectedUser.value.fullName), 1),\n _createElementVNode(\"div\", _hoisted_5, [\n _createTextVNode(_toDisplayString(selectedUser.value.companyName) + \" \", 1),\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_unref(t)('registrationReports.email')) + \": \", 1),\n _createElementVNode(\"a\", {\n href: 'mailto:'+selectedUser.value.email\n }, _toDisplayString(selectedUser.value.email), 9, _hoisted_7),\n _createTextVNode(),\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(_unref(t)('registrationReports.phoneNumber')) + \": \", 1),\n _createElementVNode(\"a\", {\n href: 'tel:'+selectedUser.value.phoneNumber\n }, _toDisplayString(selectedUser.value.phoneNumber), 9, _hoisted_9)\n ]),\n (backLocation.value === undefined)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _hoisted_11,\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./RegistrationUserHistory.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RegistrationUserHistory.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"inputGroup\" }\nconst _hoisted_2 = { class: \"groupTitle\" }\nconst _hoisted_3 = { class: \"inputRow\" }\nconst _hoisted_4 = { class: \"flex flex-wrap\" }\nconst _hoisted_5 = { class: \"inputField flex w-1/3\" }\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"inputTitle ml-2\" }, [\n /*#__PURE__*/_createElementVNode(\"label\", null, \"aktiv\")\n], -1)\nconst _hoisted_8 = { class: \"inputField flex w-1/3\" }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"inputTitle ml-2\" }, [\n /*#__PURE__*/_createElementVNode(\"label\", null, \"inaktiv\")\n], -1)\nconst _hoisted_11 = { class: \"inputField flex w-1/3\" }\nconst _hoisted_12 = [\"checked\"]\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"inputTitle ml-2\" }, [\n /*#__PURE__*/_createElementVNode(\"label\", null, \"nur heute\")\n], -1)\nconst _hoisted_14 = { class: \"inputGroup\" }\nconst _hoisted_15 = { class: \"groupTitle\" }\nconst _hoisted_16 = { class: \"inputGroup\" }\nconst _hoisted_17 = { class: \"groupTitle\" }\nconst _hoisted_18 = { class: \"inputGroup\" }\nconst _hoisted_19 = { class: \"groupTitle\" }\nconst _hoisted_20 = { class: \"inputGroup\" }\nconst _hoisted_21 = { class: \"groupTitle\" }\nconst _hoisted_22 = { class: \"inputGroup\" }\nconst _hoisted_23 = { class: \"groupTitle\" }\nconst _hoisted_24 = { class: \"inputGroup\" }\nconst _hoisted_25 = { class: \"groupTitle\" }\nconst _hoisted_26 = { class: \"inputGroup\" }\nconst _hoisted_27 = { class: \"groupTitle\" }\nconst _hoisted_28 = { class: \"inputGroup\" }\nconst _hoisted_29 = { class: \"groupTitle\" }\n\nimport FilterService from \"@/utilities/services/FilterService\";\nimport { TableType } from \"@/utilities/enums/Enums\";\nimport { computed, onMounted } from \"vue\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RegistrationFilterPopup',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\n\nconst userFilters = computed(()=>{\n return globalStore.userPreferences.userFilters;\n});\nconst userHiddenColumns = computed(()=>{\n return globalStore.userPreferences.userHiddenColumns;\n});\n\nconst tmpUserFilters = computed(()=>{\n return globalStore.tmpPreferences.tmpUserFilters;\n});\nconst tmpUserHiddenColumns = computed(()=>{\n return globalStore.tmpPreferences.tmpUserHiddenColumns;\n});\n\nonMounted(()=>{\n //init tmp values\n globalStore.setTmpFilters(userFilters.value.filter(f => f.tableName === TableType[TableType.register]));\n globalStore.setTmpHiddenColumns(userHiddenColumns.value.filter(f => f.tableName === TableType[TableType.register]));\n\n // init afterFilters count\n globalStore.setCountAfterFilters(globalStore.gridStore?.count);\n});\n\n// init checkboxes according to tmpFilters [attributeValue == input-id]\nconst isFiltered = (attName, attVal) => {\n return tmpUserFilters.value.some(tuf => tuf.attributeName === attName && tuf.attributeValue === attVal.toString());\n};\n\n// init visibility buttons according to tmpHiddenColumns\nconst isHidden = (attName) => {\n return tmpUserHiddenColumns.value.some(thc => thc.attributeName === attName.toString());\n};\n\nconst filterChanged = ({ target }, propName) => {\n if(target.checked) {\n // add to tmpFilterList\n globalStore.addUserFilter({tableName: TableType[TableType.register], attributeName: propName, attributeValue: target.value.toString()});\n }\n else {\n // remove from tmpFilterList\n tmpUserFilters.value.forEach((tuf,index)=>{\n if(tuf.attributeName === propName && tuf.attributeValue === target.value.toString()) tmpUserFilters.value.splice(index, 1);\n });\n\n globalStore.setTmpFilters(tmpUserFilters.value);\n }\n\n calculateRestEntities();\n};\n\nconst visibilityChange = (colName) => {\n if(!tmpUserHiddenColumns.value.some(thc => thc.attributeName === colName)) {\n // add to tmpHiddenColumnList\n globalStore.addUserHiddenColumn({ tableName: TableType[TableType.register], attributeName: colName, attributeValue: \"\" });\n }\n else {\n // remove from tmpHiddenColumnList\n tmpUserHiddenColumns.value.forEach((thc,index)=>{\n if(thc.attributeName === colName) tmpUserHiddenColumns.value.splice(index, 1);\n });\n\n globalStore.setTmpHiddenColumns(tmpUserHiddenColumns.value);\n }\n\n calculateRestEntities();\n};\n\nconst calculateRestEntities = () => {\n const allRecords = globalStore.gridStore.storage.allValues;\n const tmpFilterMethod = FilterService.buildFilter(TableType[TableType.register], true);\n\n let counter = 0;\n\n allRecords.forEach(r => {\n if (tmpFilterMethod(r)) counter++;\n });\n\n globalStore.setCountAfterFilters(counter);\n};\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('popups.registerFilter.status')), 1),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"input\", {\n checked: isFiltered('isActive', 'Active'),\n type: \"checkbox\",\n id: \"Active\",\n value: \"Active\",\n onChange: _cache[0] || (_cache[0] = (e) => filterChanged(e, 'isActive'))\n }, null, 40, _hoisted_6),\n _hoisted_7\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"input\", {\n checked: isFiltered('isActive', 'Inactive'),\n type: \"checkbox\",\n id: \"Inactive\",\n value: \"Inactive\",\n onChange: _cache[1] || (_cache[1] = (e) => filterChanged(e, 'isActive'))\n }, null, 40, _hoisted_9),\n _hoisted_10\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"input\", {\n checked: isFiltered('isToday', 'Today'),\n type: \"checkbox\",\n id: \"Today\",\n value: \"Today\",\n onChange: _cache[2] || (_cache[2] = (e) => filterChanged(e, 'isToday'))\n }, null, 40, _hoisted_12),\n _hoisted_13\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.registerFilter.lastName')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('lastName') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (visibilityChange('lastName')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.registerFilter.firstName')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('firstName') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (visibilityChange('firstName')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.registerFilter.kid')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('kid') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (visibilityChange('kid')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.registerFilter.email')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('email') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (visibilityChange('email')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.registerFilter.phoneNumber')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('phoneNumber') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[7] || (_cache[7] = ($event: any) => (visibilityChange('phoneNumber')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.registerFilter.company')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('companyName') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[8] || (_cache[8] = ($event: any) => (visibilityChange('companyName')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.registerFilter.location')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('lastLocationName') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[9] || (_cache[9] = ($event: any) => (visibilityChange('lastLocationName')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.registerFilter.guestCount')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('lastGuestCount') ? 'icon-spalte-ausblenden text-red text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[10] || (_cache[10] = ($event: any) => (visibilityChange('lastGuestCount')))\n }, null, 2)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./RegistrationFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RegistrationFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"grid grid-cols-1 gap-4 w-full\" }\nconst _hoisted_3 = { class: \"flex justify-end\" }\n\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport { Store } from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {onBeforeUnmount, onMounted, reactive, ref} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\nimport {TableType} from \"@/utilities/enums/Enums\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ActivitySetLocationsPopup',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\n\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n autoHeight : true,\n columns :{\n data: [\n {\n id: 'locationId',\n field : 'locationId',\n text: t('popups.locations.id'),\n sortable: true\n },\n {\n id: 'locationName',\n field : 'locationName',\n text: t('popups.locations.name'),\n flex : 1,\n sortable: true\n }\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.activitySetLocations], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n enableTextSelection: true,\n}\n\nconst gridConfig = reactive(useGridConfig);\n\n\nonMounted(async () => {\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n gridStore.setStoreData(globalStore.modal.contentObject.activitySetLocationInfo);\n\n globalStore.reorderColumns(TableType[TableType.activitySetLocations]);\n})\n\nonBeforeUnmount(()=>{\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./ActivitySetLocationsPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ActivitySetLocationsPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createVNode as _createVNode, mergeProps as _mergeProps, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_3 = { class: \"\" }\nconst _hoisted_4 = { class: \"inputTitle\" }\nconst _hoisted_5 = { class: \"inputField flex-grow\" }\nconst _hoisted_6 = { class: \"error-msg\" }\nconst _hoisted_7 = { class: \"inputTitle\" }\nconst _hoisted_8 = { class: \"inputField flex-grow\" }\nconst _hoisted_9 = { class: \"grid grid-cols-1 gap-4 w-full mt-6\" }\nconst _hoisted_10 = { class: \"text-grey mb-4\" }\nconst _hoisted_11 = { class: \"flex mb-4\" }\nconst _hoisted_12 = { class: \"flex\" }\nconst _hoisted_13 = { class: \"inputField\" }\nconst _hoisted_14 = { class: \"inputTitle ml-2\" }\nconst _hoisted_15 = { for: \"activityFilterToggle\" }\nconst _hoisted_16 = { class: \"ml-auto\" }\nconst _hoisted_17 = { class: \"text-center\" }\n\nimport {ErrorLocationType, TableType} from '@/utilities/enums/Enums';\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport {Store} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {computed, onBeforeUnmount, onMounted, reactive, ref, toRef} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\nimport Tags from \"@/components/inputs/Tags\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {helpers, required} from \"@vuelidate/validators\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {ActivityService} from \"@/utilities/services/entities/ActivityService\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport {checkboxColumnConfig} from \"@/AppConfig\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ActivitySetEditPopup',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\n\nconst popupData = toRef(props, 'data');\n\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\nconst activityService = new ActivityService();\nconst locationService = new LocationService();\n\nconst loading = ref(true);\nconst activityList = ref([]);\nconst selectedActivities = ref([]);\nconst selectedLocations = ref([]);\n\nconst syncActivities = ()=>{\n popupData.value.activities = selectedActivities.value;\n}\n\nconst activityGridFilter = {\n id: \"filterOutOtherActivitySets\",\n filterBy: (record)=> record.activitySetId === null || record.activitySetId === popupData.value.id\n}\nconst toggleActivityGridFilter = ({target}:any)=>{\n if (target.checked){\n gridStore.removeFilter(activityGridFilter.id);\n }\n else{\n gridStore.filter(activityGridFilter);\n }\n};\n\nconst grid = ref(null);\nconst useGridConfig = {\n height: \"400px\",\n headerMenuFeature: false,\n selectionMode : {\n row\t : true,\n checkbox: checkboxColumnConfig,\n showCheckAll : true,\n deselectFilteredOutRecords: true,\n },\n columns : {\n data: [\n {\n id: 'name',\n field : 'name',\n text: t('popups.activitySet.location'),\n flex : 1,\n sortable: true\n },\n {\n id: 'group2Name',\n field : 'group2Name',\n text: t('popups.activitySet.group2'),\n flex : 1,\n sortable: true\n },\n {\n id: 'group1Name',\n field : 'group1Name',\n text: t('popups.activitySet.group1'),\n flex : 1,\n sortable: true\n },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.activitySetEditLocation], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n enableTextSelection: true,\n listeners: {\n selectionChange(event) {\n if(event.selection.length > 0 && event.selection[0]?.data === undefined) return;\n selectedLocations.value = selectedLocations.value.concat(event.selected.map(lr => lr.data))\n selectedLocations.value = selectedLocations.value.filter(l => !event.deselected.map(lr => lr.data).includes(l));\n\n //convert full location object to smaller object type, that will also be returned by get API of get activitySet,\n //which is un equal to the selectable type, which is super fkn annoying, but there is no time to fix that atm\n // :( *sad programmer noises*\n popupData.value.activitySetLocationInfo = selectedLocations.value.map(l => {\n return {locationId:l.id, locationName:l.name};\n });\n },\n }\n}\nconst gridConfig = reactive(useGridConfig);\n\n\nconst setGridData = async () => {\n loading.value = true;\n\n const locations = await locationService.getLocations(\"selectable\", ErrorLocationType.popup);\n\n gridStore.setStoreData(locations);\n // filter out locations with another activitySet, can be toggled via checkbox\n gridStore.filter(activityGridFilter);\n\n // set selected locations in table\n grid.value.instance.value.selectRows(popupData.value.activitySetLocationInfo.map(l => l.locationId ?? l.id))\n\n globalStore.reorderColumns(TableType[TableType.activitySetEditLocation]);\n\n loading.value = false;\n}\n\nconst setActivityDropDown = async () => {\n loading.value = true;\n\n activityList.value = await activityService.getActivities(\"display\", ErrorLocationType.popup);\n\n selectedActivities.value = popupData.value.activities;\n\n loading.value = false;\n}\n\nonMounted(async () => {\n globalStore.modal.validator = v$;\n globalStore.setGridStore(ref(gridStore));\n globalStore.setGridColumnStore(ref(grid.value?.instance.value?.columns));\n\n await setGridData()\n await setActivityDropDown()\n})\n\nonBeforeUnmount(()=>{\n globalStore.setGridStore(null);\n globalStore.setGridColumnStore(null);\n\n globalStore.currentItems = 0;\n globalStore.allItems = 0;\n});\n\n// Validation\n\nconst rules = computed(() => {\n const rules = {\n name: { required: helpers.withMessage(t('validators.required'), required) },\n }\n return rules\n})\n\nconst v$ = ref(useVuelidate(rules, popupData))\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, _toDisplayString(_unref(t)('popups.activitySet.description')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.name.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n class: \"w-full\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(popupData).name) = $event))\n }, null, 512), [\n [_vModelText, _unref(popupData).name]\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.name.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_unref(t)('popups.activitySet.addActivity')), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_unref(Tags), {\n options: activityList.value,\n selected: selectedActivities.value,\n onSelectChanged: syncActivities\n }, null, 8, [\"options\", \"selected\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createElementVNode(\"h4\", _hoisted_10, _toDisplayString(_unref(t)('popups.activitySet.locationsHeadline')), 1),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"input\", {\n id: \"activityFilterToggle\",\n type: \"checkbox\",\n onChange: toggleActivityGridFilter\n }, null, 32)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"label\", _hoisted_15, _toDisplayString(_ctx.$t('popups.activitySet.toggleActivityFilter')), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ], 512), [\n [_vShow, !loading.value]\n ])\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_17, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, loading.value]\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./ActivitySetEditPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ActivitySetEditPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./ActivityEditPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ActivityEditPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, mergeProps as _mergeProps, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"text-grey\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_7 = { class: \"mb-4 mt-8 text-grey\" }\nconst _hoisted_8 = { class: \"block w-full\" }\nconst _hoisted_9 = { class: \"grid grid-cols-1 gap-4 w-full\" }\nconst _hoisted_10 = { class: \"flex justify-end\" }\n\nimport {Store} from \"@bryntum/grid\";\nimport {BryntumGrid} from \"@bryntum/grid-vue-3\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {onMounted, reactive, computed, ref} from \"vue\";\nimport {useI18n} from \"vue-i18n\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {PopupType, TableType} from \"@/utilities/enums/Enums\";\nimport {useProviderStore} from \"@/stores/ProviderStore\";\nimport {checkboxColumnConfig} from \"@/AppConfig\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SimilarCompaniesSelectionPopup',\n setup(__props) {\n\nconst gridStore = new Store();\nconst { t } = useI18n();\nconst globalStore = useGlobalStore();\nconst providerStore = useProviderStore();\n\nconst currentSelectedProviderCompany = computed(()=>{\n return globalStore.modal.contentObject.selectedProviderCompany\n});\n\nconst openEditWithEnteredCompanyData = ()=>{\n console.log(\"on on back\", globalStore.modal.contentObject.suggestedProviderCompany)\n globalStore.openPopup({\n data: globalStore.modal.contentObject.suggestedProviderCompany,\n action: providerStore.addOrUpdateProvider,\n resetButton: false,\n title:$t(\"popups.providerManagement.new\"),\n type:PopupType.providerManagementEditPopup\n });\n}\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n relayStoreEvents: true,\n autoHeight: true,\n columns : {\n data: [\n { id: 'name', field: 'name', text: t('providerManagement.grid.companyName'), flex: 1, },\n { id: 'address', field: 'address', text: t('providerManagement.grid.adress'), flex: 2, },\n ],\n listeners:{\n async add(event:any){\n if(event.records.length === 1 && event.isMove[event.records[0].id]){\n await globalStore.saveUserColumnOrder(TableType[TableType.similarCompany], event.records[0].id, event.index.toString());\n }\n },\n }\n },\n store: gridStore,\n enableTextSelection: true,\n selectionMode : {\n row\t : true,\n multiSelect: false,\n checkbox: checkboxColumnConfig,\n showCheckAll : true\n },\n listeners: {\n selectionChange(event) {\n const hasSelection = event.selection.length > 0 && event.selection[0]?.data !== undefined;\n globalStore.modal.contentObject.selectedProviderCompany = hasSelection\n ? event.selection.map(lr => lr.data)[0]\n : globalStore.modal.contentObject.suggestedProviderCompany;\n }\n },\n}\nconst gridConfig = reactive(useGridConfig);\n\nonMounted(()=> {\n console.log(\"on mount\", globalStore.modal.contentObject.suggestedProviderCompany)\n gridStore.setStoreData(globalStore.modal.contentObject.similarCompanies);\n\n globalStore.reorderColumns(TableType[TableType.similarCompany], grid.value.instance.value.columns);\n})\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"h4\", _hoisted_1, _toDisplayString(_unref($t)(\"popups.providerManagement.selectedSimilarProvider\")), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(currentSelectedProviderCompany).name), 1),\n _hoisted_2,\n _createTextVNode(\" \" + _toDisplayString(_unref(currentSelectedProviderCompany).street) + \" \" + _toDisplayString(_unref(currentSelectedProviderCompany).streetnumber), 1),\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_unref(currentSelectedProviderCompany).zip) + \" \" + _toDisplayString(_unref(currentSelectedProviderCompany).city), 1),\n _hoisted_4,\n _createTextVNode(\" \" + _toDisplayString(_unref(currentSelectedProviderCompany).dialCode) + _toDisplayString(_unref(currentSelectedProviderCompany).phoneNumber), 1),\n _hoisted_5,\n _createElementVNode(\"button\", {\n class: \"btn mt-2\",\n onClick: openEditWithEnteredCompanyData\n }, _toDisplayString(_unref($t)(\"popups.providerManagement.editInsertedData\")), 1),\n _hoisted_6,\n _createElementVNode(\"h4\", _hoisted_7, _toDisplayString(_unref($t)(\"popups.providerManagement.chooseAvailableProvider\")), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./SimilarCompaniesSelectionPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SimilarCompaniesSelectionPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-132ae848\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"search-component\" }\nconst _hoisted_2 = [\"placeholder\"]\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"no-data-message\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.searchQuery) = $event)),\n placeholder: _ctx.$t(_ctx.placeholder),\n onInput: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.onInput && _ctx.onInput(...args)))\n }, null, 40, _hoisted_2), [\n [_vModelText, _ctx.searchQuery]\n ]),\n (_ctx.results && _ctx.results.length)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.results, (item, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: index,\n onClick: ($event: any) => (_ctx.selectItem(item)),\n class: \"result-item\"\n }, _toDisplayString(item[_ctx.displayField]), 9, _hoisted_4))\n }), 128))\n ]))\n : (_ctx.searchQuery.trim() !== '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t(_ctx.emptyMessage)), 1))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { defineComponent } from 'vue';\nimport { debounce } from 'lodash';\n\ninterface Item {\n id: any;\n [key: string]: any;\n}\n\nexport default defineComponent({\n name: 'SearchComponent',\n props: {\n results: { type: Array as() => Item[], default: () => [] },\n placeholder: { type: String, default: 'providerManagement.placeholder.companysearchterm' },\n displayField: { type: String, default: 'name' },\n emptyMessage: { type: String, default: 'global.emptyList' }\n },\n data() {\n return {\n // User input search query\n searchQuery: '' as string,\n // Debounced search function to limit the frequency of emitting the search event\n debouncedSearch: (() => {}) as() => void\n };\n },\n created() {\n this.debouncedSearch = debounce(() => {\n this.$emit('search', this.searchQuery);\n }, 300);\n },\n methods: {\n // Called on input event to trigger the debounced search\n onInput() {\n this.debouncedSearch();\n },\n // Emit the selected item id when an item is clicked\n selectItem(item: Item) {\n this.$emit('item-selected', item.id);\n },\n // Clear the search input field\n clearSearch() {\n this.searchQuery = '';\n }\n }\n});\n","import { render } from \"./SearchComponent.vue?vue&type=template&id=132ae848&scoped=true&ts=true\"\nimport script from \"./SearchComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./SearchComponent.vue?vue&type=script&lang=ts\"\n\nimport \"./SearchComponent.vue?vue&type=style&index=0&id=132ae848&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-132ae848\"]])\n\nexport default __exports__","\n\n\n\n\n","import script from \"./ProviderEditPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ProviderEditPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./ProviderNewCompanyWorker.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ProviderNewCompanyWorker.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./ProviderCompanyWorkerEdit.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ProviderCompanyWorkerEdit.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./EditSpokenText.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./EditSpokenText.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./EditSystemSetting.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./EditSystemSetting.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./EditCoupledSystem.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./EditCoupledSystem.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./ResetCredentials.vue?vue&type=template&id=7a3caa93\"\nconst script = {}\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, createVNode as _createVNode, vModelText as _vModelText, withDirectives as _withDirectives, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"text-grey\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_3 = { class: \"groupInputs flex\" }\nconst _hoisted_4 = { class: \"inputRow\" }\nconst _hoisted_5 = { class: \"inputTitle\" }\nconst _hoisted_6 = { class: \"inputField flex-grow\" }\nconst _hoisted_7 = { class: \"groupInputs flex\" }\nconst _hoisted_8 = { class: \"inputRow\" }\nconst _hoisted_9 = { class: \"inputTitle\" }\nconst _hoisted_10 = { class: \"inputField flex-grow\" }\nconst _hoisted_11 = { class: \"helpText mt-4\" }\n\nimport {onMounted, ref, toRef} from \"vue\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport {ActivityInfo} from \"@/models/activity/ActivityInfo\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport Select from \"@/components/inputs/Select.vue\";\nimport {ActivityService} from \"@/utilities/services/entities/ActivityService\";\nimport isNullOrUndefined from \"@/utilities/helpers/NullOrUndefinedHelper\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RegistrationChangeActivityText',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\nconst globalStore = useGlobalStore();\n\n\n\nconst popupData = toRef(props, \"data\");\n\nconst activityService = new ActivityService();\n\nconst activityTextInput = ref(\"\");\nconst activityList = ref|null>(null);\nconst defaultActivity = ref(\"\");\n// just used to reset the dropdown when there is text-filed-input\nconst dropDownSelectedId = ref(null);\n\nconst activitySelected = (id:number)=>{\n // set this just to be able to reset the dropdown when there is text-input\n dropDownSelectedId.value = id;\n\n // only clear input field and set values if a real activity was selected -> avoid cycling reset of the 2 inputs\n if(!isNullOrUndefined(dropDownSelectedId.value)){\n activityTextInput.value = \"\";\n\n const foundActivity = activityList.value?.find(a => a.id === id);\n popupData.value.activityText = foundActivity?.name;\n popupData.value.activityId = foundActivity?.id;\n }\n // if x was pressed set default value\n else if (id === null) {\n popupData.value.activityText = defaultActivity.value;\n popupData.value.activityId = undefined;\n }\n}\n\nconst setActivityList = async ()=>{\n activityList.value = [];\n\n activityList.value = await activityService.getActivities(\"display\", ErrorLocationType.popup);\n}\n\nconst inputChanged = ()=>{\n // reset dropdown only if it has value\n if(!isNullOrUndefined(dropDownSelectedId.value)) dropDownSelectedId.value = null;\n\n // filter whitespace-only with regex && check for null/undefinded or empty string via helper, if true set back to default-activity\n if(NullOrUndefinedHelper(activityTextInput.value) || activityTextInput.value.match(/^\\s+$/g)?.some(()=>true)) {\n popupData.value.activityText = defaultActivity.value;\n popupData.value.activityId = undefined;\n }\n else {\n popupData.value.activityText = activityTextInput.value;\n popupData.value.activityId = undefined;\n }\n}\n\nonMounted(async ()=>{\n // save default activity text\n defaultActivity.value = globalStore.modal.contentObject.activityText;\n await setActivityList();\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"h4\", _hoisted_1, _toDisplayString(_ctx.$t(\"popups.registrationReports.changeActivity.currentActivityTitle\")), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(popupData).activityText) + \" \", 1),\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_ctx.$t(\"popups.registrationReports.changeActivity.takeGivenActivity\")), 1),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(Select, {\n searchable: false,\n options: activityList.value,\n onSelectChanged: activitySelected,\n selected: dropDownSelectedId.value\n }, null, 8, [\"options\", \"selected\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(_ctx.$t(\"popups.registrationReports.changeActivity.createNewActivity\")), 1),\n _createElementVNode(\"div\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"input\", {\n class: \"w-full\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((activityTextInput).value = $event)),\n onInput: inputChanged\n }, null, 544), [\n [_vModelText, activityTextInput.value]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString(_ctx.$t(\"popups.registrationReports.changeActivity.description\")), 1)\n ]))\n}\n}\n\n})","import script from \"./RegistrationChangeActivityText.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RegistrationChangeActivityText.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./MultiSelect.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MultiSelect.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full h-60\" }\nconst _hoisted_2 = { class: \"grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_3 = { class: \"inputTitle\" }\nconst _hoisted_4 = { class: \"inputField flex-grow\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_6 = { class: \"error-msg\" }\nconst _hoisted_7 = { class: \"inputTitle\" }\nconst _hoisted_8 = { class: \"inputField flex-grow\" }\nconst _hoisted_9 = { class: \"error-msg\" }\n\nimport {computed, onMounted, ref, toRef} from \"vue\";\nimport {helpers, required} from \"@vuelidate/validators\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\nimport {CategoryService} from \"@/utilities/services/entities/CategoryService\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport MultiSelect from \"@/components/inputs/MultiSelect.vue\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CategoryEditor',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\nconst categoryService = new CategoryService();\n\nconst availableIcons = ref(null);\nconst allIcons = ref|null>(null);\n\n\nconst popupData = toRef(props, 'data');\n\nconst rules = computed(() => {\n return {\n title: { required: helpers.withMessage(t('validators.required'), required), },\n iconName: { required: helpers.withMessage(t('validators.required'), required), },\n }\n})\n\nconst v$ = ref(useVuelidate(rules, popupData))\n\nconst setSelectedIcon = async()=>{\n // get all icons to find currently selected (if there is one selected)\n allIcons.value = await categoryService.getAllIconNames(ErrorLocationType.popup);\n\n // get available icons\n availableIcons.value = await categoryService.getAvailableIconNames(ErrorLocationType.popup);\n\n // add selected icon to available ones\n if (!NullOrUndefinedHelper(popupData.value.iconName)) availableIcons.value?.push(popupData.value.iconName);\n}\n\nonMounted(async() => {\n //@ts-expect-error\n globalStore.modal.validator = v$;\n globalStore.modal.bigMode = true;\n\n await setSelectedIcon();\n})\n\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('popups.categoryEditor.titleName')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.title.$errors.length })\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(popupData).title) = $event)),\n class: \"w-full\"\n }, null, 512), [\n [_vModelText, _unref(popupData).title]\n ]),\n _hoisted_5,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.title.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('popups.categoryEditor.iconName')) + \" * \", 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ error: v$.value.iconName.$errors.length })\n }, [\n _createVNode(MultiSelect, {\n selected: _unref(popupData).iconName,\n options: availableIcons.value,\n mode: \"single\",\n icon: true,\n onSelectChanged: _cache[1] || (_cache[1] = (value)=>{_unref(popupData).iconName = value})\n }, null, 8, [\"selected\", \"options\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(v$.value.iconName.$errors, (error) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"input-errors\",\n key: error.$uid\n }, [\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(error.$message), 1)\n ]))\n }), 128))\n ], 2)\n ])\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./CategoryEditor.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CategoryEditor.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"inputGroup\" }\nconst _hoisted_2 = { class: \"groupTitle\" }\nconst _hoisted_3 = { class: \"inputGroup\" }\nconst _hoisted_4 = { class: \"groupTitle\" }\nconst _hoisted_5 = { class: \"inputGroup\" }\nconst _hoisted_6 = { class: \"groupTitle\" }\nconst _hoisted_7 = { class: \"inputGroup\" }\nconst _hoisted_8 = { class: \"groupTitle\" }\nconst _hoisted_9 = { class: \"inputGroup\" }\nconst _hoisted_10 = { class: \"groupTitle\" }\nconst _hoisted_11 = { class: \"inputGroup\" }\nconst _hoisted_12 = { class: \"groupTitle\" }\nconst _hoisted_13 = { class: \"inputGroup\" }\nconst _hoisted_14 = { class: \"groupTitle\" }\nconst _hoisted_15 = { class: \"groupInputs flex\" }\nconst _hoisted_16 = { class: \"groupInputs flex\" }\nconst _hoisted_17 = { class: \"inputRow\" }\nconst _hoisted_18 = { class: \"flex flex-wrap\" }\nconst _hoisted_19 = [\"checked\", \"id\", \"value\"]\nconst _hoisted_20 = { class: \"inputTitle ml-2\" }\nconst _hoisted_21 = [\"for\"]\nconst _hoisted_22 = { class: \"inputGroup\" }\nconst _hoisted_23 = { class: \"groupTitle\" }\nconst _hoisted_24 = { class: \"inputGroup\" }\nconst _hoisted_25 = { class: \"groupTitle\" }\nconst _hoisted_26 = { class: \"inputGroup\" }\nconst _hoisted_27 = { class: \"groupTitle\" }\n\nimport FilterService from \"@/utilities/services/FilterService\";\nimport {ErrorLocationType, TableType} from \"@/utilities/enums/Enums\";\nimport {computed, onMounted, ref} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {AttributeFilter} from \"@/models/AttributeFilter\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\nimport {CategoryService} from \"@/utilities/services/entities/CategoryService\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DisdiFilterPopup',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst categoryService = new CategoryService();\n\nconst userFilters = computed(()=>{\n return globalStore.userPreferences.userFilters;\n});\nconst userHiddenColumns = computed(()=>{\n return globalStore.userPreferences.userHiddenColumns;\n});\n\n\nconst tmpUserFilters = computed(()=>{\n return globalStore.tmpPreferences.tmpUserFilters;\n});\nconst tmpUserHiddenColumns = computed(()=>{\n return globalStore.tmpPreferences.tmpUserHiddenColumns;\n});\n\nconst categoryList = ref|null>(null);\n\n\n// init checkboxes according to tmpFilters [attributeValue == input-id]\nconst isFiltered = (attName, attVal) => {\n return tmpUserFilters.value.some(tuf => tuf.attributeName === attName && tuf.attributeValue === attVal.toString());\n};\n\n// init visibility buttons according to tmpHiddenColumns\nconst isHidden = (attName) => {\n return tmpUserHiddenColumns.value.some(thc => thc.attributeName === attName.toString());\n};\n\nconst filterChanged = ({ target }, propName) => {\n if(target.checked) {\n // add to tmpFilterList\n globalStore.addUserFilter(new AttributeFilter(TableType[TableType.disdi], propName, target.value.toString()));\n }\n else {\n // remove from tmpFilterList\n tmpUserFilters.value.forEach((tuf,index)=>{\n if(tuf.attributeName === propName && tuf.attributeValue === target.value.toString()) tmpUserFilters.value.splice(index, 1);\n });\n\n globalStore.setTmpFilters(tmpUserFilters.value);\n }\n\n calculateRestEntities();\n};\n\n\nconst visibilityChange = (colName) => {\n if(!tmpUserHiddenColumns.value.some(thc => thc.attributeName === colName)) {\n // add to tmpHiddenColumnList\n globalStore.addUserHiddenColumn(new AttributeFilter(TableType[TableType.disdi], colName, \"\"));\n }\n else {\n // remove from tmpHiddenColumnList\n tmpUserHiddenColumns.value.forEach((thc,index)=>{\n if(thc.attributeName === colName) tmpUserHiddenColumns.value.splice(index, 1);\n });\n\n globalStore.setTmpHiddenColumns(tmpUserHiddenColumns.value);\n }\n\n calculateRestEntities();\n};\n\n\nconst calculateRestEntities = () => {\n //@ts-expect-error\n const allRecords = globalStore.gridStore.storage.allValues;\n const tmpFilterMethod = FilterService.buildFilter(TableType[TableType.disdi], true);\n\n let counter = 0;\n\n allRecords.forEach((r:any) => {\n if (tmpFilterMethod(r)) counter++;\n });\n\n globalStore.setCountAfterFilters(counter);\n};\n\nconst setAvailableFilter = async ()=>{\n categoryList.value = await categoryService.getCategories(\"display\", ErrorLocationType.popup); //TODO wait for selectabel API and then call it\n}\n\nonMounted(async ()=>{\n //init tmp values\n globalStore.setTmpFilters(userFilters.value.filter(f => f.tableName === TableType[TableType.disdi]));\n globalStore.setTmpHiddenColumns(userHiddenColumns.value.filter(f => f.tableName === TableType[TableType.disdi]));\n\n // init afterFilters count\n //@ts-expect-error\n globalStore.setCountAfterFilters(globalStore.gridStore?.count);\n\n await setAvailableFilter();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.createDate')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('createDate') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (visibilityChange('createDate')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.diaryDescription')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('diaryDescription') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (visibilityChange('diaryDescription')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.comment')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('comment') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (visibilityChange('comment')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.userFullname')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('userFullname') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (visibilityChange('userFullname')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.userPhoneNumber')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('userPhoneNumber') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (visibilityChange('userPhoneNumber')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.companyName')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('companyName') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (visibilityChange('companyName')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.category')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('categoryId') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (visibilityChange('categoryId')))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(categoryList.value, (category) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"inputField flex w-1/3\",\n key: category\n }, [\n _createElementVNode(\"input\", {\n checked: isFiltered('categoryId', category.id),\n type: \"checkbox\",\n id: 'category' + category.id.toString(),\n value: category.id,\n onChange: _cache[7] || (_cache[7] = (e) => filterChanged(e, 'categoryId'))\n }, null, 40, _hoisted_19),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"label\", {\n for: 'category' + category.id.toString()\n }, [\n _createTextVNode(_toDisplayString(category.title) + \" (\", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass(`icon-${category?.iconName}`)\n }, null, 2),\n _createTextVNode(\")\")\n ], 8, _hoisted_21)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.attachment')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('attachment') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[8] || (_cache[8] = ($event: any) => (visibilityChange('attachment')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.registrationStart')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('registrationStart') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[9] || (_cache[9] = ($event: any) => (visibilityChange('registrationStart')))\n }, null, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _createTextVNode(_toDisplayString(_ctx.$t('popups.disdiFilter.registrationEnd')) + \" \", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"colVisibilityToggle\", isHidden('registrationEnd') ? 'icon-spalte-ausblenden text-red' : 'icon-spalte-anzeigen']),\n onClick: _cache[10] || (_cache[10] = ($event: any) => (visibilityChange('registrationEnd')))\n }, null, 2)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./DisdiFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DisdiFilterPopup.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"flex-grow grid grid-cols-2 gap-4 w-full\" }\nconst _hoisted_2 = [\"src\"]\nconst _hoisted_3 = { class: \"text-center\" }\n\nimport {onMounted, ref} from \"vue\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {DisdiService} from \"@/utilities/services/entities/DisdiService\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DisdiAttachmentTab',\n props: {\n data: Object\n},\n setup(__props) {\n\nconst props = __props\n\nconst disdiService = new DisdiService();\n\nconst loading = ref(false);\nconst attachmentUrlList = ref|null>(null);\n\n\n\nonMounted(async()=>{\n loading.value = true;\n attachmentUrlList.value = await disdiService.getAttachments(props.data.id, ErrorLocationType.popup);\n loading.value = false;\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(attachmentUrlList.value, (url) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: url }, [\n _createElementVNode(\"img\", { src: url }, null, 8, _hoisted_2)\n ]))\n }), 128))\n ])\n ], 512), [\n [_vShow, !loading.value]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_3, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, loading.value]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./DisdiAttachmentTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DisdiAttachmentTab.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import {UserInfo} from \"@/models/user/UserInfo\";\n\nexport class DisdiInfo{\n id:string = \"\";\n locationSecondaryId:number = -1;\n registrationId:number = -1;\n categoryId: string = \"\";\n categoryTitle: string = \"\";\n categoryIconName: string = \"\";\n diaryDescription:string = \"\";\n hasAttachment:boolean = false;\n comment:string = \"\";\n isCompleted:boolean = false;\n createDate:string = \"\"; // date format\n registrationEnd:string|null = null; // date format\n registrationStart:string|null = null; // date format\n companyName:string = \"\";\n isIdsUser:boolean = false;\n userFullname:string = \"\";\n userPhoneNumber:string = \"\";\n userEmail:string = \"\";\n identificationNumber:string = \"\";\n kid:string = \"\";\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, vShow as _vShow, withDirectives as _withDirectives, createVNode as _createVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7b51570a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"\" }\nconst _hoisted_2 = { class: \"w-full col-span-2\" }\nconst _hoisted_3 = [\"disabled\", \"title\"]\nconst _hoisted_4 = {\n key: 0,\n class: \"icon-pdf\"\n}\nconst _hoisted_5 = { class: \"w-full\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"detailRegion\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_9 = {\n key: 0,\n class: \"flex locationDetailRow\"\n}\nconst _hoisted_10 = { class: \"detailAttribute\" }\nconst _hoisted_11 = { class: \"flex locationDetailRow\" }\nconst _hoisted_12 = { class: \"detailAttribute\" }\nconst _hoisted_13 = { class: \"flex locationDetailRow\" }\nconst _hoisted_14 = { class: \"detailAttribute\" }\nconst _hoisted_15 = { class: \"grid grid-cols-2 gap-4 w-full mt-4\" }\nconst _hoisted_16 = { class: \"detailRegion\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_19 = { class: \"flex locationDetailRow\" }\nconst _hoisted_20 = { class: \"detailAttribute\" }\nconst _hoisted_21 = { class: \"flex locationDetailRow\" }\nconst _hoisted_22 = { class: \"detailAttribute\" }\nconst _hoisted_23 = { class: \"flex locationDetailRow\" }\nconst _hoisted_24 = { class: \"detailAttribute\" }\nconst _hoisted_25 = { class: \"flex locationDetailRow\" }\nconst _hoisted_26 = { class: \"detailAttribute\" }\nconst _hoisted_27 = { class: \"flex locationDetailRow\" }\nconst _hoisted_28 = { class: \"detailAttribute\" }\nconst _hoisted_29 = { class: \"flex locationDetailRow\" }\nconst _hoisted_30 = { class: \"detailAttribute\" }\nconst _hoisted_31 = { class: \"detailRegion\" }\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_34 = { class: \"flex locationDetailRow\" }\nconst _hoisted_35 = { class: \"detailAttribute\" }\nconst _hoisted_36 = { class: \"flex locationDetailRow\" }\nconst _hoisted_37 = { class: \"detailAttribute\" }\nconst _hoisted_38 = { class: \"text-center\" }\n\nimport {computed, onMounted, ref} from \"vue\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport {LocationInfo} from \"@/models/location/LocationInfo\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport DateToStringHelper from \"@/utilities/helpers/DateToStringHelper\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {DisdiService} from \"@/utilities/services/entities/DisdiService\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {CategoryService} from \"@/utilities/services/entities/CategoryService\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\nimport moment from \"moment/moment\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DisdiDetailTab',\n props: {\n data: DisdiInfo\n},\n setup(__props) {\n\nconst props = __props\n\n\n\nconst globalStore = useGlobalStore();\n\nconst locationService = new LocationService();\nconst disdiService = new DisdiService();\nconst categoryService = new CategoryService();\n\nconst contextLocation = ref(null);\nconst contextCategory = ref(undefined);\n\nconst regStartString = computed(()=> props.data.registrationStart !== null\n ? DateToStringHelper(new Date (props.data.registrationStart))\n : \"\");\nconst regEndString = computed(()=> props.data.registrationEnd !== null\n ? DateToStringHelper(new Date(props.data.registrationEnd))\n : \"\");\n\nconst loading = ref(false);\nconst downloadingPdf = ref(false);\n\nconst getDetailedData = async()=>{\n contextLocation.value = await locationService.getLocation(props.data.locationSecondaryId, ErrorLocationType.popup);\n contextCategory.value = (await categoryService.getCategories(\"display\", ErrorLocationType.popup))?.find(c => c.id === props.data.categoryId);\n}\n\nconst getPdf = async () => {\n downloadingPdf.value = true;\n\n const disdiIds = [props.data.id];\n\n const success = await disdiService.exportPdf(disdiIds, ErrorLocationType.table);\n if(success) globalStore.showSuccess($t('disdi.view.pdfDownloaded'));\n\n downloadingPdf.value = false;\n};\n\nonMounted(async()=>{\n loading.value = true;\n await getDetailedData();\n loading.value = false;\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n class: \"primary mr-2 float-right\",\n disabled: downloadingPdf.value,\n onClick: getPdf,\n title: _unref($t)('global.downloadPdf')\n }, [\n (!downloadingPdf.value)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4))\n : (_openBlock(), _createBlock(LoadingSpinner, { key: 1 }))\n ], 8, _hoisted_3)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (contextLocation.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_unref($t)('popups.disdiDetails.atbTitle')), 1),\n _hoisted_7,\n _hoisted_8,\n (contextCategory.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_unref($t)('popups.disdiDetails.category')), 1),\n _createElementVNode(\"div\", null, [\n _createTextVNode(_toDisplayString(contextCategory.value.title) + \" (\", 1),\n _createElementVNode(\"span\", {\n class: _normalizeClass(`icon-${contextCategory.value.iconName}`)\n }, null, 2),\n _createTextVNode(\")\")\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, _toDisplayString(_unref($t)('popups.disdiDetails.description')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(props.data.diaryDescription), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, _toDisplayString(_unref($t)('popups.disdiDetails.createDate')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_unref(moment)(props.data.createDate).format('DD.MM.YYYY HH:mm')), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createTextVNode(_toDisplayString(_unref($t)('popups.disdiDetails.user.title')), 1),\n _hoisted_17,\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, _toDisplayString(_unref($t)('popups.disdiDetails.user.fullName')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(props.data.userFullname), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString(_unref($t)('popups.disdiDetails.user.email')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(props.data.userEmail), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, _toDisplayString(_unref($t)('popups.disdiDetails.user.phoneNumber')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(props.data.userPhoneNumber), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, _toDisplayString(_unref($t)('popups.disdiDetails.user.identificationNumber')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(props.data.identificationNumber), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"div\", _hoisted_28, _toDisplayString(_unref($t)('popups.disdiDetails.user.kid')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(props.data.kid), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, _toDisplayString(_unref($t)('popups.disdiDetails.user.company')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(props.data.companyName), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createTextVNode(_toDisplayString(_unref($t)('popups.disdiDetails.registration')), 1),\n _hoisted_32,\n _hoisted_33,\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", _hoisted_35, _toDisplayString(_unref($t)('popups.disdiDetails.registrationStart')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_unref(regStartString)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"div\", _hoisted_37, _toDisplayString(_unref($t)('popups.disdiDetails.registrationEnd')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_unref(regEndString)), 1)\n ])\n ])\n ])\n ], 512), [\n [_vShow, !loading.value]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_38, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, loading.value]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./DisdiDetailTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DisdiDetailTab.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./DisdiDetailTab.vue?vue&type=style&index=0&id=7b51570a&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7b51570a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vShow as _vShow, withDirectives as _withDirectives, createVNode as _createVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d3ed23c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"\" }\nconst _hoisted_2 = { class: \"w-full\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"detailRegion\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_6 = { class: \"flex locationDetailRow\" }\nconst _hoisted_7 = { class: \"detailAttribute\" }\nconst _hoisted_8 = { class: \"flex locationDetailRow\" }\nconst _hoisted_9 = { class: \"detailAttribute\" }\nconst _hoisted_10 = { class: \"flex locationDetailRow\" }\nconst _hoisted_11 = { class: \"detailAttribute\" }\nconst _hoisted_12 = { class: \"flex locationDetailRow\" }\nconst _hoisted_13 = { class: \"detailAttribute\" }\nconst _hoisted_14 = { class: \"flex locationDetailRow\" }\nconst _hoisted_15 = { class: \"detailAttribute\" }\nconst _hoisted_16 = { class: \"flex locationDetailRow\" }\nconst _hoisted_17 = { class: \"detailAttribute\" }\nconst _hoisted_18 = { class: \"flex locationDetailRow\" }\nconst _hoisted_19 = { class: \"detailAttribute\" }\nconst _hoisted_20 = { class: \"flex locationDetailRow\" }\nconst _hoisted_21 = { class: \"detailAttribute\" }\nconst _hoisted_22 = { class: \"text-center\" }\n\nimport {onMounted, ref} from \"vue\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport {LocationInfo} from \"@/models/location/LocationInfo\";\nimport {DisdiInfo} from \"@/models/disdi/DisdiInfo\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {CategoryService} from \"@/utilities/services/entities/CategoryService\";\nimport {CategoryInfo} from \"@/models/category/CategoryInfo\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DisdiLocationDetailsTab',\n props: {\n data: DisdiInfo\n},\n setup(__props) {\n\nconst props = __props\n\n\n\n\nconst locationService = new LocationService();\nconst categoryService = new CategoryService();\n\nconst contextLocation = ref(null);\nconst contextCategory = ref(undefined);\n\n\nconst loading = ref(false);\n\nconst getDetailedData = async()=>{\n contextLocation.value = await locationService.getLocation(props.data.locationSecondaryId, ErrorLocationType.popup);\n contextCategory.value = (await categoryService.getCategories(\"display\", ErrorLocationType.popup))?.find(c => c.id === props.data.categoryId);\n}\n\nonMounted(async()=>{\n loading.value = true;\n await getDetailedData();\n loading.value = false;\n})\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (contextLocation.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_unref($t)('popups.disdiDetails.location.title')), 1),\n _hoisted_4,\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_unref($t)('popups.disdiDetails.location.name')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value.name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(_unref($t)('popups.disdiDetails.location.group2')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value.group2Name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString(_unref($t)('popups.disdiDetails.location.group1')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value.group1Name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, _toDisplayString(_unref($t)('popups.disdiDetails.location.CCName')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value.controlCenterName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_unref($t)('popups.disdiDetails.location.phoneNumber')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value.contactInfo.phoneNumber ?? \"\"), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, _toDisplayString(_unref($t)('popups.disdiDetails.location.email')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value.email), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, _toDisplayString(_unref($t)('popups.disdiDetails.location.street')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value.contactInfo.street) + \" \" + _toDisplayString(contextLocation.value.contactInfo.streetNumber), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, _toDisplayString(_unref($t)('popups.disdiDetails.location.city')), 1),\n _createElementVNode(\"div\", null, _toDisplayString(contextLocation.value.contactInfo.postalCode) + \" \" + _toDisplayString(contextLocation.value.contactInfo.city), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 512), [\n [_vShow, !loading.value]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_22, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, loading.value]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./DisdiLocationDetailsTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DisdiLocationDetailsTab.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./DisdiLocationDetailsTab.vue?vue&type=style&index=0&id=0d3ed23c&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0d3ed23c\"]])\n\nexport default __exports__","\n\n","import script from \"./DisdiDetailsPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DisdiDetailsPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"block w-full\" }\nconst _hoisted_2 = { class: \"grid grid-cols-1 gap-4 w-full\" }\nconst _hoisted_3 = { class: \"flex justify-end\" }\nconst _hoisted_4 = { class: \"text-center\" }\n\nimport { BryntumGrid } from \"@bryntum/grid-vue-3\";\nimport {Store, StringHelper} from \"@bryntum/grid\";\nimport GridInputFilter from \"@/components/GridInputFilter\";\nimport {onMounted, reactive, ref} from \"vue\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {useI18n} from \"vue-i18n\";\nimport {checkboxColumnConfig} from \"@/AppConfig\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport {LocationService} from \"@/utilities/services/entities/LocationService\";\nimport {ErrorLocationType} from \"@/utilities/enums/Enums\";\nimport {LocationInfo} from \"@/models/location/LocationInfo\";\nimport {LocationDisdiInfo} from \"@/models/location/LocationDisdiInfo\";\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationDisdiEditor',\n setup(__props) {\n\nconst gridStore = new Store();\nconst globalStore = useGlobalStore();\nconst { t } = useI18n();\nconst locationService = new LocationService();\n\nconst result = ref(globalStore.modal.contentObject);\n\nconst loading = ref(false);\nconst selectedRowsInitialized = ref(false);\n\nconst grid = ref(null);\nconst useGridConfig = {\n headerMenuFeature: false,\n enableTextSelection: true,\n autoHeight: true,\n selectionMode: {\n cell: false,\n row: true,\n checkbox: checkboxColumnConfig,\n showCheckAll: true,\n deselectFilteredOutRecords: true,\n },\n columns : {\n data: [\n {\n id: 'name',\n field : 'name',\n text: t('popups.locations.name'),\n flex : 1,\n sortable: true\n },\n {\n id: 'street',\n field : 'street',\n text: t('popups.locations.street'),\n sortable: true,\n type: 'template',\n template: (value) => {\n if(value.record.street != null) {\n\t\t\t\t\t\treturn StringHelper.xss`${value.record.street ?? \"\"} ${value.record.streetNumber ?? \"\"}`;\n } else {\n return \"\"\n }\n },\n },\n {\n id:'postalCode',\n field : 'postalCode',\n text: t('popups.locations.postalCode'),\n sortable: true,\n type: 'template',\n template: ({record}) => {\n\t\t\t\t\treturn StringHelper.xss`${record.data.postalCode ?? \"\"} ${record.data.city ?? \"\"}`;\n },\n },\n {\n id: 'group2Name',\n text : t('locations.grid.group2Name'),\n field : 'group2Name',\n filterable: false,\n hideable: true,\n },\n {\n id: 'group1Name',\n text : t('locations.grid.group1Name'),\n field : 'group1Name',\n flex: 1,\n filterable: false,\n hideable: true,\n },\n {\n id: 'controlCenterName',\n text : t('locations.grid.controlCenterName'),\n field : 'controlCenterName',\n flex: 1,\n filterable: false,\n hideable: true,\n },\n ],\n },\n listeners: {\n selectionChange(event:any) {\n if(!selectedRowsInitialized.value) return;\n syncWithPropsData(event.selected.map(l=>l.data), event.deselected.map(l=>l.data))\n },\n },\n store: gridStore,\n}\nconst gridConfig = reactive(useGridConfig);\n\nconst setGridData = async ()=>{\n const locations = await locationService.getLocations(\"display\", ErrorLocationType.popup);\n\n gridStore.setStoreData(locations);\n\n // set selected locations in table\n grid.value.instance.value.selectRows(locations?.filter(l => l.hasDisdi).map(l => l.id))\n selectedRowsInitialized.value = true;\n}\n\nconst syncWithPropsData = (selected:Array, deselected:Array)=>{\n for(const location of selected){\n const foundLocationDisdi = result.value.find(ld => ld.id === location.id);\n if(foundLocationDisdi){\n const i = result.value.indexOf(foundLocationDisdi);\n result.value[i] = new LocationDisdiInfo(location.id, true)\n continue;\n }\n result.value.push(new LocationDisdiInfo(location.id, true))\n }\n\n for(const location of deselected){\n const foundLocationDisdi = result.value.find(ld => ld.id === location.id);\n if(foundLocationDisdi){\n const i = result.value.indexOf(foundLocationDisdi);\n result.value[i] = new LocationDisdiInfo(location.id, false)\n continue;\n }\n result.value.push(new LocationDisdiInfo(location.id, false))\n }\n\n globalStore.modal.contentObject = result.value;\n}\n\nonMounted(async () => {\n loading.value = true\n await setGridData();\n loading.value = false;\n})\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(GridInputFilter), {\n gridStore: _unref(gridStore),\n hideFilterButton: true\n }, null, 8, [\"gridStore\"])\n ]),\n _createVNode(_unref(BryntumGrid), _mergeProps({\n ref_key: \"grid\",\n ref: grid\n }, gridConfig, { readOnly: true }), null, 16)\n ])\n ])\n ], 512), [\n [_vShow, !loading.value]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoadingSpinner)\n ], 512), [\n [_vShow, loading.value]\n ])\n ], 64))\n}\n}\n\n})","import script from \"./LocationDisdiEditor.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationDisdiEditor.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import script from \"./Popup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Popup.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Popup.vue?vue&type=style&index=0&id=345d5411&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./Dialog.vue?vue&type=template&id=667f4626\"\nimport script from \"./Dialog.vue?vue&type=script&lang=js\"\nexport * from \"./Dialog.vue?vue&type=script&lang=js\"\n\nimport \"./Dialog.vue?vue&type=style&index=0&id=667f4626&lang=css\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\nimport _imports_0 from '@/assets/img/1anabLogo.png'\n\n\nconst _hoisted_1 = {\n id: \"footer\",\n class: \"flex\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"flex-1\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"flex-1\"\n}\nconst _hoisted_4 = {\n class: \"flex justify-center align-center mr-10\",\n id: \"footerLinks\"\n}\nconst _hoisted_5 = {\n href: \"https://1anab.de/impressum/\",\n target: \"_blank\"\n}\nconst _hoisted_6 = {\n href: \"https://1anab.de/datenschutz/\",\n target: \"_blank\"\n}\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"anabLogo mr-10\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n alt: \"\"\n })\n], -1)\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"circle mr-4\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-helpdesk\" })\n], -1)\n\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport router from \"@/router\";\nimport {computed} from \"vue\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Footer',\n setup(__props) {\n\nconst showChangelog = computed(()=>{\n const permissionService = new PermissionService();\n return router.currentRoute.value.name !== 'Login'\n && router.currentRoute.value.name !== 'Logout'\n && permissionService.userHasPermission(\"Setting.Navigation.Show\");\n});\n\nconst globalStore = useGlobalStore();\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(globalStore).currentItems !== 0 && _unref(globalStore).allItems !== 0 && _unref(globalStore).currentItems !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"strong\", null, _toDisplayString(_unref(globalStore).currentItems), 1),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('footer.of')) + \" \" + _toDisplayString(_unref(globalStore).allItems) + \" \" + _toDisplayString(_ctx.$t('footer.results')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, \" \")),\n _createElementVNode(\"div\", _hoisted_4, [\n (_unref(showChangelog))\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"flex\",\n to: \"/changelog\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"footer.changelog\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"a\", _hoisted_5, _toDisplayString(_ctx.$t('footer.imprint')), 1),\n _createElementVNode(\"a\", _hoisted_6, _toDisplayString(_ctx.$t('footer.privacy')), 1)\n ]),\n _hoisted_7,\n _hoisted_8\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Transition as _Transition, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"flex\" }\nconst _hoisted_2 = { class: \"content flex-grow\" }\nconst _hoisted_3 = { class: \"close\" }\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-schliessen\" }, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\nconst _hoisted_7 = { class: \"flex w-full\" }\nconst _hoisted_8 = { class: \"\" }\nconst _hoisted_9 = { id: \"content\" }\n\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport Success from \"@/components/Success.vue\";\nimport Popup from \"@/components/Popup.vue\";\nimport Dialog from \"@/components/Dialog.vue\";\nimport Footer from \"@/components/Footer.vue\";\nimport {computed, onMounted} from \"vue\";\nimport {i18n} from \"@/utilities/i18n/config\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\nconst globalStore = useGlobalStore();\nconst data = computed(() => {\n\treturn globalStore.modal.contentObject;\n});\n\nconst showSuccess = computed(() => {\n\treturn globalStore.success.show;\n});\n\nfunction notificationTime(notificationType:any) {\n\tif(notificationType === \"warn\") {\n\t\treturn globalStore.settings.notifications.durationWarning\n\t}\n\tif(notificationType === \"success\") {\n\t\treturn globalStore.settings.notifications.durationSuccess\n\t}\n\tif(notificationType === \"error\") {\n\t\treturn globalStore.settings.notifications.durationError\n\t}\n\tif(notificationType === \"info\") {\n\t\treturn globalStore.settings.notifications.durationInfo\n\t}\n\treturn 0\n}\n\nconst reactToReload = ()=>{\n globalStore.modal.contentObject = {};\n globalStore.modal.show = false;\n};\n\nonMounted(()=>{\n window.addEventListener('beforeunload', reactToReload);\n i18n.global.locale.value = globalStore.userPreferences.general.userLocale ?? \"de\";\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _component_notifications = _resolveComponent(\"notifications\")!\n const _component_RouterView = _resolveComponent(\"RouterView\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"flex w-full\", { dark: _unref(globalStore).userPreferences.general.darkMode }])\n }, [\n _createVNode(_component_notifications, null, {\n body: _withCtx(({ item, close }) => [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"anabNotification\", item.type])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(item.text), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"button\", { onClick: close }, _hoisted_6, 8, _hoisted_4)\n ])\n ]),\n _createElementVNode(\"div\", {\n class: \"timerBar\",\n style: _normalizeStyle('--duration:'+ notificationTime(item.type))\n }, null, 4)\n ], 2)\n ]),\n _: 1\n }),\n _createVNode(Popup, { data: _unref(data) }, null, 8, [\"data\"]),\n _createVNode(Dialog),\n _createVNode(_Transition, null, {\n default: _withCtx(() => [\n (_unref(showSuccess))\n ? (_openBlock(), _createBlock(Success, { key: 0 }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_RouterView, {\n name: \"LeftSidebar\",\n class: \"\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_component_RouterView),\n _createVNode(Footer)\n ])\n ])\n ], 2))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","// collect all identifiers and their according methods in an array to register incoming methods [Back to Front]\n\nimport {HubNotification} from \"@/models/HubNotification\";\nimport {useGlobalStore} from \"@/stores/GlobalStore\";\nimport {notify} from \"@kyvg/vue3-notification\";\nimport router from \"@/router\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {ErrorLocationType, TableType} from \"@/utilities/enums/Enums\";\nimport FilterService from \"@/utilities/services/FilterService\";\nimport {RegistrationService} from \"@/utilities/services/entities/RegistrationService\";\nimport {permissionColumn} from \"@/AppConfig\";\nimport NullOrUndefinedHelper from \"@/utilities/helpers/NullOrUndefinedHelper\";\nimport {Guid} from \"guid-typescript\";\n\nexport default [\n {\n key:\"refreshReportTableData\",\n method:async ()=>{\n const globalStore = useGlobalStore();\n\n if (!globalStore.refreshIsActive) return;\n\n const regService = new RegistrationService();\n\n let resp = null;\n let convertedData = null;\n switch (router.currentRoute.value.name) {\n case \"LocationRegistration\":\n console.log(\"refreshing locationReports, triggered by SignalR\");\n globalStore.gridDataIsLoading = true;\n resp = await regService.getLocationReports();\n if (resp === null || resp === undefined || resp.statusCode !== 0) {\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n globalStore.gridStore?.removeAll();\n //@ts-expect-error\n globalStore.gridStore?.setStoreData(resp.locationRegistrationInfo);\n\n // apply filters\n globalStore.gridStore?.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.registerLocation])\n });\n\n // apply hidden cols\n // @ts-expect-error\n for (const c of globalStore.gridColumnStore?.storage.values) {\n const needsHiding = globalStore.userPreferences.userHiddenColumns.some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.registerLocation]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.gridDataIsLoading = false;\n console.log(\"done refreshing locationReports, triggered by SignalR\");\n break;\n case \"RegistrationReports\":\n console.log(\"refreshing registrationReports, triggered by SignalR\");\n globalStore.gridDataIsLoading = true;\n resp = await regService.getRegistrationReports();\n if (resp === null || resp === undefined || resp.statusCode !== 0) {\n ErrorHandler.handleError(resp, ErrorLocationType.table);\n return;\n }\n\n //convert data to specific properties to make grid able to sort the data\n convertedData = resp.registrationInfo.map(r => {\n //@ts-expect-error\n r.lastRegisteredLocationDate = r.registeredLocationInfo[0].lastRegisteredLocationDate;\n //@ts-expect-error\n r.lastUnRegisteredLocationDate = r.registeredLocationInfo[0].lastUnRegisteredLocationDate;\n\n if(NullOrUndefinedHelper(r.id)) r.id = Guid.create().toString();\n\n return r\n })\n\n globalStore.gridStore?.removeAll();\n //@ts-expect-error\n globalStore.gridStore?.setStoreData(convertedData);\n\n // apply filters\n globalStore.gridStore?.filter({\n id: \"userFilter\",\n filterBy: FilterService.buildFilter(TableType[TableType.register])\n });\n\n // apply hidden cols\n // @ts-expect-error\n for (const c of globalStore.gridColumnStore?.storage.values) {\n const needsHiding = globalStore.userPreferences.userHiddenColumns.some((thc) => thc.attributeName === c.data.field && thc.tableName === TableType[TableType.register]);\n\n if(needsHiding && !c.hidden) {\n c.hide();\n }\n else if(!needsHiding && c.hidden && !permissionColumn.includes(c.id)) {\n c.show();\n }\n }\n\n globalStore.gridDataIsLoading = false;\n console.log(\"done refreshing registrationReports, triggered by SignalR\");\n break;\n default:\n console.log(\"refreshing Table via SignalR not neccessary for \", router.currentRoute.value.name);\n return;\n }\n }\n },\n {\n key:\"addNotification\",\n method:(notif:HubNotification)=>{\n const globalStore = useGlobalStore();\n globalStore.notifications.push(notif);\n\n if (router.currentRoute.value.name === \"Notifications\"){\n // @ts-expect-error\n globalStore.gridStore.setStoreData(globalStore.notifications);\n }\n\n notify({\n title: \"Benachrichtigung\",\n text: notif.text,\n duration: globalStore.settings.notifications.durationInfo,\n type: \"info\"\n });\n }\n },\n {\n key:\"removeNotification\",\n method:(id:number)=>{\n const globalStore = useGlobalStore();\n globalStore.notifications = globalStore.notifications.filter((n:HubNotification)=> n.id !== id);\n\n if (router.currentRoute.value.name === \"Notifications\"){\n // @ts-expect-error\n globalStore.gridStore.setStoreData(globalStore.notifications);\n }\n }\n },\n];\n","import * as signalR from \"@microsoft/signalr\";\nimport funCollection from \"./signalRFunctionCollection\";\nimport {baseURL} from \"@/AppConfig\";\nimport {notify} from \"@kyvg/vue3-notification\";\nimport {NotifyType} from \"@/utilities/enums/Enums\";\nimport {$t} from \"@/utilities/i18n/config\";\nimport {App} from \"vue\";\n\n/*\n this plugin builds and configures a connection to our signalR hub and starts the connection on app build\n it then provides the connection object to the app via a globalProperty (signalRConnection) to be able to send to the backend\n*/\nexport default {\n install: async (app:App):Promise => {\n const hubUrl = baseURL+\"/hub\";\n\n try {\n const connection = new signalR.HubConnectionBuilder()\n .withUrl(hubUrl)\n .configureLogging(signalR.LogLevel.Error)\n .withAutomaticReconnect()\n .build();\n\n // register all needed function to listen to\n funCollection.forEach((i) => {\n connection.on(i.key, i.method);\n });\n\n connection.onclose((e)=>{\n notify({\n title: $t(\"notifications.signalrDisconnected.title\"),\n text: $t('notifications.signalrDisconnected.text'),\n duration: -1,\n type: NotifyType[NotifyType.error]\n });\n })\n\n // set keepAlive time to 10 minutes\n connection.keepAliveIntervalInMilliseconds = 1000*60*10\n\n await connection.start().catch((e) => console.log(e));\n\n app.config.globalProperties.signalRConnection = connection;\n }\n catch(e){\n console.log(e);\n }\n }\n}","import { createApp } from 'vue';\nimport '@/assets/css/tailwind.css';\nimport '@/assets/css/fonts.css';\nimport App from './App.vue';\nimport router from './router';\nimport Notifications from '@kyvg/vue3-notification';\nimport { createPinia } from 'pinia';\nimport { i18n } from \"@/utilities/i18n/config\";\nimport signalR from \"@/utilities/signalR/signalRPlugin\";\nimport {PermissionService} from \"@/utilities/services/PermissionService\";\n\nconst pinia = createPinia();\n\n// persist pina and load from local store\npinia.use((context)=>{\n const id = context.store.$id;\n\n const fromStorage = window.localStorage.getItem(id);\n if(fromStorage){\n context.store.$patch(JSON.parse(fromStorage));\n }\n\n context.store.$subscribe((mutation, state)=>{\n window.localStorage.setItem(id, JSON.stringify(state));\n });\n});\n\n\nconst app = createApp(App);\n\napp.directive('permission', (el, binding, vnode) => {\n const permissionService = new PermissionService();\n const permissionCheck = permissionService.userHasPermission(binding.value);\n\n if(permissionCheck) {\n return vnode.el.hidden = false;\n } else {\n // remove node not just hiding\n if(vnode.el.parentElement) {\n return vnode.el.parentElement.removeChild(vnode.el);\n }\n }\n})\n\n\napp.use(i18n);\napp.use(router);\napp.use(Notifications);\napp.use(pinia);\napp.use(signalR);\n\napp.mount('#app');\n\nexport const globalProps = app.config.globalProperties;\n\n","export class ActivityInfo{\n id:number = -1;\n activityId:number = -1;\n name:string = \"\";\n activityText:string = \"\";\n categoryId:string|null = null;\n categoryTitle: string = \"\";\n iconName: string = \"\";\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, isRef as _isRef, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3c55e3c6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"flex inputFilter\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"inputSearchIcon\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-suche\" })\n], -1))\nconst _hoisted_3 = { class: \"flex-1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-filter\" }, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = {\n key: 1,\n class: \"notification\"\n}\n\nimport { ref, computed } from \"vue\";\nimport { Store } from \"@bryntum/grid\";\nimport { useGlobalStore } from \"@/stores/GlobalStore\";\nimport { TableType, PopupType } from \"@/utilities/enums/Enums\";\nimport { $t } from \"@/utilities/i18n/config\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'GridInputFilter',\n props: {\n gridStore: Store,\n\t\tpopupType: Number,\n\t\thideFilterButton: {\n type: Boolean,\n default: false,\n }\n},\n setup(__props) {\n\nconst props = __props\n\nconst globalStore = useGlobalStore();\n\nconst userFilters = computed(()=>{\n\treturn globalStore.userPreferences.userFilters;\n});\nconst userHiddenColumns = computed(()=>{\n\treturn globalStore.userPreferences.userHiddenColumns;\n});\n\n\n\nconst activeFilters = () => {\n\tlet filterCount = 0;\n\tlet tableType = null as TableType|null;\n\n\tswitch (props.popupType){\n\t\tcase PopupType.locationFilterPopup: {\n\t\t\ttableType = TableType.location;\n\t\t\tbreak;\n\t\t}\n\t\tcase PopupType.userFilterPopup: {\n\t\t\ttableType = TableType.user;\n\t\t\tbreak;\n\t\t}\n\t\tcase PopupType.disdiFilterPopup: {\n\t\t\ttableType = TableType.disdi;\n\t\t\tbreak;\n\t\t}\n case PopupType.registrationFilterPopup:{\n tableType = TableType.register;\n break;\n }\n case PopupType.locationReportsFilterPopup:{\n tableType = TableType.registerLocation;\n break;\n }\n\t\tdefault: {\n\t\t\tconsole.log(\"can't compute activeFilters, unknown popupType\");\n\t\t\tbreak;\n\t\t}\n\t}\n\n if (tableType === null) return;\n\n\tconst filters = userFilters.value.filter(f => f.tableName === TableType[tableType]);\n\tconst hiddenColumns = userHiddenColumns.value.filter(f => f.tableName === TableType[tableType]);\n\n\tfilterCount = filters.length + hiddenColumns.length;\n\treturn filterCount;\n}\n\nconst reactToInput = () => {\n\tif (searchTerm.value === \"\") props.gridStore.removeFilter(\"gridInputFilter\");\n\n\tprops.gridStore.filter({\n\t\tid: \"gridInputFilter\",\n\t\tfilterBy : (record) => {\n\t\t\t// get all propertie-key, then properties, filter out nulls and none-strings\n\t\t\tconst allProps = Object.keys(record.data).map(k => record.data[k]);\n\n\t\t\tconst stringProps = allProps.filter(p => p !== null && typeof p === \"string\");\n const numberProps = allProps.filter(p => p !== null && typeof p === \"number\").map(np => `${np}`);\n\n const searchableProps = stringProps.concat(numberProps);\n\n\t\t\t// make term and prop lowercase and find any match\n\t\t\treturn searchableProps.some(sp => sp.toLowerCase().includes(searchTerm.value.toLowerCase()));\n\t\t}\n\t});\n};\n\nlet searchTerm = ref(null);\n\nconst showModal = () => {\n\tlet tableType = null as TableType|null;\n\tlet popupTitle = null;\n\n\tswitch (props.popupType){\n\t\tcase PopupType.locationFilterPopup: {\n\t\t\ttableType = TableType.location;\n\t\t\tpopupTitle = $t(\"popups.locationFilter.title\");\n\t\t\tbreak;\n\t\t}\n\t\tcase PopupType.userFilterPopup: {\n\t\t\ttableType = TableType.user;\n\t\t\tpopupTitle = $t(\"popups.userFilter.title\");\n\t\t\tbreak;\n\t\t}\n\t\tcase PopupType.registrationFilterPopup: {\n\t\t\ttableType = TableType.register;\n\t\t\tpopupTitle = $t(\"popups.register.title\");\n\t\t\tbreak;\n\t\t}\n case PopupType.locationReportsFilterPopup: {\n tableType = TableType.registerLocation;\n popupTitle = $t(\"popups.registerLocation.title\");\n break;\n }\n case PopupType.disdiFilterPopup: {\n tableType = TableType.disdi;\n popupTitle = $t(\"popups.disdiFilter.title\");\n break;\n }\n\t\tdefault: {\n\t\t\tconsole.log(\"can't show modal, unknown popupType\");\n\t\t\tbreak;\n\t\t}\n\t}\n\n if (tableType === null || popupTitle === null) return;\n\n\tconst callback = async () => {\n\t\tawait globalStore.updateTablePreferences({userId: globalStore.user.id, tableName: TableType[tableType]});\n\t};\n\n\tglobalStore.openPopup({data: {}, action: callback, resetButton:true, title: popupTitle, type: props.popupType});\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(searchTerm) ? (searchTerm).value = $event : searchTerm = $event)),\n placeholder: \"Suchen...\",\n onInput: reactToInput\n }, null, 544), [\n [_vModelText, _unref(searchTerm)]\n ])\n ]),\n (!__props.hideFilterButton)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"inputFilterButton\",\n onClick: showModal\n }, _hoisted_5))\n : _createCommentVNode(\"\", true),\n (!__props.hideFilterButton)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, _toDisplayString(activeFilters()), 1))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./GridInputFilter.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./GridInputFilter.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./GridInputFilter.vue?vue&type=style&index=0&id=3c55e3c6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3c55e3c6\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./LoadingSpinner.vue?vue&type=template&id=fbc9fb7a\"\nimport script from \"./LoadingSpinner.vue?vue&type=script&lang=js\"\nexport * from \"./LoadingSpinner.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/digi_mt/web/1ANAB_Vue_Frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Popup.vue?vue&type=style&index=0&id=345d5411&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./SearchComponent.vue?vue&type=style&index=0&id=132ae848&scoped=true&lang=css\"","import {DisdiMetadataType, DisdiStateType} from \"@/utilities/enums/Enums\";\nimport {BaseDisdiSetting} from \"@/models/setting/disdi/BaseDisdiSetting\";\n\n/*\n contains all settings for disdi in one object...\n */\nexport class DisdiSetting{\n disdi:DisdiStateType;\n permissionRead:Array;\n permissionEdit:Array;\n pictures:number;\n metaTimestamp:DisdiMetadataType;\n metaEditor:boolean;\n metaInvisibleTime:number\n metaInvisible:number;\n metaDeleteAll:number;\n purgeOldDiaryEntriesIntervalDay:number;\n defaultCategory:string;\n showInAppNr:number;\n showInAppDays:number;\n useGallery:boolean;\n\n constructor(base?:BaseDisdiSetting) {\n this.disdi = base?.disdi ? DisdiStateType[base.disdi as keyof typeof DisdiStateType] : DisdiStateType.NoDISDI;\n this.permissionRead = base?.permissionRead ?? [];\n this.permissionEdit = base?.permissionEdit ?? [];\n this.pictures = base?.pictures ?? -1;\n this.metaTimestamp = base?.metaTimestamp ? DisdiMetadataType[base.metaTimestamp as keyof typeof DisdiMetadataType] : DisdiMetadataType.None;\n this.metaEditor = base?.metaEditor ?? false;\n this.metaInvisibleTime = base?.metaInvisibleTime ?? -1;\n this.metaInvisible = base?.metaInvisible ?? -1;\n this.metaDeleteAll = base?.metaDeleteAll ?? -1;\n this.purgeOldDiaryEntriesIntervalDay = base?.purgeOldDiaryEntriesIntervalDay ?? -1;\n this.defaultCategory = base?.defaultCategory ?? \"\";\n this.showInAppNr = base?.showInAppNr ?? -1;\n this.showInAppDays = base?.showInAppDays ?? -1;\n this.useGallery = base?.useGallery ?? false;\n }\n}","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {\n GeneralResponse,\n SelectableRoleResponse,\n UserIdNumberResponse,\n UserLocationPermissionResponse, UserResponse,\n UsersResponse\n} from \"@/models/api/Responses\";\nimport {ErrorLocationType, HttpType, PreferenceType} from \"@/utilities/enums/Enums\";\nimport {UserPreference} from \"@/models/user/UserPreference\";\nimport {UserPreferenceRequest, UserRequest} from \"@/models/api/Requests\";\nimport {UserInfo} from \"@/models/user/UserInfo\";\nimport {SelectableRoleInfo} from \"@/models/SelectableRoleInfo\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\n\nexport class UserService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getUsers(viewtype: string = \"display\"): Promise {\n const uri = this.uriHelper.users.getUsersPath() + `/viewtype/${viewtype}`;\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n /*\n when clearAll === true: either ALL preferences are cleared or JUST preferences of the specified table (tableName === \"\" or tableName === )\n */\n public async setUserPreferences(id: string, typeId: PreferenceType, tableName: string, clearAll: boolean, prefList: Array) {\n const uri = this.uriHelper.preferences.getSaveUserPreferencesPath();\n const requestBody = new UserPreferenceRequest(id, typeId, tableName, clearAll, prefList);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async getUserById(id: string, errorLocation:ErrorLocationType): Promise {\n const uri = this.uriHelper.users.getUserByIdPath(id);\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as UserResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.userInfo;\n }\n\n public async getDisdiUserById(id: string, errorLocation:ErrorLocationType): Promise {\n const uri = this.uriHelper.users.getUserByIdPath(id, true);\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as UserResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.userInfo;\n }\n\n public async getUserRoles(errorLocation:ErrorLocationType): Promise|null> {\n const uri = this.uriHelper.users.getUsersRoleSelectablePath();\n\n const roleResp = await this.webCaller.HttpSend(HttpType.get, uri) as SelectableRoleResponse;\n if (roleResp === null || roleResp === undefined || roleResp.statusCode !== 0){\n ErrorHandler.handleError(roleResp, errorLocation);\n return null;\n }\n\n return roleResp.roleInfo;\n }\n\n public async getUserPreferences(id: string, typeId: PreferenceType) {\n const uri = this.uriHelper.preferences.getUserPreferencePath(id, typeId);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async addOrUpdateUsers(user: UserInfo): Promise {\n const uri = user.id === \"\"\n ? this.uriHelper.users.getUsersPath()\n : this.uriHelper.users.getUserByIdPath(user.id);\n\n const requestBody = new UserRequest(user);\n\n const reqType = user.id === \"\"\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteUser(id: string): Promise {\n const uri = this.uriHelper.users.getUserByIdPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n\n public async getUserLocationPermission(id: string): Promise {\n const uri = this.uriHelper.users.getUserLocationPermissionPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n\n public async setUserLocationPermission(id: string, authorise: boolean, locationIds: Array): Promise {\n const uri = this.uriHelper.users.getUserLocationPermissionPath(id, authorise);\n const requestBody = locationIds;\n\n return await this.webCaller.HttpSend(HttpType.put, uri, requestBody);\n }\n\n public async resetUserActivity(userIds: Array): Promise {\n const uri = this.uriHelper.users.getResetUserActivityPath();\n const requestBody = userIds;\n\n return await this.webCaller.HttpSend(HttpType.put, uri, requestBody);\n }\n\n public async getNextFreeUserId(): Promise {\n const uri = this.uriHelper.users.getNextFreeUserIdPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n}","import {WebCallService} from \"@/utilities/services/WebCallService\";\nimport {PathHelper} from \"@/utilities/helpers/PathHelper\";\nimport {\n CoupledSystemsResponse,\n CSVImportResponse,\n DetailedLocationResponse,\n ExportPDFResponse,\n GeneralResponse,\n LocationsResponse\n} from \"@/models/api/Responses\";\nimport {ErrorLocationType, HttpType, PdfExportActionEnum} from \"@/utilities/enums/Enums\";\nimport {LocationInfo} from \"@/models/location/LocationInfo\";\nimport {DisdiChangeRequest, LocationRequest, SendMessageRequest} from \"@/models/api/Requests\";\nimport ErrorHandler from \"@/utilities/helpers/ErrorHandler\";\nimport {LocationDisdiInfo} from \"@/models/location/LocationDisdiInfo\";\n\nexport class LocationService {\n private webCaller: WebCallService;\n private uriHelper: PathHelper;\n\n constructor(){\n this.webCaller = new WebCallService();\n this.uriHelper = new PathHelper();\n }\n\n public async getLocations(viewtype: string = \"display\", errorLocation:ErrorLocationType): Promise|null> {\n const uri = this.uriHelper.locations.getLocationsPath() + `/viewtype/${viewtype}`;\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as LocationsResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.locationInfo;\n }\n\n public async getLocation(id: number, errorLocation:ErrorLocationType): Promise {\n const uri = this.uriHelper.locations.getLocationPath(id);\n\n const resp = await this.webCaller.HttpSend(HttpType.get, uri) as DetailedLocationResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp as GeneralResponse, errorLocation);\n return null;\n }\n\n return resp.locationInfo;\n }\n\n public async addOrUpdateLocation(location: LocationInfo): Promise {\n const uri = location.id < 0\n ? this.uriHelper.locations.getLocationsPath()\n : this.uriHelper.locations.getLocationPath(location.id);\n\n const requestBody = new LocationRequest(location);\n\n // add displayOrder to SafetyInstructionList\n requestBody.safetyInstructions = requestBody.safetyInstructions.map((si: { id: number }, i) => {\n return {id: si.id, displayOrder: i};\n });\n\n const reqType = location.id < 0\n ? HttpType.post\n : HttpType.put;\n\n return await this.webCaller.HttpSend(reqType, uri, requestBody);\n }\n\n public async deleteLocation(id: number): Promise {\n const uri = this.uriHelper.locations.getLocationPath(id);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri);\n }\n\n public async postCoupleLocation(id: number, systemId: number, foreignLocationId: string): Promise {\n const uri = this.uriHelper.locations.getLocationCouplingPath(id, systemId);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, foreignLocationId);\n }\n\n public async deleteCoupling(id: number, systemId: number, foreignLocationId: string): Promise {\n const uri = this.uriHelper.locations.getLocationCouplingPath(id, systemId);\n\n return await this.webCaller.HttpSend(HttpType.delete, uri, foreignLocationId);\n }\n\n public async getCoupledLocations(id: number): Promise {\n const uri = this.uriHelper.locations.getCoupledLocationsPath(id);\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async getNextFreeLocationId(): Promise {\n const uri = this.uriHelper.locations.getNextFreeLocationIdPath();\n\n return await this.webCaller.HttpSend(HttpType.get, uri);\n }\n\n public async postImportLocations(importFile: File): Promise {\n const uri = this.uriHelper.locations.getLocationImportPath();\n const requestBody = new FormData();\n requestBody.append(\"formFile\", importFile);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async postExportLocationPdf(action: PdfExportActionEnum, locationIds: Array): Promise {\n const uri = this.uriHelper.locations.getLocationPdfExportPath(action);\n const requestBody = locationIds;\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async postSendMessageToRegisteredUsers(ids: Array, message: string): Promise {\n const uri = this.uriHelper.locations.getLocationNotifyPath();\n const requestBody = new SendMessageRequest(ids, message);\n\n return await this.webCaller.HttpSend(HttpType.post, uri, requestBody);\n }\n\n public async putSetLocationDisdiSettings(changeList:Array, errorLocation:ErrorLocationType):Promise{\n const uri = this.uriHelper.locations.getChangeDisdiPath();\n const requestBody = new DisdiChangeRequest(changeList);\n\n const resp = await this.webCaller.HttpSend(HttpType.put, uri, requestBody) as GeneralResponse;\n if (resp === null || resp === undefined || resp.statusCode !== 0){\n ErrorHandler.handleError(resp, errorLocation);\n return false;\n }\n\n return true;\n }\n}","import {defineStore} from \"pinia\";\n\nexport const usePermissionStore = defineStore('PermissionStore', {\n state: () => {\n return {\n anabPolicies: new Array<{ Name:string, Roles:string }>()\n }\n },\n})\n"],"sourceRoot":""}