{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/areas/swisstopo/components/SwisstopoFeatureSearch.vue?8202","webpack:///./src/areas/entry/components/StepConfirmation.vue?bd91","webpack:///./public/swiss-styleguide/img/logo-CH.svg","webpack:///./src/components/Navigation.vue?4752","webpack:///./src/areas/account/components/AccessCodeTextbox.vue?e612","webpack:///./src/areas/entry/components/Printout.vue?9417","webpack:///./src/areas/development/views/Development.vue?51a2","webpack:///./src/components/NowhowModal.vue?71d8","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/areas/entry/components/StepInfo.vue?4330","webpack:///./src/components/LeftNavigation.vue?acff","webpack:///./src/components/Footer.vue?a109","webpack:///./src/components/FooterBar.vue?46ac","webpack:///./src/App.vue?2f05","webpack:///./src/components/SaveIndicator.vue?14a4","webpack:///./src/components/Header.vue?78a9","webpack:///./src/components/NowhowMessageOverlay.vue?6708","webpack:///./src/components/LoadingSpinner.vue?073b","webpack:///./src/areas/entry/components/LocalUnitEditCensus.vue?80f5","webpack:///./src/components/NowhowUInt32Input.vue?326f","webpack:///./src/store/modules/resource/state.ts","webpack:///./src/plugins/i18n.ts","webpack:///./src/store/modules/resource/mutations.ts","webpack:///./src/services/baseService.ts","webpack:///./src/services/resourceService.ts","webpack:///./src/store/modules/loadingSpinner/mutations.ts","webpack:///./src/store/modules/loadingSpinner/actions.ts","webpack:///./src/store/modules/resource/actions.ts","webpack:///./src/store/modules/resource/getters.ts","webpack:///./src/store/modules/resource/index.ts","webpack:///./src/store/modules/validation/mutations.ts","webpack:///./src/services/validationService.ts","webpack:///./src/store/modules/validation/actions.ts","webpack:///./src/store/modules/validation/getters.ts","webpack:///./src/store/modules/validation/index.ts","webpack:///./src/store/modules/validation/state.ts","webpack:///./src/areas/account/services/AccountService.ts","webpack:///./src/areas/account/store/mutations.ts","webpack:///./src/store/modules/headerNotification/mutations.ts","webpack:///./src/store/modules/headerNotification/actions.ts","webpack:///./src/api-viewmodel.ts","webpack:///./src/areas/entry/store/mutations.ts","webpack:///./src/areas/entry/services/EntryService.ts","webpack:///./src/store/modules/saveIndicator/mutations.ts","webpack:///./src/store/modules/saveIndicator/actions.ts","webpack:///./src/areas/entry/store/actions.ts","webpack:///./src/areas/entry/store/getters.ts","webpack:///./src/areas/entry/store/state.ts","webpack:///./src/areas/entry/store/index.ts","webpack:///./src/areas/account/store/actions.ts","webpack:///./src/areas/account/store/getters.ts","webpack:///./src/areas/account/store/index.ts","webpack:///./src/areas/account/store/state.ts","webpack:///./src/services/EnvironmentService.ts","webpack:///./src/store/modules/environment/mutations.ts","webpack:///./src/store/modules/environment/actions.ts","webpack:///./src/store/modules/environment/getters.ts","webpack:///./src/store/modules/environment/index.ts","webpack:///./src/store/modules/environment/state.ts","webpack:///./src/store/modules/headerNotification/getters.ts","webpack:///./src/store/modules/headerNotification/index.ts","webpack:///./src/store/modules/headerNotification/state.ts","webpack:///./src/store/modules/saveIndicator/getters.ts","webpack:///./src/store/modules/saveIndicator/index.ts","webpack:///./src/store/modules/saveIndicator/state.ts","webpack:///./src/store/modules/loadingSpinner/getters.ts","webpack:///./src/store/modules/loadingSpinner/index.ts","webpack:///./src/store/modules/loadingSpinner/state.ts","webpack:///./src/store/modules/footerBar/mutations.ts","webpack:///./src/store/modules/footerBar/actions.ts","webpack:///./src/store/modules/footerBar/getters.ts","webpack:///./src/store/modules/footerBar/state.ts","webpack:///./src/store/modules/footerBar/index.ts","webpack:///./src/areas/swisstopo/services/SwisstopoService.ts","webpack:///./src/areas/swisstopo/store/mutations.ts","webpack:///./src/areas/swisstopo/store/actions.ts","webpack:///./src/areas/swisstopo/store/getters.ts","webpack:///./src/areas/swisstopo/store/index.ts","webpack:///./src/areas/swisstopo/store/state.ts","webpack:///./src/store/index.ts","webpack:///./src/components/NowhowTextbox.vue?a422","webpack:///./src/components/NowhowTextbox.vue?c1e3","webpack:///./src/components/NowhowTextbox.vue?a3bf","webpack:///./src/components/NowhowTextbox.vue","webpack:///./src/areas/account/views/Login.vue?6a22","webpack:///./src/areas/account/views/Login.vue?32f6","webpack:///./src/areas/account/views/Login.vue?d0cd","webpack:///./src/areas/account/views/Login.vue","webpack:///./src/areas/account/views/Contact.vue?85b9","webpack:///./src/areas/account/views/Contact.vue?f7be","webpack:///./src/areas/account/views/Contact.vue?6e9e","webpack:///./src/areas/account/views/Contact.vue","webpack:///./src/areas/account/components/AccessCodeTextbox.vue","webpack:///./src/areas/account/components/AccessCodeTextbox.vue?11a6","webpack:///./src/areas/account/components/AccessCodeTextbox.vue?d905","webpack:///./src/areas/account/components/AccessCodeTextbox.vue?0515","webpack:///./src/areas/account/components/Step1AccessCode.vue?208f","webpack:///./src/areas/account/components/Step1AccessCode.vue?d14f","webpack:///./src/areas/account/components/Step1AccessCode.vue?744b","webpack:///./src/areas/account/components/Step1AccessCode.vue","webpack:///./src/components/NowhowTextline.vue?f119","webpack:///./src/components/NowhowTextline.vue?e677","webpack:///./src/components/NowhowTextline.vue?aed5","webpack:///./src/components/NowhowTextline.vue","webpack:///./src/areas/account/components/Step2Password.vue?538b","webpack:///./src/areas/account/components/Step2Password.vue?794d","webpack:///./src/areas/account/components/Step2Password.vue?44ea","webpack:///./src/areas/account/components/Step2Password.vue","webpack:///./src/areas/account/components/Step3Result.vue?9790","webpack:///./src/areas/account/components/Step3Result.vue?a587","webpack:///./src/areas/account/components/Step3Result.vue?649b","webpack:///./src/areas/account/components/Step3Result.vue","webpack:///./src/areas/account/views/Register.vue?7737","webpack:///./src/areas/account/views/Register.vue?ef65","webpack:///./src/areas/account/views/Register.vue?07f5","webpack:///./src/areas/account/views/Register.vue","webpack:///./src/areas/account/views/Recovery.vue?1902","webpack:///./src/areas/account/views/Recovery.vue?6b6b","webpack:///./src/areas/account/views/Recovery.vue?948f","webpack:///./src/areas/account/views/Recovery.vue","webpack:///./src/areas/entry/views/Wizard.vue?3835","webpack:///./src/areas/entry/views/Wizard.vue?e5df","webpack:///./src/areas/entry/views/Wizard.vue?3190","webpack:///./src/areas/entry/views/Wizard.vue","webpack:///./src/components/NowhowModal.vue?719c","webpack:///./src/components/NowhowModal.vue?9c1e","webpack:///./src/components/NowhowModal.vue?bbaa","webpack:///./src/components/NowhowModal.vue","webpack:///./src/areas/entry/components/StepHeader.vue?e60a","webpack:///./src/areas/entry/components/StepHeader.vue?ac70","webpack:///./src/areas/entry/components/StepHeader.vue?11c8","webpack:///./src/areas/entry/components/StepHeader.vue","webpack:///./src/areas/entry/components/StepInfo.vue?e8cd","webpack:///./src/areas/entry/components/StepInfo.vue?bbec","webpack:///./src/areas/entry/components/StepInfo.vue?1c01","webpack:///./src/areas/entry/components/StepInfo.vue","webpack:///./src/areas/entry/components/UnFrame.vue?9189","webpack:///./src/areas/entry/components/UnFrame.vue?948a","webpack:///./src/areas/entry/components/UnFrame.vue?3edd","webpack:///./src/areas/entry/components/UnFrame.vue","webpack:///./src/areas/entry/components/Printout.vue?1588","webpack:///./src/areas/entry/components/Printout.vue?2e57","webpack:///./src/areas/entry/components/Printout.vue?321e","webpack:///./src/areas/entry/components/Printout.vue","webpack:///./src/components/NowhowDropdown.vue?a107","webpack:///./src/components/NowhowDropdown.vue?2a0c","webpack:///./src/components/NowhowDropdown.vue?2d1c","webpack:///./src/components/NowhowDropdown.vue","webpack:///./src/components/NowhowTextarea.vue?0631","webpack:///./src/components/NowhowTextarea.vue?b6e8","webpack:///./src/components/NowhowTextarea.vue?230e","webpack:///./src/components/NowhowTextarea.vue","webpack:///./src/components/NowhowCheckbox.vue?cbda","webpack:///./src/components/NowhowCheckbox.vue?1f9f","webpack:///./src/components/NowhowCheckbox.vue?62d8","webpack:///./src/components/NowhowCheckbox.vue","webpack:///./src/components/NowhowRadioList.vue?185f","webpack:///./src/components/NowhowRadioList.vue?2c5d","webpack:///./src/components/NowhowRadioList.vue?c61e","webpack:///./src/components/NowhowRadioList.vue","webpack:///./src/areas/entry/components/StepConfirmation.vue?5352","webpack:///./src/areas/entry/components/StepConfirmation.vue?279d","webpack:///./src/areas/entry/components/StepConfirmation.vue?fb99","webpack:///./src/areas/entry/components/StepConfirmation.vue","webpack:///./src/components/NowhowUInt32Input.vue?ab33","webpack:///./src/components/NowhowUInt32Input.vue?ce6e","webpack:///./src/components/NowhowUInt32Input.vue?c81c","webpack:///./src/components/NowhowUInt32Input.vue","webpack:///./src/components/NowhowRequiredInfoline.vue?ce6c","webpack:///./src/components/NowhowRequiredInfoline.vue?8bed","webpack:///./src/components/NowhowRequiredInfoline.vue?3b2a","webpack:///./src/components/NowhowRequiredInfoline.vue","webpack:///./src/areas/entry/components/LocalUnitEditCensus.vue?ae30","webpack:///./src/areas/entry/components/LocalUnitEditCensus.vue?76aa","webpack:///./src/areas/entry/components/LocalUnitEditCensus.vue?e4c0","webpack:///./src/areas/entry/components/LocalUnitEditCensus.vue","webpack:///./src/components/FooterBarRightButtonProxy.vue?5062","webpack:///./src/components/FooterBarRightButtonProxy.vue?664a","webpack:///./src/components/FooterBarRightButtonProxy.vue?cd4e","webpack:///./src/components/FooterBarRightButtonProxy.vue","webpack:///./src/areas/entry/components/StepCensus.vue?4d2e","webpack:///./src/areas/entry/components/StepCensus.vue?917c","webpack:///./src/areas/entry/components/StepCensus.vue?3895","webpack:///./src/areas/entry/components/StepCensus.vue","webpack:///./src/components/NowhowDatebox.vue?0264","webpack:///./src/components/NowhowDatebox.vue?0574","webpack:///./src/components/NowhowDatebox.vue?7819","webpack:///./src/components/NowhowDatebox.vue","webpack:///./src/components/NowhowCheckboxList.vue?ab5d","webpack:///./src/components/NowhowCheckboxList.vue?d4eb","webpack:///./src/components/NowhowCheckboxList.vue?7790","webpack:///./src/components/NowhowCheckboxList.vue","webpack:///./src/components/NowhowSeasonPicker.vue?cfd9","webpack:///./src/components/NowhowSeasonPicker.vue?f166","webpack:///./src/components/NowhowSeasonPicker.vue?8b0b","webpack:///./src/components/NowhowSeasonPicker.vue","webpack:///./src/components/NowhowDropdownYesNoNull.vue?557b","webpack:///./src/components/NowhowDropdownYesNoNull.vue?f28f","webpack:///./src/components/NowhowDropdownYesNoNull.vue?9c8c","webpack:///./src/components/NowhowDropdownYesNoNull.vue","webpack:///./src/components/NowhowUInt32Box.vue?8f87","webpack:///./src/components/NowhowUInt32Box.vue?74b1","webpack:///./src/components/NowhowUInt32Box.vue?1645","webpack:///./src/components/NowhowUInt32Box.vue","webpack:///./src/areas/entry/components/LocalUnitEditActivity.vue?f7da","webpack:///./src/areas/entry/components/LocalUnitEditActivity.vue?466e","webpack:///./src/areas/entry/components/LocalUnitEditActivity.vue?b1c3","webpack:///./src/areas/entry/components/LocalUnitEditActivity.vue","webpack:///./src/areas/entry/components/StepActivity.vue?618b","webpack:///./src/areas/entry/components/StepActivity.vue?08e6","webpack:///./src/areas/entry/components/StepActivity.vue?acf8","webpack:///./src/areas/entry/components/StepActivity.vue","webpack:///./src/areas/entry/components/StepContact.vue?4144","webpack:///./src/areas/entry/components/StepContact.vue?5a64","webpack:///./src/areas/entry/components/StepContact.vue?df40","webpack:///./src/areas/entry/components/StepContact.vue","webpack:///./src/components/NowhowDismissableTextbox.vue?f880","webpack:///./src/components/NowhowDismissableTextbox.vue?71f9","webpack:///./src/components/NowhowDismissableTextbox.vue?3b6e","webpack:///./src/components/NowhowDismissableTextbox.vue","webpack:///./src/components/NowhowRadioYesNo.vue?c933","webpack:///./src/components/NowhowRadioYesNo.vue?ed17","webpack:///./src/components/NowhowRadioYesNo.vue?de7d","webpack:///./src/components/NowhowRadioYesNo.vue","webpack:///./src/areas/swisstopo/components/SwisstopoFeatureSearch.vue?6548","webpack:///./src/areas/swisstopo/components/SwisstopoFeatureSearch.vue?9ee4","webpack:///./src/areas/swisstopo/components/SwisstopoFeatureSearch.vue?2b0e","webpack:///./src/areas/swisstopo/components/SwisstopoFeatureSearch.vue","webpack:///./src/areas/entry/components/LocalUnitEditAddress.vue?e52c","webpack:///./src/areas/entry/components/LocalUnitEditAddress.vue?7bfb","webpack:///./src/areas/entry/components/LocalUnitEditAddress.vue?022d","webpack:///./src/areas/entry/components/LocalUnitEditAddress.vue","webpack:///./src/areas/entry/components/StepLocal.vue?8d07","webpack:///./src/areas/entry/components/StepLocal.vue?7b3d","webpack:///./src/areas/entry/components/StepLocal.vue?7d90","webpack:///./src/areas/entry/components/StepLocal.vue","webpack:///./src/areas/entry/components/EnterpriseUnitEdit.vue?bb01","webpack:///./src/areas/entry/components/EnterpriseUnitEdit.vue?6923","webpack:///./src/areas/entry/components/EnterpriseUnitEdit.vue?6a99","webpack:///./src/areas/entry/components/EnterpriseUnitEdit.vue","webpack:///./src/areas/entry/components/StepEnterprise.vue?abb1","webpack:///./src/areas/entry/components/StepEnterprise.vue?ad94","webpack:///./src/areas/entry/components/StepEnterprise.vue?b47a","webpack:///./src/areas/entry/components/StepEnterprise.vue","webpack:///./src/areas/entry/components/StepFinish.vue?5724","webpack:///./src/areas/entry/components/StepFinish.vue?8536","webpack:///./src/areas/entry/components/StepFinish.vue?4875","webpack:///./src/areas/entry/components/StepFinish.vue","webpack:///./src/components/NowhowMessageOverlay.vue?be8e","webpack:///./src/components/NowhowMessageOverlay.vue?1b61","webpack:///./src/components/NowhowMessageOverlay.vue?1951","webpack:///./src/components/NowhowMessageOverlay.vue","webpack:///./src/areas/development/views/Development.vue?8986","webpack:///./src/areas/development/views/Development.vue?edc0","webpack:///./src/areas/development/views/Development.vue?1aed","webpack:///./src/areas/development/views/Development.vue","webpack:///./src/router/index.ts","webpack:///./src/components/Header.vue?18c7","webpack:///./src/components/Header.vue?a317","webpack:///./src/components/Header.vue?b03a","webpack:///./src/components/Header.vue","webpack:///./src/components/HeaderNotifcation.vue?5832","webpack:///./src/components/HeaderNotifcation.vue?b2bc","webpack:///./src/components/HeaderNotifcation.vue?7cf2","webpack:///./src/components/HeaderNotifcation.vue","webpack:///./src/components/LoadingSpinner.vue?bf4f","webpack:///./src/components/LoadingSpinner.vue?e208","webpack:///./src/components/LoadingSpinner.vue?712d","webpack:///./src/components/LoadingSpinner.vue","webpack:///./src/components/Navigation.vue?f1a5","webpack:///./src/components/Navigation.vue?c1b0","webpack:///./src/components/Navigation.vue?66ca","webpack:///./src/components/Navigation.vue","webpack:///./src/components/LeftNavigation.vue?9681","webpack:///./src/components/LeftNavigation.vue?96a2","webpack:///./src/components/LeftNavigation.vue?ed9e","webpack:///./src/components/LeftNavigation.vue","webpack:///./src/components/SaveIndicator.vue?f03b","webpack:///./src/components/SaveIndicator.vue?2fb6","webpack:///./src/components/SaveIndicator.vue?e1d7","webpack:///./src/components/SaveIndicator.vue","webpack:///./src/components/Footer.vue?08bb","webpack:///./src/components/Footer.vue?2a5b","webpack:///./src/components/Footer.vue?dcc7","webpack:///./src/components/Footer.vue","webpack:///./src/components/FooterBar.vue?1d6d","webpack:///./src/components/FooterBar.vue?650e","webpack:///./src/components/FooterBar.vue?20b9","webpack:///./src/components/FooterBar.vue","webpack:///./src/components/Layout.vue?20aa","webpack:///./src/components/Layout.vue?bb27","webpack:///./src/components/Layout.vue?7ccb","webpack:///./src/components/Layout.vue","webpack:///./src/App.vue?dad8","webpack:///./src/App.vue?0083","webpack:///./src/App.vue?315a","webpack:///./src/App.vue","webpack:///./src/directives/focus-directive.ts","webpack:///./src/main.ts","webpack:///./src/plugins/VeeValidate.ts","webpack:///./src/areas/entry/views/Wizard.vue?8a8c","webpack:///./src/components/HeaderNotifcation.vue?201c","webpack:///./src/areas/entry/components/StepHeader.vue?0539","webpack:///./src/components/NowhowSeasonPicker.vue?b3aa","webpack:///./src/areas/swisstopo/components/SwisstopoFeatureSearch.vue?1079"],"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","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","I18N_LANGUAGE","language","browserLanguage","navigator","browserLanguageSupported","process","split","includes","localStorage","getItem","setItem","state","loadedLanguages","Vue","use","VueI18n","dateTimeFormats","de","short","day","month","year","medium","hour","minute","long","second","fallbackLocale","silentTranslationWarn","LANGUAGE","NEW_LOADED_LANGUAGE","mutations","_document","i18n","locale","axios","defaults","headers","common","document","querySelector","setAttribute","localize","setLocaleMessage","CancelToken","source","BaseService","constructor","BASE_URL","VUE_APP_BACKEND_URL","this","url","location","href","searchParam","toLowerCase","indexOf","substr","GET","config","getGetConfig","encodedUrl","encodeURI","GETbyId","getPostConfig","POSTbyId","post","GETbyCode","POST","serializeObjectToQuerystring","obj","qs","stringify","addQueryPrefix","encode","getDeleteConfig","method","getPutConfig","resourceService","super","RESOURCE_URL","then","response","setLanguage","languageCode","DELAY","TEXT","VISIBLE","delay","text","visible","SHOWDELAYED","SHOW","HIDE","actions","commit","INITIALIZE_LANGUAGE","LOAD_LANGUAGE","SET_LANGUAGE","LOADING_SPINNER","async","dispatch","Promise","root","GET_LANGUAGE","GET_LOADEDLANGUAGES","getters","NAME","store","namespaced","SET_RULES","validationRules","validationService","getAll","LOAD_VALIDATION","GET_VALIDATION_KEY","accountService","ACCOUNT_URL","authenticate","credentials","logout","getContactInfo","getAccountInfo","isLoggedIn","requestRegistration","username","register","registrationData","getNonValidatedPostConfig","validateStatus","getAssignedSurveyName","accessCode","MAPUSERPROFILE","MAPSURVEYNAME","MAPREGISTRATIONRESULT","MAPISLOGGEDIN","MAPCONTACTINFO","_value$username","userProfile","registrationInfo","contactInfo","registrationResult","SET_VISIBLE","SET_TYPE","SET_TEXT","SET_ERRORS","SET_CLOSEAFTERDELAY","SET_DISMISSIBLE","type","replace","errorMessages","closeAfterDelay","closeDelay","isDismissible","NEW","NEW_SUCESS","NEW_INFO","NEW_ALERT","NEW_ERRORMESSAGES","CLOSE","CredentialsDto","password","CaseApprovalDto","consent","RegistrationDataViewModel","eMailAddress","passwordConfirmation","CaseStepInfoViewModel","overallStepIndex","detailStepIndex","CaseContactDataViewModel","burEnterpriseUnitId","emailAddressOverride","emailAddress","role","firstName","languageCd","lastName","phoneNumber","comment","remarksBfs","salutationCd","DataSetDataObject","enterpriseUnits","EnterpriseUnitStatus","LocalUnitStatus","CaseFullDataViewModel","caseClassificationCd","caseId","caseName","caseStepInfo","caseUid","generalEnterpriseContactDataObject","sumFullTimeEquivalent","userDataSet","MAPCASEFULLDATA","MAPCASECONTACTDATA","MAPCASEVALIDATIONMESSAGES","MAPCASESTEPINFO","WIPECASEDATA","caseFullData","validationLines","caseValidationMessages","caseApproval","entryService","ENTRY_URL","getCaseFullData","getCaseValidationMessages","getPostConfigToAcceptUnprocessableEntity","submitCaseContactData","params","submitEnterpriseUnitData","primitiveClone","submitLocalUnitActivityData","submitLocalUnitAddressData","submitLocalUnitCensusData","submitStepInfo","status","submitCaseApprovalData","moveToParentLocalUnit","localUnitId","parentLocalUnitId","moveToParentEnterpriseUnit","parentEnterpriseUnitId","transferLocalUnit","destinationEnterpriseUnitId","resetStructure","createEnterpriseUnit","createLocalUnit","enterpriseUnitId","reactivateLocalUnit","deactivateLocalUnit","deactivationReasonText","deleteLocalUnit","deleteReasonText","deleteReason","fusionEnterpriseUnit","sourceEnterpriseUnitId","reactivateEnterpriseUnitWithLocals","reactivateEnterpriseUnitOnly","deleteEnterpriseUnit","dto","assign","SET_ACTIVE","SET_INACTIVE","active","ACTIVATE","DEACTIVATE","SAVE_INDICATOR","SUBMIT_ENTERPRISE_UNIT_DATA","SUBMIT_LOCAL_UNIT_ADDRESS_DATA","SUBMIT_LOCAL_UNIT_ACTIVITY_DATA","SUBMIT_LOCAL_UNIT_CENSUS_DATA","GET_CASE_FULL_DATA","GET_CASE_VALIDATION_MESSAGES","SUBMIT_CASE_APPROVAL","SUBMIT_CASE_STEPINFO","SUBMIT_CASE_CONTACT_DATA","REMOVE_CASE_DATA","serverValidationDeferralTimeMilliseconds","onSuccess","CASE_ID","CASE_ENTERPRISE_UNITS","CASE_UID","CASE_NAME","CASE_STEPINFO","CASE_CONTACT_DATA","CASE_VALIDATION_MESSAGES","CASE_FULL_DATA","CASE_APPROVAL","CASE_ACIVITY","CASE_LOCAL_UNIT","CASE_ENTERPRISE_UNIT","_state$caseFullData","_state$caseFullData2","_state$caseFullData3","_state$caseFullData4","localUnits","activity","LOGIN","LOGEDIN_CHECK","LOGOUT","REGISTER","REQUEST_REGISTRATION","GET_CONTACT_INFO","GET_ACCOUNT_INFO","GET_ASSIGNED_SURVEY_NAME","finally","StoreNameEntry","catch","AUTHENTICATED_USERNAME","AUTHORIZED_ROLES","IS_EXTERNAL_USER","CONTACT_INFO","IS_LOGGED_IN","REGISTRATION_RESULT","SURVEY_NAME","IS_SURVEY_NAME_ASSIGNED","roles","_state$userProfile","registeredSurveyName","_state$registrationIn","organisation","street","houseNumber","zip","town","email","faxNumber","environmentService","ENVIRONMENT_URL","environmentInfo","MAPENVIRONMENTINFO","environment","GET_ENVIRONMENT","VUE_APP_ENVIRONMENT","vueAppEnvironment","GET_VISIBLE","GET_TYPE","GET_TEXT","GET_CLOSEDELAY","GET_CLOSEAFTERDELAY","GET_DISMISSIBLE","GET_ACTIVE","GET_DELAY","SET_BAR_VISIBLE","SET_BUTTONLEFT","SET_BUTTONCENTER","SET_BUTTONRIGHT","SET_BUTTONRIGHT_DISABLED","buttonLeft","buttonCenter","buttonRight","button","disabled","NEW_TEXT","NEW_BUTTON","DISABLE_BUTTONRIGHT","repositionFooter","Array","isVisible","IS_BAR_VISIBLE","GET_BUTTONLEFT","GET_BUTTONCENTER","GET_BUTTONRIGHT","FooterButtonType","swisstopoService","SWISSTOPO_BASE_URL","VUE_APP_SWISSTOPO_API_URL","SWISSTOPO_API_SEARCH_URL","SWISSTOPO_API_MAP_URL","searchFeatures","searchText","requestUrl","getFeature","featureId","MAP_FEATURE_SEARCH_RESULT","MAP_SELECTED_FEATURE","searchResult","selectedFeature","feature","SEARCH_FEATURES","GET_FEATURE_DETAILS","reject","error","FEATURE_SEARCH_RESULT","SELECTED_FEATURE","results","Vuex","Store","ENVIRONMENT","RESOURCE","resource","VALIDATION","validation","HEADERNOTIFICATION","headerNotification","SAVEINDICATOR","saveIndicator","LOADINGSPINNER","loadingSpinner","FOOTERBAR","footerBar","ENTRY","entry","ACCOUNT","account","SWISSTOPO","swisstopo","version","plugins","createLogger","logActions","logMutations","validationModul","namespace","NAME_VALIDATION","NowhowTextbox","mounted","getElementById","String","provider","$refs","focus","inputfield","onChange","$emit","onFocusout","onInput","onValueChanged","_this$provider","validate","silent","__decorate","Getter","Prop","required","default","Boolean","Number","Function","Watch","deep","immediate","Component","component","_vm","_c","_self","_setupProxy","ref","attrs","label","validationDelay","scopedSlots","_u","fn","errors","class","staticClass","_v","_s","$t","directives","rawName","expression","_e","inputType","autocomplete","readonly","placeholder","cy","domProps","on","$event","_k","keyCode","onEnter","arguments","target","headerModul","NAME_HEADERNOTIFICATION","modul","AccountLogin","WEBFORMS_BASE_URL","VUE_APP_WEBFORMS_BACKEND_URL","returnUrl","ACCOUNT_REGISTER","ACCOUNT_RECOVERY","loginWrapper","login","created","backendReturnUrl","$route","query","ReturnUrl","applicationPath","substring","origin","frontendReturnUrl","loggedIn","redirectAfterLogin","onPropertyChanged","newVal","isExternalUser","$router","ENTRY_WIZARD","CaseId","Action","components","invalid","handleSubmit","preventDefault","model","callback","$$v","$set","navigate","accountModul","NAME_ACCOUNT","AccountContact","goBack","history","go","render","initialAccessCode","patternMask","AccessCodeTextbox","IMask","createMask","mask","definitions","unmask","prepare","str","toUpperCase","IMaskComponent","Step1AccessCode","onAccessCodeInput","toTidyAccessCode","tidyAccessCode","getAccessCodeFromQuery","queryAccessCode","C","AccessCode","accesscode","urlParams","URLSearchParams","search","isTyping","isComplete","isCorrect","ValidateAccessCode","alphabet","payload","check","HasOnlyAllowedChars","GetCheck","symbolCount","checkSpace","checkNumber","index","character","position","checkCharacterIndex2","checkChar2","getValidation","NowhowTextline","isHtmlText","Step2Password","ACCOUNT_CONTACT","registerWrapper","surveyName","Step3Result","isRegistrationSuccessful","getRegistrationResult","isRegistrationFailed","isRegistrationDone","AccountRegister","beforeDestroy","onAccesCodeInput","isSurveyNameAssigned","co","AccountRecovery","requestRegistrationWrapper","footerBarModul","NAME_FOOTERBAR","Wizard","ENTRY_WIZARD_INFO","ENTRY_WIZARD_CONTACT","ENTRY_WIZARD_ENTERPRISE","ENTRY_WIZARD_LOCAL","ENTRY_WIZARD_ACTIVITY","ENTRY_WIZARD_CENSUS","ENTRY_WIZARD_CONFIRMATION","revisitByStepInfo","onCaseIdChanged","oldVal","removeCaseData","closeFooterBar","isActive","NowhowModal","closeModal","visibleChanged","openModal","_this$backdropElement","canClose","removeEventListener","handleKeydown","backdropElement","handleClick","addEventListener","$nextTick","event","which","hasFooterSlot","$slots","FocusLock","additionalCss","contentCss","hasHeader","title","_t","backdrop","StepHeader","showHelp","visibilityChanged","headerLabel","headerText","slot","helpLabel","StepInfo","showStepNavigation","applicationName","toString","isOeffentlichRechtlich","_this$caseFullData","isPrivatRechtlich","_this$caseFullData2","onClick","gotoNextStep","primary","newFooterBar","_m","UnFrame","htmlContent","doc","DOMParser","parseFromString","selectElementId","$el","appendChild","HTMLElement","Printout","close","secondary","print","printAfter","delayInMilliseconds","setTimeout","BackendPrintoutUrl","NowhowDropdown","isMounted","touched","getElementsByName","forEach","checkbox","isArray","selected","selectedValues","items","filter","item","selectedItemsByValue","valueChanged","itemsChanged","_this$value","_l","NowhowTextarea","rows","cols","NowhowCheckbox","isSelected","formLabel","NowhowRadioList","updateRadiobuttons","validateSilent","focusoutTimeoutHandle","clearTimeout","hasErrors","_e$value","mappableValue","hasChange","itemAtPostition","newValue","onInputFocusIn","targetElement","getRadioItemId","onInputFocusout","relatedTarget","selectListItem","inline","resourceModul","NAME_RESOURCE","StepConfirmation","ENTRY_PRINTOUT","showConfirmationMessage","caseValidate","onOpenJobCountNextQuarterhanged","hasCaseValidationMessages","_this$caseValidationM","approvalWrapper","caseApprove","gotoConfirmationFinish","redirectAfterSuccessfulApproval","gotoPreviousStep","gotoPrintPage","routeData","open","ENTRY_WIZARD_CONFIRMATION_FINISH","element","allowFalse","NowhowUInt32Input","MAX_INT32","MIN_INT32","isInRange","test","NowhowRequiredInfoline","LocalUnitEditCensus","lastSubmittedDataToken","submittableDataToken","saveStepData","onAhvObligationChanged","localUnit","fullMale","fullFemale","part1Male","part1Female","part2Male","part2Female","part3Male","part3Female","fullTimeEquivalentMale","fullTimeEquivalentFemale","getCensusReasonTextValidationRule","isOccupationZero","censusReasonText","fullPersons","part1Persons","part2Persons","part3Persons","totalPersons","totalFte","Math","round","EPSILON","getLowerMaleFteLimitValidationRule","hasNoAhvObligation","getUpperMaleFteLimitValidationRule","getLowerFemaleFteLimitValidationRule","getUpperFemaleFteLimitValidationRule","submitlocalUnitCensusData","JSON","FooterBarRightButtonProxy","onDisabledChanged","disableButtonRight","StepCensus","ValidationObserver","NowhowDatebox","htmlElement","Pikaday","field","format","firstDay","theme","previousMonth","nextMonth","months","weekdays","weekdaysShort","onPikadayChange","NowhowCheckboxList","updateItems","valueAsStringArray","itemSelected","composing","NowhowSeasonPicker","getRowOfItems","rowNumber","ar","args","values","flat","btn","NowhowDropdownYesNoNull","dropdownyesNoNullItems","yesNoNullItems","labelNull","labelYes","labelNo","cloneOf","ISelectListItem","cloneDeep","valueAsString","NowhowUInt32Box","LocalUnitEditActivity","dropdownDeleteReasonItems","dropdownInactivityReasonItems","dropdownMerchantKindItems","checkboxSeasonalActivityPeriodItems","dropdownCreationReasonItems","dropdownKindItems","dropdownFoundersCompositionItems","lastSubmittedActivityDataToken","lastSubmittedLocalUnitAddressDataToken","submittableActivityDataToken","submittableLocalUnitAddressDataToken","onIsActivityBeginChanged","inactivityReason","activityDateMonth","activityDateYear","activityDescription","isMerchant","merchantKind","isSeasonActivity","seasonSelection","creationReasonSelection","creationReasonDescription","nameActivityBefore","kind","foundersComposition","undefined","validationIsInactivityReasonRequired","isInactive","monthValidation","now","Date","thisYear","getFullYear","thisMonth","getMonth","yearValidation","isActivityBegin","isDateRequired","isPredecessorRequired","isCreationReasonDescriptionRequired","tokenData","mainActivityNoga2008Code","mainActivityNoga2025Code","StepActivity","StepContact","dropdownLanguageItems","dropdownSalutationItems","onEmailAddressOverrideChanged","caseContactData","NowhowDismissableTextbox","isDismissed","rules","onDismissedChange","currentValidationRules","checkboxLabel","NowhowRadioYesNo","radioYesNoItems","yesNoItems","onGroupFocusout","swisstopoArea","NAME_SWISSTOPO","SwisstopoFeatureSearch","selectedFeatureId","searchFeaturesWithPromise","featureSearchResult","onSelectedFeatureIdChanged","onSelectedFeatureChanged","vSelect","option","staticStyle","LocalUnitEditAddress","isLocalSwisstopoUnavailable","onLocalSwisstopoFeatureSelected","attributes","strname_deinr","deinr","trim","zipCode","dplz4","dplzname","municipality","ggdename","canton","gdekt","egId","defaultTo","parseInt","egid","edId","edid","esId","esid","gdeId","ggdenr","country","onLocalSwisstopoUnavailable","isSwisstopoDismissed","onLocalSwisstopoDismissedChange","onEmailAddressDismissed","dismissed","isEmailAddressDismissed","onWebsiteAddressDismissed","isWebsiteAddressDismissed","onPhoneNumberDismissed","isPhoneNumberDismissed","getPoBoxTogetherRule","postOfficeBoxNumber","postOfficeBoxZipCode","postOfficeBoxTown","onManualLocalAddressInput","nameBusiness","careOf","additionalTxt","commentText","websiteAddress","prefixedBurLocalUnitId","StepLocal","nextUnitIdentifier","enterpriseUnit","EnterpriseUnitEdit","isEnterpriseSwisstopoUnavailable","onEnterpriseSwisstopoFeatureSelected","onEnterpriseSwisstopoUnavailable","onEnterpriseSwisstopoDismissedChange","onManualEnterpriseAddressInput","legalUnitName","uidId","StepEnterprise","StepFinish","NowhowMessageOverlay","Development","overlayVisible","modalVisible","textarea","textbox","textbox2","datebox","dropdownValue","dismissableTextbox","swissTopoSelectedFeature","dropdownItems","checkboxFlag","checkboxItems","checkboxItemsValue","radioItems","radioValue","searchResultUniversityDegree","searchResultUniversityDegree2","searchResultUniversityDegree3","radiolistValuePreselected","dropdownSearchResultItems","dropdownSearchResultItemsCopy","radiolistSearchItemsPreselected","checkboxFlagValidation","radioYesNoValue","checkboxSyncValue","checkboxSyncItems","radiolistValuePlanetItems","radiolistValuePlanet","setPreselectedNull","setPreselected3","toggleFooter","footerBarVisible","alert","logButtonClick","showOverlay","onSwisstopoFeatureSelected","observer","HOME","ACCOUNT_LOGIN","VueRouter","routes","Login","path","Register","Recovery","Contact","meta","requiresAuth","children","redirect","WizardStepInfo","alias","WizardStepContact","WizardStepEnterprise","WizardStepLocal","WizardStepActivity","WizardStepCensus","WizardStepConfirmation","WizardStepFinish","requiresMenu","WizardPrintout","requiresServiceNavigation","router","beforeEach","to","from","next","matched","some","record","returningQuery","entryModul","NAME_ENTRY","environmentModul","NAME_ENVIRONMENT","Header","handleLogout","isServiceNavigationRequired","_this$$route$meta","_this$$route$meta2","_this$$route$meta4","DeCss","FrCss","ItCss","require","AppEnviroment","headerNotificationModul","HeaderNotifcation","baseCss","alertType","onVisibleChangedOpen","alertVisible","alertTextLines","alertText","cssClass","loadingSpinnerModul","NAME_LOADINGSPINNER","LoadingSpinner","timeOutChanges","effectiveVisible","onVisibleChanged","Navigation","LeftNavigation","isExactActive","saveIndicatorModul","NAME_SAVEINDICATOR","SaveIndicator","Footer","authenticatedUsername","authorizedRoles","UserInfo","AppVersion","AppState","AppStateDetails","BackendCaseDetailUrl","FooterButton","footerClass","isDisabled","isBarVisible","Layout","isMenuRequired","isServieNavigationRequired","_this$$route$meta5","_this$$route$meta6","_this$$route$meta8","onRouteChanged","FooterBar","App","getEnvironment","logedinCheck","loadValidation","staticRenderFns","inserted","__vue__","func","elem","offsetParent","interceptors","request","Response","contentType","currentRoute","errorMessageTexts","entries","errorMessageKey","te","description","startsWith","join","productionTip","directive","PortalVue","extendIs","extendRegex","extendRequired","extendEmail","extendMin","extendMax","extendMinValue","extendMaxValue","extendNumeric","extendDouble","extendDecimalNumber","extendConfirmed","extendLabeledMinValue","extendLabeledMaxValue","extendLabeledRequired","extendLabeledRegex","initializeComponents","extend","is","message","_field_","other","regex","min","max","min_value","max_value","numeric","double","isDouble","confirmed","RegExp","ValidationProvider","h","$mount"],"mappings":"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AO,EACPmH,KAAM,iCACN+iB,UAASA,EACT1T,UAASA,IAOjB,KAAAsc,0BAAoD,CAChD,CAEI9yB,MAAO,KACPmH,KAAM,GACN+iB,UAASA,EACT1T,UAASA,GAEb,CAEIxW,MAAO,EACPmH,KAAM,4BACN+iB,UAASA,EACT1T,UAASA,GAEb,CAEIxW,MAAO,EACPmH,KAAM,+BACN+iB,UAASA,EACT1T,UAASA,IAQjB,KAAAuc,oCAA8D,CAC1D,CACI/yB,MAAO,MACPmH,KAAM,eACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,gBACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,aACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,aACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,WACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,YACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,YACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,cACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,iBACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,eACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,gBACN+iB,UAASA,EACT1T,UAASA,GAEb,CACIxW,MAAO,MACPmH,KAAM,gBACN+iB,UAASA,EACT1T,UAASA,IAOjB,KAAAwc,4BAAsD,CAClD,CAEIhzB,MAAO,KACPmH,KAAM,GACN+iB,UAASA,EACT1T,UAASA,GAEb,CAEIxW,MAAO,EACPmH,KAAM,6BACN+iB,UAASA,EACT1T,UAASA,GAEb,CAEIxW,MAAO,EACPmH,KAAM,iCACN+iB,UAASA,EACT1T,UAASA,GAEb,CAEIxW,MAAO,EACPmH,KAAM,8BACN+iB,UAASA,EACT1T,UAASA,GAEb,CAEIxW,MAAO,E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","file":"js/app.26058760.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 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// 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\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 \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--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/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/lib/index.js??vue-loader-options!./SwisstopoFeatureSearch.vue?vue&type=style&index=1&id=0d0e2372&prod&lang=css&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/lib/loaders/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/lib/index.js??vue-loader-options!./StepConfirmation.vue?vue&type=style&index=0&id=5c7ef0e9&prod&scoped=true&lang=css\"","module.exports = __webpack_public_path__ + \"img/logo-CH.e712fc64.svg\";","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/lib/loaders/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/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=213bf626&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./AccessCodeTextbox.vue?vue&type=style&index=0&id=7519fad4&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./Printout.vue?vue&type=style&index=0&id=c2e5cef4&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./Development.vue?vue&type=style&index=0&id=00ccb21c&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./NowhowModal.vue?vue&type=style&index=0&id=be8e06ba&prod&scoped=true&lang=css\"","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-ps\": \"4c98\",\n\t\"./ar-ps.js\": \"4c98\",\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\": \"8df48\",\n\t\"./fa.js\": \"8df48\",\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\": \"f6b46\",\n\t\"./gd.js\": \"f6b46\",\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-kmr\": \"7558\",\n\t\"./ku-kmr.js\": \"7558\",\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 * 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/lib/loaders/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/lib/index.js??vue-loader-options!./StepInfo.vue?vue&type=style&index=0&id=4e022b8a&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./LeftNavigation.vue?vue&type=style&index=0&id=35cf0b58&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=dc8c8916&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./FooterBar.vue?vue&type=style&index=0&id=d4188b90&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=f84e2b4a&prod&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./SaveIndicator.vue?vue&type=style&index=0&id=08d7e014&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=313092cb&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./NowhowMessageOverlay.vue?vue&type=style&index=0&id=0a37b85c&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=style&index=0&id=31339858&prod&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./LocalUnitEditCensus.vue?vue&type=style&index=0&id=0a4dd6f8&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./NowhowUInt32Input.vue?vue&type=style&index=0&id=9441adba&prod&scoped=true&lang=css\"","export const I18N_LANGUAGE = 'i18nLanguage';\n\nexport interface IResourceState {\n language: string;\n loadedLanguages: Array;\n}\n\nlet language: string;\n\nconst browserLanguage = navigator.language.slice(0, 2);\nconst browserLanguageSupported = process.env.VUE_APP_I18N_SUPPORTED_LANGUAGE.split(',').includes(browserLanguage);\nif (localStorage.getItem(I18N_LANGUAGE)) {\n language = localStorage.getItem(I18N_LANGUAGE) as string;\n} else if (browserLanguageSupported) {\n language = browserLanguage;\n} else {\n language = process.env.VUE_APP_I18N_FALLBACK_LANGUAGE;\n}\nlocalStorage.setItem(I18N_LANGUAGE, language);\n\nexport const state: IResourceState = {\n language: language,\n loadedLanguages: []\n};\n","//i18n-setup.js\nimport Vue from 'vue';\nimport VueI18n from 'vue-i18n';\n\nVue.use(VueI18n);\n\nconst dateTimeFormats = {\n de: {\n short: {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n },\n medium: {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n },\n long: {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n }\n }\n};\n\nexport default new VueI18n({\n dateTimeFormats,\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LANGUAGE,\n silentTranslationWarn: true\n});\n","import { MutationTree } from 'vuex';\nimport { IResourceState, I18N_LANGUAGE } from './state';\n\nimport axios from 'axios';\nimport i18n from '@/plugins/i18n';\nimport { localize } from 'vee-validate';\n\nexport const LANGUAGE = 'language';\nexport const NEW_LOADED_LANGUAGE = 'newLoadedLanguage';\n\nexport const mutations: MutationTree = {\n [LANGUAGE]: (state, value: string) => {\n localStorage.setItem(I18N_LANGUAGE, value);\n state.language = value;\n\n i18n.locale = value;\n axios.defaults.headers.common['Accept-Language'] = value;\n document?.querySelector('html')?.setAttribute('lang', value);\n // Vee-Validate\n localize(value);\n\n return value;\n },\n [NEW_LOADED_LANGUAGE]: (state, { language, value }) => {\n state.loadedLanguages.push(language);\n i18n.setLocaleMessage(language, value);\n }\n};\n","import axios, { AxiosRequestConfig } from 'axios';\nimport qs from 'qs';\nconst CancelToken = axios.CancelToken;\nconst source = CancelToken.source();\nexport const axiosCancelToken = source;\n\nexport default class BaseService {\n protected BASE_URL: string | undefined = process.env.VUE_APP_BACKEND_URL;\n protected deleteConfig!: AxiosRequestConfig;\n protected getConfig!: AxiosRequestConfig;\n protected postConfig!: AxiosRequestConfig;\n protected putConfig!: AxiosRequestConfig;\n\n constructor() {\n if (!this.BASE_URL) {\n //Fallback für den Fall dass keine Backend-URL verfügbar ist\n const url = window.location.href;\n const searchParam = 'redesign/';\n const length = url.toLowerCase().indexOf(searchParam) + searchParam.length - 1;\n this.BASE_URL = url.substr(0, length);\n console.debug('baseService::constructor (with fallback URL)', this.BASE_URL);\n } else {\n console.debug('baseService::constructor', this.BASE_URL);\n }\n }\n\n /** Setzt einen GET-Request ab, mit typisiertem Rückgabewert (ohne Eingabedaten)\n * @param {string} url Die URL der Ressource\n * @param {AxiosRequestConfig} config Die zu verwendende Konfiguration; oder eine Standard-Konfiguration, wenn nicht angegeben\n * @returns {AxiosResponse} Die Antwort der API\n * @devdoc Der Request enthält keine Eingabedaten, an den Axios-Request wird deshalb 'null' übergeben.\n */\n protected async GET(url: string, config: AxiosRequestConfig = this.getGetConfig()) {\n const encodedUrl = encodeURI(url);\n return await axios.get(encodedUrl, config);\n }\n\n /** Setzt einen GET-Request ab, mit typisiertem Rückgabewert und einem Identifikator als bigint\n * @param {string} url Die URL der Ressource\n * @param {bigint} id Die zu sendende Id, vom Typ bigint (Wird in die Route als '/{id}' eigefügt)\n * @param {AxiosRequestConfig} config Die zu verwendende Konfiguration; oder eine Standard-Konfiguration, wenn nicht angegeben\n * @returns {AxiosResponse} Die Antwort der API\n */\n protected async GETbyId(url: string, id: bigint, config: AxiosRequestConfig = this.getPostConfig()) {\n const encodedUrl = encodeURI(url);\n\n return await axios.get(encodedUrl + '/' + id, config);\n }\n\n /** Setzt einen POST-Request ab, mit typisiertem Rückgabewert und typisierten Eingabedaten und einem Identifikator als bigint\n * @param {string} url Die URL der Ressource\n * @param {bigint} id Die zu sendende Id, vom Typ bigint (Wird in die Route als '/{id}' eigefügt)\n * @param {T} data Die zu sendenden Eingabedaten, vom Typ T\n * @param {AxiosRequestConfig} config Die zu verwendende Konfiguration; oder eine Standard-Konfiguration, wenn nicht angegeben\n * @returns {AxiosResponse} Die Antwort der API\n * @devdoc Dieser Aufruf kann verwendet werden, um eine Resource mit Indikator zu aktualisieren und gleichzeitig allfällig serverseitig zusätzlich erfolgen Aktualisierungen zurückzuerhalten.\n */\n protected async POSTbyId(\n url: string,\n id: bigint,\n data: T,\n config: AxiosRequestConfig = this.getPostConfig()\n ) {\n const encodedUrl = encodeURI(url);\n return await axios.post(encodedUrl + '/' + id, data, config);\n }\n\n /** Setzt einen GET-Request ab, mit typisiertem Rückgabewert und einem Identifikator als string\n * @param {string} url Die URL der Ressource\n * @param {string} code Der zu sendende Identifikator/Code, vom Typ string (Wird in die Route als '/{id}' eigefügt)\n * @param {AxiosRequestConfig} config Die zu verwendende Konfiguration; oder eine Standard-Konfiguration, wenn nicht angegeben\n * @returns {AxiosResponse} Die Antwort der API\n */\n protected async GETbyCode(url: string, code: string, config: AxiosRequestConfig = this.getPostConfig()) {\n const encodedUrl = encodeURI(url);\n\n return await axios.get(encodedUrl + '/' + code, config);\n }\n\n /** Setzt einen POST-Request ab, mit typisiertem Rückgabewert und typisierten Eingabedaten\n * @param {string} url Die URL der Ressource\n * @param {T} data Die zu sendenden Eingabedaten, vom Typ T\n * @param {AxiosRequestConfig} config Die zu verwendende Konfiguration; oder eine Standard-Konfiguration, wenn nicht angegeben\n * @returns {AxiosResponse} Die Antwort der API\n */\n protected async POST(url: string, data: T, config: AxiosRequestConfig = this.getPostConfig()) {\n const encodedUrl = encodeURI(url);\n\n return await axios.post(encodedUrl, data, config);\n }\n\n // eslint-disable-next-line\n protected serializeObjectToQuerystring(obj: any) {\n return qs.stringify(obj, { addQueryPrefix: true, encode: false });\n }\n\n protected getDeleteConfig(): AxiosRequestConfig {\n return {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n }\n\n protected getGetConfig(): AxiosRequestConfig {\n return {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n }\n\n protected getPostConfig(): AxiosRequestConfig {\n return {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n }\n\n protected getPutConfig(): AxiosRequestConfig {\n return {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n }\n}\n","import BaseService from '@/services/baseService';\nimport { IResourceService } from './IResourceService';\n\nexport default class ResourceService extends BaseService implements IResourceService {\n private RESOURCE_URL: string;\n constructor() {\n super();\n this.RESOURCE_URL = `${this.BASE_URL}/ressourcen`;\n\n console.debug('ResourceService::constructor', this.RESOURCE_URL);\n }\n // eslint-disable-next-line\n async get(): Promise {\n // eslint-disable-next-line\n return super.GET(`${this.RESOURCE_URL}/GetResourceList`).then(response => {\n return response;\n });\n }\n\n setLanguage(language: string): Promise {\n // eslint-disable-next-line\n return super.POST(`${this.RESOURCE_URL}/SetLanguage`, { languageCode: language }).then((response: any) => {\n return response;\n });\n }\n}\n\nexport const resourceService = new ResourceService();\n","import { MutationTree } from 'vuex';\nimport { ILoadingSpinnerState } from './state';\n\nexport const DELAY = 'delay';\nexport const TEXT = 'text';\nexport const VISIBLE = 'visible';\n\nexport const mutations: MutationTree = {\n [DELAY](state, delay) {\n state.delay = delay;\n },\n [TEXT](state, text) {\n state.text = text;\n },\n [VISIBLE](state, visible) {\n state.visible = visible;\n }\n};\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { ILoadingSpinnerState } from './state';\nimport { TEXT, VISIBLE, DELAY } from './mutations';\n\nexport const SHOWDELAYED = 'showDelayed';\nexport const SHOW = 'show';\nexport const HIDE = 'hide';\n\nexport const actions: ActionTree = {\n [SHOWDELAYED]({ commit }, { text, delay }) {\n commit(TEXT, text);\n commit(VISIBLE, true);\n commit(DELAY, delay);\n },\n [SHOW]({ commit }, { text }) {\n commit(TEXT, text);\n commit(VISIBLE, true);\n commit(DELAY, 0);\n },\n [HIDE]({ commit }) {\n commit(TEXT, '');\n commit(VISIBLE, false);\n commit(DELAY, 0);\n }\n};\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { IResourceState } from './state';\n\nimport { localize } from 'vee-validate';\n\nimport { LANGUAGE, NEW_LOADED_LANGUAGE } from './mutations';\nimport { resourceService } from '@/services/resourceService';\nimport { HIDE, SHOWDELAYED } from '../loadingSpinner/actions';\n\nexport const INITIALIZE_LANGUAGE = 'initializeLanguage';\nexport const LOAD_LANGUAGE = 'loadLanguage';\nexport const SET_LANGUAGE = 'setLanguage';\n\n/** Pfad zu der Loading-Spinner-Komponente */\nconst LOADING_SPINNER = 'loadingSpinner/';\n\nexport const actions: ActionTree = {\n // eslint-disable-next-line\n async [INITIALIZE_LANGUAGE]({ dispatch, state }: any) {\n return dispatch(SET_LANGUAGE, state.language);\n },\n async [LOAD_LANGUAGE]({ commit, dispatch, state }: any, language: string) {\n // If the language was already loaded\n if (state.loadedLanguages.includes(language)) {\n return Promise.resolve(commit(LANGUAGE, language));\n }\n dispatch(LOADING_SPINNER + SHOWDELAYED, { delay: 1000 }, { root: true });\n return resourceService.get().then(response => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n commit(NEW_LOADED_LANGUAGE, { language: language, value: response.data });\n });\n },\n\n async [SET_LANGUAGE]({ commit, dispatch }: any, language: string) {\n //Setzen der Sprache auf dem Server, wird in Session gespeichert\n await resourceService.setLanguage(language);\n await dispatch(LOAD_LANGUAGE, language);\n\n return Promise.resolve(commit(LANGUAGE, language));\n }\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { IResourceState } from './state';\n\nexport const GET_LANGUAGE = 'language';\nexport const GET_LOADEDLANGUAGES = 'loadedLanguages';\nexport const getters: GetterTree = {\n [GET_LANGUAGE]: state => state.language,\n [GET_LOADEDLANGUAGES]: state => state.loadedLanguages\n};\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { IResourceState, state } from './state';\n\n\nexport const NAME = 'resource';\n\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","import { MutationTree } from 'vuex';\nimport { IValidationState } from './state';\n\nexport const SET_RULES = 'setValidationRules';\n\nexport const mutations: MutationTree = {\n [SET_RULES]: (state, value: Record) => {\n state.validationRules = value;\n }\n};\n","import BaseService from './baseService';\n\nexport class ValidationService extends BaseService {\n private RESOURCE_URL: string;\n constructor() {\n super();\n this.RESOURCE_URL = `${this.BASE_URL}/validation`;\n\n console.debug('ValidationService::constructor', this.RESOURCE_URL);\n }\n\n async getAll(): Promise {\n return super.GET(`${this.RESOURCE_URL}/GetValidationList`).then((response: any) => {\n return response;\n });\n }\n}\n\nexport const validationService = new ValidationService();\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { IValidationState } from './state';\n\nimport { SET_RULES } from './mutations';\nimport { validationService } from '@/services/validationService';\n\nexport const LOAD_VALIDATION = 'loadValidations';\n\nexport const actions: ActionTree = {\n // eslint-disable-next-line\n async [LOAD_VALIDATION]({ commit, state }: any) {\n return validationService.getAll().then(response => {\n commit(SET_RULES, response.data);\n });\n }\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { IValidationState } from './state';\n\nexport const GET_VALIDATION_KEY = 'getValidationWithKey';\n\nexport const getters: GetterTree = {\n /** Liefert eine Validation-Rule anhand des Schlüssels.\n * @remarks Eine nicht gefundene Rule wird als \"null\" zurückgegeben,\n * eine effektiv leere Rule als eben solche.\n */\n [GET_VALIDATION_KEY]: state => (key: string): string | null => {\n const validation = state.validationRules[key];\n //console.debug('GET_VALIDATION_KEY:' + key, validation);\n return validation;\n }\n};\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { IValidationState, state } from './state';\n\nexport const NAME = 'validation';\n\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","export interface IValidationState {\n validationRules: Record;\n}\n\nexport const state: IValidationState = {\n validationRules: {}\n};\n","import { IAccountService } from './IAccountService';\nimport BaseService from '@/services/baseService';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { IAccountViewModel, IContactInfoViewModel, RegistrationDataViewModel, CredentialsDto } from '@/api-viewmodel';\n\n/**\n * Implementiert den Service für die Account-Aktionen.\n * @class\n * @implements {IAccountService}\n */\nexport class AccountService extends BaseService implements IAccountService {\n private ACCOUNT_URL: string;\n constructor() {\n super();\n this.ACCOUNT_URL = `${this.BASE_URL}/account`;\n }\n\n /**\n * Authentisiert den Benutzer mit den angegebenen Credentials\n * @param {string} credentials.username Der zu verwendenden Benutzername.\n * @param {string} credentials.password Das zu verwendende Password.\n * @returns {AxiosResponse} Die Antwort der API mit den Angaben zum Account\n */\n async authenticate(credentials: CredentialsDto): Promise> {\n return super\n .POST>(`${this.ACCOUNT_URL}/login`, credentials)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Entfernt die bisherige Authentisierung für einen Benutzer\n * @returns {AxiosResponse} Die Antwort der API mit den Angaben zum Account (typischerweise leerer Benutzername und leere Rollen)\n * @devdoc Wenn NPM als Server fungiert (via Port 8080), funktioniert der Login/Logout Prozess nicht richtig. Das liegt vermutlich an CORS, da die API auf einem anderen Port (Port 55000) aufgerufen wird.\n * Lösung für die Entwicklung: Die Anwendung auch via Port 55000 (via Visual Studio Server) aufrufen.\n * @devdoc Logout wird via POST gelöst, weil der Endpunkt nicht unbeabsichtigt via Browser aufgerufen sollte. Siehe https://stackoverflow.com/questions/3521290/logout-get-or-post\n */\n async logout(): Promise> {\n return super\n .POST>(`${this.ACCOUNT_URL}/logout`, null)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Liefert die Kontakt-Informationen\n */\n async getContactInfo(): Promise> {\n console.debug('AccountService::getContactInfo', this.ACCOUNT_URL);\n return super\n .GET>(`${this.ACCOUNT_URL}/contact`, null)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Prüft ob ein Benutzer angemeldet ist und liefert Angaben zum Account\n * @returns {AxiosResponse} Die Antwort der API mit den Angaben zum Account (typischerweise leerer Benutzername und leere Rollen)\n */\n async getAccountInfo(): Promise> {\n return super\n .GET>(`${this.ACCOUNT_URL}/accountinfo`, null)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Prüft ob ein Benutzer angemeldet ist und liefert Angaben zum Account\n * @returns {AxiosResponse} Die Antwort der API mit true wenn angemeldet, ansonsten false\n */\n isLoggedIn(): Promise> {\n return super\n .GET>(`${this.ACCOUNT_URL}/isLoggedIn`, null)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Fordert eine (erneute) Registrierung an\n * @remarks Es wird keine Antwort erwartet, da der Client aus Sicherheitsgründen nicht erfahren soll, ob die Anfrage erfolgreich war\n * @param {string} username Der zu verwendenden Benutzername.\n */\n async requestRegistration(username: string): Promise {\n return super.POST(`${this.ACCOUNT_URL}/requestRegistration`, { username: username }).then((response: any) => {\n return response;\n });\n }\n\n /**\n * Registriert einen externen Benutzer für eine Befragung.\n * @devdoc Der Aufruf an das Backend wird hier nicht über die Basisklasse gelöst, um allfällige Fehler (HTTP-Status !== 200) selber behandeln zu können\n * @param {string} registrationData Der zu verwendenden Daten für die Registration.\n * @returns {string} Die Informationen zur Registrierung\n */\n async register(registrationData: RegistrationDataViewModel) {\n return super\n .POST>(\n `${this.ACCOUNT_URL}/register`,\n registrationData,\n this.getNonValidatedPostConfig()\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n private getNonValidatedPostConfig(): AxiosRequestConfig {\n const config = super.getPostConfig();\n\n console.debug(config);\n\n /** Keine Validierung für diesen Request, kann später selbst gehandelt werden. */\n config.validateStatus = null;\n return config;\n }\n\n /**\n * Liefert den Namen der zum AccessCode gehörenden Survey\n * @param {string} accessCode Der zu verwendenden AccessCode.\n * @returns {string} Die Informationen zur Registrierung\n * */\n getAssignedSurveyName(accessCode: string): Promise> {\n return super\n .GETbyCode>(`${this.ACCOUNT_URL}/getAssignedSurveyName`, accessCode)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n}\n\nexport const accountService = new AccountService();\n","import { MutationTree } from 'vuex';\nimport { IAccountViewModel, IContactInfoViewModel, IRegistrationInfoViewModel } from '@/api-viewmodel';\nimport { IAccountState } from './state';\n\n/** Weist ein Benutzerprofil zu */\nexport const MAPUSERPROFILE = 'mapUserProfile';\n\n/** Weist einen Survey-Namen zu */\nexport const MAPSURVEYNAME = 'mapSurveyName';\n\n/** Weist das Resultat (Erfolg) einer Registration zu */\nexport const MAPREGISTRATIONRESULT = 'mapRegistrationResult';\n\n/** Weist das Resultat (Erfolg) vom Check isLoggedIn dem State zu */\nexport const MAPISLOGGEDIN = 'mapIsLoggedIn';\n\n/** Weist Kontakt-Informationen zu */\nexport const MAPCONTACTINFO = 'mapContactInfo';\n\nexport const mutations: MutationTree = {\n [MAPUSERPROFILE](state, value: IAccountViewModel) {\n console.debug('username', value.username);\n console.debug('roles', value.roles);\n state.userProfile = value;\n state.isLoggedIn = (value.username ?? '').length > 0;\n },\n [MAPSURVEYNAME](state, value: IRegistrationInfoViewModel) {\n state.registrationInfo = value;\n },\n [MAPCONTACTINFO](state, value: IContactInfoViewModel) {\n state.contactInfo = value;\n },\n [MAPISLOGGEDIN](state, value: boolean) {\n state.isLoggedIn = value;\n },\n [MAPREGISTRATIONRESULT](state, value: boolean) {\n state.registrationResult = value;\n }\n};\n","import { MutationTree } from 'vuex';\nimport { IHeaderNotificationState } from './state';\n\nexport const SET_VISIBLE = 'setVisible';\nexport const SET_TYPE = 'setType';\nexport const SET_TEXT = 'setText';\nexport const SET_ERRORS = 'setErrorMessages';\nexport const SET_CLOSEAFTERDELAY = 'setCloseAfterDelay';\nexport const SET_DISMISSIBLE = 'setDismissible';\n\nexport const mutations: MutationTree = {\n [SET_VISIBLE]: (state, visible: boolean) => {\n state.visible = visible;\n },\n [SET_TYPE]: (state, type: string) => {\n state.type = type;\n },\n\n /** Legt den anzuzeigenden Text fest\n * @remarks Zweifache Slashes werden '//' als Zeilenumbruch interpretiert\n */\n [SET_TEXT]: (state, text: string) => {\n state.text = text.replace(/\\/\\//g, '
');\n },\n\n /** Legt die anzuzeigenden Fehlermeldungen fest\n * @remarks In Stings werden zweifache Slashes '//' als Zeilenumbruch interpretiert\n */\n [SET_ERRORS]: (state, errorMessages: any) => {\n if (typeof errorMessages === 'string') {\n state.text = errorMessages.replace(/\\/\\//g, '
');\n } else {\n let text = '';\n for (const key in errorMessages) {\n if (key in errorMessages) {\n text += errorMessages[key];\n text += '
';\n }\n }\n state.text = text;\n }\n },\n [SET_CLOSEAFTERDELAY]: (state, closeAfterDelay) => {\n state.closeAfterDelay = closeAfterDelay;\n\n if (!closeAfterDelay) {\n state.closeDelay = 0;\n } else {\n state.closeDelay = 5000;\n }\n },\n [SET_DISMISSIBLE]: (state, value: boolean) => {\n state.isDismissible = value;\n }\n};\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { IHeaderNotificationState } from './state';\n\nimport { SET_TEXT, SET_TYPE, SET_VISIBLE, SET_ERRORS, SET_CLOSEAFTERDELAY } from './mutations';\n\nexport const NEW = 'new';\nexport const NEW_SUCESS = 'newSuccess';\nexport const NEW_INFO = 'newInfo';\nexport const NEW_ALERT = 'newAlert';\nexport const NEW_ERRORMESSAGES = 'newErrorMessages';\nexport const CLOSE = 'close';\n\nexport const actions: ActionTree = {\n async [NEW]({ commit }: any, { type, text }: any) {\n commit(SET_VISIBLE, true);\n commit(SET_TYPE, type);\n commit(SET_TEXT, text);\n commit(SET_CLOSEAFTERDELAY, type === 'success');\n },\n async [NEW_SUCESS]({ commit }: any, { text }: any) {\n commit(SET_VISIBLE, true);\n commit(SET_TYPE, 'success');\n commit(SET_TEXT, text);\n commit(SET_CLOSEAFTERDELAY, true);\n },\n async [NEW_INFO]({ commit }: any, { text }: any) {\n commit(SET_VISIBLE, true);\n commit(SET_TYPE, 'info');\n commit(SET_TEXT, text);\n commit(SET_CLOSEAFTERDELAY, false);\n },\n async [NEW_ALERT]({ commit }: any, { text }: any) {\n commit(SET_VISIBLE, true);\n commit(SET_TYPE, 'warning');\n commit(SET_TEXT, text);\n commit(SET_CLOSEAFTERDELAY, true);\n },\n async [NEW_ERRORMESSAGES]({ commit }: any, { errorMessages }: any) {\n commit(SET_VISIBLE, true);\n commit(SET_TYPE, 'danger');\n commit(SET_ERRORS, errorMessages);\n commit(SET_CLOSEAFTERDELAY, false);\n },\n async [CLOSE]({ commit }) {\n commit(SET_VISIBLE, false);\n commit(SET_TYPE, 'danger');\n commit(SET_TEXT, 'placeholder');\n commit(SET_CLOSEAFTERDELAY, false);\n }\n};\n","/** Definiert das ViewModel für die Lieferung von Environment-Angaben an den Client.\n * @interface\n */\nexport interface IEnvironmentViewModel {\n /** Liefert oder definiert den Namen des Environments für die Vue-App. */\n vueAppEnvironment: string;\n}\n\n/** Definiert das ViewModel eines Accounts für einen authentisierten Benutzer\n * @interface\n */\nexport interface IAccountViewModel {\n /** Authentisierter Benutzername */\n username: string;\n\n /**Authorisierte Rollen */\n roles: string[];\n}\n\n/** Definiert das ViewModel für die Kontakt-Informationen\n * @interface\n */\nexport interface IContactInfoViewModel {\n organisation: string;\n street: string;\n houseNumber: string;\n zip: string;\n town: string;\n email: string;\n phoneNumber: string;\n faxNumber: string;\n}\n\n/** Definiert das ViewModel für die StepInfo\n * @interface\n */\nexport interface ICaseStepInfoViewModel {\n /** Step-Index vom äusseren (Overall) Wizard (0 indexiert) */\n overallStepIndex: number;\n\n /** Step-Index vom inneren (Detail) Wizard (0 indexiert) */\n detailStepIndex: number;\n}\n\n/** Definiert das ViewModel für die Informationen zu einer Befragung zu der sich ein externer Benutzer registriert\n * @interface\n */\nexport interface IRegistrationInfoViewModel {\n /**Der Name der zur Registration passenden Survey */\n registeredSurveyName: string;\n}\n\n/** Definiert das ViewModel für die Daten zu einer Registrierung eines externen Benutzers\n * @interface\n */\n\nexport interface IRegistrationDataViewModel {\n /**Der Access-Code für die Registration */\n accessCode: string;\n\n /**Das E-Mail für die Registration */\n eMailAddress: string;\n\n /** Das Passwort für die Registration */\n password: string;\n\n /**Das bestätigte Passwort für die Registration */\n passwordConfirmation: string;\n}\n\n/** Definiert die Zugangsdaten für einen Login-Versuch\n * @interface\n */\nexport interface ICredentialsDto {\n /** Passwort zum Login */\n password: string;\n\n /** Benutzername zum Login */\n username: string;\n}\n\n/** Definiert die Angaben zum Bestätigen der Falldaten\n */\nexport interface ICaseApprovalDto {\n /* Die Zustimmung zum Abschluss des Falles */\n consent: boolean;\n}\n\n/** Definiert ein Dictionary mit einem String-Wert als Key\n */\ninterface IDictionary {\n [Key: string]: T;\n}\n\n/** Definiert die Struktur von Fehlermeldungen zu Validierungen\n */\nexport interface IValidationErrorViewModel {\n /* Ob die Validierung erfolgreich war */\n isValid: boolean;\n\n /** Die allfällig vorhandenen Fehlermeldungen */\n errorMessages: IDictionary;\n}\n\n/** Implementiert die Struktur von Fehlermeldungen zu Validierungen\n */\nexport class ValidationErrorViewModel implements IValidationErrorViewModel {\n /** @constructor */\n constructor() {\n this.isValid = false;\n this.errorMessages = {};\n }\n\n /* Ob die Validierung erfolgreich war */\n isValid: boolean;\n\n /** Die allfällig vorhandenen Fehlermeldungen */\n errorMessages: IDictionary;\n}\n\n/** Implementiert die Zugangsdaten für einen Login-Versuch\n */\nexport class CredentialsDto implements ICredentialsDto {\n /** @constructor */\n constructor() {\n this.password = '';\n this.username = '';\n }\n password: string;\n username: string;\n}\n\n/** Implementiert die Angaben zum Bestätigen der Falldaten\n */\nexport class CaseApprovalDto implements ICaseApprovalDto {\n /** @constructor */\n constructor() {\n this.consent = false;\n }\n\n /* Die Zustimmung zum Abschluss des Falles */\n consent: boolean;\n}\n\n/** Implementiert die Daten zu einer Registrierung eines externen Benutzers\n */\nexport class RegistrationDataViewModel implements IRegistrationDataViewModel {\n /** @constructor */\n constructor() {\n this.accessCode = '';\n this.eMailAddress = '';\n this.password = '';\n this.passwordConfirmation = '';\n }\n\n /**Der Access-Code für die Registration */\n accessCode: string;\n\n /**Das E-Mail für die Registration */\n eMailAddress: string;\n\n /** Das Passwort für die Registration */\n password: string;\n\n /**Das bestätigte Passwort für die Registration */\n passwordConfirmation: string;\n}\n\n/** Definiert das ViewModel für die Kontaktdaten für einen Fall\n * @interface\n */\nexport interface ICaseContactDataViewModel {\n /** The bur enterprise unit identifier */\n burEnterpriseUnitId: number;\n\n /** Liefert oder definiert die E-Mail-Adresse (ohne Platzhalter, d.h. leer wenn die Angabe durch die Übersteuerung ausgelassen wird)\n */\n emailAddress: string;\n\n /** Übersteuerung E-Mail Adresse. Falls true ist keine E-Mail für diesen Kontakt bekannt. Dient dem BFS-Benutzer für Kunden, die keine E-Mail Adresse\n * besitzen und somit keine Befragung online ausfüllen können.\n */\n emailAddressOverride: boolean;\n\n /** Liefert oder definiert die Funktion (Role).\n */\n role: string;\n\n /**Gets or sets the first name.\n */\n firstName: string;\n\n /**Gets or sets the language cd.\n * @remarks Kann auch null sein.\n */\n languageCd: number;\n\n /**Gets or sets the last name.\n */\n lastName: string;\n\n /**Gets or sets the phone number.\n */\n phoneNumber: string;\n\n /**Liefert oder definiert den Kommentar des Bemutzers.\n */\n comment: string;\n\n /**Liefert oder definiert die Bemerkungen des BFS.\n */\n remarksBfs: string;\n\n /**Gets or sets the salutation cd.\n * @remarks Kann auch null sein.\n */\n salutationCd: number;\n}\n\n/** Implementiert das ViewModel für die StepInfo\n * @interface\n */\nexport class CaseStepInfoViewModel implements ICaseStepInfoViewModel {\n /** @constructor Für Steps mit optionalem Detail-Step\n * @param {number} overallStepIndex Der Overall-Step-Index.\n * @param {number} detailStepIndex Der Detail-Step-Index.\n */\n constructor(overallStepIndex: number, detailStepIndex: number) {\n //Start im Info-Screen\n this.overallStepIndex = overallStepIndex;\n this.detailStepIndex = detailStepIndex;\n }\n\n /**@inheritdoc */\n overallStepIndex: number;\n\n /**@inheritdoc */\n detailStepIndex: number;\n}\n\n/** Implementiert das ViewModel für die Kontaktdaten für einen Fall\n */\nexport class CaseContactDataViewModel implements ICaseContactDataViewModel {\n /** @constructor */\n constructor() {\n this.burEnterpriseUnitId = null;\n this.emailAddressOverride = false;\n this.emailAddress = '';\n this.role = '';\n this.firstName = '';\n this.languageCd = null;\n this.lastName = '';\n this.phoneNumber = '';\n this.comment = '';\n this.remarksBfs = '';\n this.salutationCd = null;\n this.lastName = '';\n this.lastName = '';\n }\n\n /**@inheritdoc */\n burEnterpriseUnitId: number;\n\n /**\n Übersteuerung E-Mail Adresse. Falls true ist keine E-Mail für diesen Kontakt bekannt. Dient dem BFS-Benutzer für Kunden, die keine E-Mail Adresse\n besitzen und somit keine Befragung online ausfüllen können.\n */\n emailAddressOverride: boolean;\n\n /** Liefert oder definiert die E-Mail-Adresse (ohne Platzhalter, d.h. leer wenn die Angabe durch die Übersteuerung ausgelassen wird)\n */\n emailAddress: string;\n\n /**@inheritdoc */\n role: string;\n\n /**Gets or sets the first name.\n */\n firstName: string;\n\n /**Gets or sets the language cd.\n * @remarks Kann auch null sein.\n */\n languageCd: number;\n\n /**Gets or sets the last name.\n */\n lastName: string;\n\n /**Gets or sets the phone number.\n */\n phoneNumber: string;\n\n /**Liefert oder definiert den Kommentar des Bemutzers.\n */\n comment: string;\n\n /**Liefert oder definiert die Bemerkungen des BFS.\n */\n remarksBfs: string;\n\n /**Gets or sets the salutation cd.\n * @remarks Kann auch null sein.\n */\n salutationCd: number;\n}\n\n/**\n * Datenset mit Angaben.\n */\nexport interface IDataSetDataObject {\n /**\n * Liefert die Liste der EnterpriseUnits.\n */\n enterpriseUnits: Array;\n}\n\n/** implementiert IDataSetDataObject */\nexport class DataSetDataObject implements IDataSetDataObject {\n /** @constructor */\n constructor() {\n this.enterpriseUnits = null;\n }\n\n /** @inheritdoc */\n enterpriseUnits: Array;\n}\n\n//TODO für EnterpriseUnitDeleteReason und LocalUnitDeleteReason könnte zur Präzisierung noch eine Enum definiert werden\n\n/** Mögliche Edit-Stati einer EnterpriseUnit gemäss Tabelle */\nexport enum EnterpriseUnitStatus {\n Unknown = 0,\n NoChange = 1,\n New = 2,\n Deleted = 3,\n Changed = 4\n}\n\n/** Mögliche Edit-Stati einer LocalUnit gemäss Tabelle \n * @remarks Siehe https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DesignStatusUebergaengeLocalUnit\n */\nexport enum LocalUnitStatus {\n /** Unbekannter Status */\n Unknown = 0,\n\n /**NoChange (Unveränderte LU aus SBER) */\n NoChange = 1,\n\n /** New (Neu angelegte LU) */\n New = 2,\n\n /** Gelöscht */\n Deleted = 3,\n\n /** Deactivated (Existierende LU welche deaktiviert wurde) */\n Deactivated = 4,\n\n /** Changed (Existierende LU an welcher Daten angepasst wurden) */\n Changed = 5\n}\n\nexport interface IEnterpriseUnitDataObject {\n /** Liefert oder definiert das CareOf (c/o) */\n careOf: string;\n\n /** Liefert oder definiert die allfällig vorhandene BUR Enterprise Unit Id während dem Bearbeiten einer im ERST Case neu erstellten Enterprise Unit. */\n burEnterpriseUnitId: number | null;\n commentText: string;\n\n /** Liefert oder definiert den Edit-Reason Code (Grund). */\n editReasonCd: number | null;\n editReasonText: string;\n editStatus: EnterpriseUnitStatus;\n editStatusCd: number;\n\n /** Liefert oder definiert die EnterpriseUnitId (Datenbank-Id, Primary Key)\n * @remarks Dies ist nicht die BUR-EnterpriseUnitId, welche einen Fremdschlüssel im SBER-Umsystem darstellt.\n * @devdoc Diese Id kann zu Referenzierungs-Zwecken im Client verwendet werden\n */\n\n enterpriseUnitId: number;\n\n /** Liefert oder definiert den Namen\n * @remarks Dies ist der in ERST verwendete Name für die Eingabe des Externen Benutzers.\n */\n legalUnitName: string;\n\n /** Liefert oder definiert den Geschäftsnamen (Ergänzung des Namens) des Unternehmens. */\n nameBusiness: string;\n postOfficeBoxNumber: number | null;\n postOfficeBoxTown: string;\n\n /** Liefert oder definiert die PLZ des Postfachs. */\n postOfficeBoxZipCode: number | null;\n street: string;\n\n /** Liefert oder definiert die Hausnummer */\n houseNumber: string;\n\n /** Liefert oder definiert den Adresszusatz */\n additionalTxt: string;\n\n /** Liefert oder definiert den Ort */\n town: string;\n\n /** Liefert oder definiert die Gemeinde */\n municipality: string;\n\n /** Liefert oder definiert den Kantonsbezeichner */\n canton: string;\n\n /** Liefert oder definiert die EgId */\n egId: number | null;\n\n /** Liefert oder definiert die EdId */\n edId: number | null;\n\n /** Liefert oder definiert die EsId\n * @remarks Die EsId stammt aus SBER und kann via Swisstopo aktualisiert werden; Für Enterprises wird EsId nicht an SBER gemeldet.\n */\n esId: number | null;\n\n /** Liefert oder definiert die GdeId */\n gdeId: number | null;\n\n /** Liefert oder definiert den Landesbezeichner */\n country: string;\n\n /** Liefert oder definiert die UID des Unternehmens */\n uidId: string;\n\n /** Liefert oder definiert die PLZ des Postfachs. */\n zipCode: number | null;\n\n /** Gibt an, ob die Angabe der Adressdaten via Swisstopo abgesagt wird\n */\n isSwisstopoDismissed: boolean;\n\n /** Liefert alle zugehörigen LocalUnits (als flache Liste, ohne Tree-Information.) */\n localUnits: Array;\n}\n\nexport interface ILocalUnitDataObject {\n /** Gibt an, ob für diesen Betrieb eine AHV-Pflicht besteht.\n * Diese Angabe ist nur informell, die Nutzdaten sind in den Census-Angaben enthalten.\n * @remarks Implementiert die Anforderung 010 aus DatenErfassungLocalCensusScreen\n */\n hasNoAhvObligation: boolean;\n\n /** Liefert oder definiert das CareOf (c/o) */\n careOf: string;\n\n /** Liefert oder definiert die BUR-LocalUnitId (Fremdschlüssel in SBER)\n * @devdoc Dies ist nicht der Datenbank-PrimaryKey\n */\n burLocalUnitId: number;\n\n /** Liefert oder definiert den Prefix zur BUR-LocalUnitId (Fremdschlüssel in SBER)\n * @devdoc Dies ist nicht der Datenbank-PrimaryKey\n */\n burLocalUnitIdPrefix: string;\n\n /** Liefert oder definiert den vollständige zur BUR-LocalUnitIdentifier (Prefix mit Id) (Fremdschlüssel in SBER)\n * @devdoc Dies ist nicht der Datenbank-PrimaryKey\n */\n prefixedBurLocalUnitId: string;\n\n /** Liefert oder definiert den Grund, zuhanden Erst, für die Eingabe der Census-Daten. */\n censusReasonText: string;\n\n /** Liefert oder definiert den generellen Kommentar. */\n commentText: string;\n\n /** Liefert oder definiert den Edit-Reason Code (Grund). */\n editReasonCd: number | null;\n\n /** Liefert oder definiert den Grund für die Bearbeitung. */\n editReasonText: string;\n\n /** Liefert den Edit-Status. */\n editStatus: LocalUnitStatus;\n\n /** Liefert oder definiert den Bearbeitungsstatus der LocalUnit. */\n editStatusCd: number;\n\n /** Liefert oder definiert die BUR-EnterpriseUnitId (Fremdschlüssel in SBER)\n * @remarks Wenn dieses Objekt aus SBER-Daten erstellt wird, wird der SBER-Fremdschlüssel aus verwendet.\n * Wenn dieses Objekt aus Erst-Daten erstellt wird, wird das Feld verwendet.\n * Die Angabe kann auch leer sein, für LocalUnits die einer in ERST neu erstellten EnterpriseUnit untergeordnet sind.\n * @devdoc Dies ist nicht der Datenbank-PrimaryKey\n */\n enterpriseUnitId: number | null;\n\n /** Gets or sets the 100% female */\n fullFemale: number | null;\n\n /** Gets or sets the 100% male */\n fullMale: number | null;\n fullTimeEquivalentFemale: number | null;\n fullTimeEquivalentMale: number | null;\n\n /** Liefert die Datenbank-Id (Primary Key innerhalb von Erst) */\n localUnitId: number;\n\n /** Liefert oder definiert den Namen der Arbeitsstätte. */\n name: string;\n\n /** Liefert oder definiert den Geschäftsnamen (Ergänzung des Namens) der Arbeitsstätte. */\n nameBusiness: string;\n\n /** Liefert oder definiert den mainActivityNoga2008Code\n * @remarks Der NOGA-Code kann in der Entry-Box nicht verändert werden\n */\n mainActivityNoga2008Code: number | null;\n\n /** Liefert oder definiert den mainActivityNoga2025Code\n * @remarks Der NOGA-Code kann in der Entry-Box nicht verändert werden\n */\n mainActivityNoga2025Code: number | null;\n\n /** Liefert oder definiert die Eingabe des Externen Benutzers zum Beschrieb der Tätigkeit. */\n activityDescription: string;\n\n /** Gets or sets the 50-90% female. */\n part1Female: number | null;\n\n /** Gets or sets the 50-90% male. */\n part1Male: number | null;\n\n /** Gets or sets the less than 50% female. */\n part2Female: number | null;\n\n /** Gets or sets the less than 50% male. */\n part2Male: number | null;\n\n /** Gets or sets the less than 50% female. */\n part3Female: number | null;\n\n /** Gets or sets the less than 50% male. */\n part3Male: number | null;\n postOfficeBoxNumber: number | null;\n postOfficeBoxTown: string;\n postOfficeBoxZipCode: number | null;\n postOfficeBoxZipCodeAddOn: number | null;\n\n street: string;\n houseNumber: string;\n\n /** Liefert oder definiert den Adresszusatz */\n additionalTxt: string;\n town: string;\n typeCd: number | null;\n zipCode: number | null;\n zipCodeAddOn: number | null;\n\n /** Liefert oder definiert die Gemeinde */\n municipality: string;\n\n /** Liefert oder definiert den Kantonsbezeichner */\n canton: string;\n\n /** Liefert oder definiert die EgId */\n egId: number | null;\n\n /** Liefert oder definiert die EdId */\n edId: number | null;\n\n /** Liefert oder definiert die EsId\n * @remarks Die EsId stammt aus SBER und kann via Swisstopo aktualisiert werden; wird als StreetId an SBER gemeldet. */\n esId: number | null;\n\n /** Liefert oder definiert die GdeId */\n gdeId: number | null;\n\n /** Liefert oder definiert den Landesbezeichner */\n country: string;\n\n /** Liefert oder definiert den Aktivitätsdaten */\n activity: IActivityDataObject;\n\n /** Liefert oder definiert die Telefonnummer des Betriebs */\n phoneNumber: string | null;\n\n /** Liefert oder definiert die Email-Adresse des Betriebs. */\n emailAddress: string | null;\n\n /** Liefert oder definiert die Website des Betriebs */\n websiteAddress: string | null;\n\n /** Gibt an, ob die Eingabe der Telefonnummer des Betriebs abgesagt wird\n */\n isPhoneNumberDismissed: boolean;\n\n /** Gibt an, ob die Eingabe der Email-Adresse des Betriebs abgesagt wird\n */\n isEmailAddressDismissed: boolean;\n\n /** Gibt an, ob die Eingabe der Website des Betriebs abgesagt wird\n */\n isWebsiteAddressDismissed: boolean;\n\n /** Gibt an, ob die Angabe der Adressdaten via Swisstopo abgesagt wird\n */\n isSwisstopoDismissed: boolean;\n}\n\nexport interface IActivityDataObject {\n /** Liefert oder definiert die Eingabe des Externen Benutzers zu \"Ist der Betrieb aktiv\" */\n isActivityBegin: boolean | null;\n\n /** Liefert oder definiert die Eingabe des Externen Benutzers zu \"Im Handel tätig\" */\n isMerchant: boolean | null;\n\n /** Liefert oder definiert die Auswahl des Externen Benutzers zu \"Handelstätigkeit\"\n * @remarks null=Keine Auswahl, 1=Im Detailhandel, 2=Im Grosshandel\n */\n merchantKind: number | null;\n\n /** Liefert oder definiert die Eingabe des Externen Benutzers zu \"Handelt es sich um eine saisonale Tätigkeit\" */\n isSeasonActivity: boolean | null;\n\n /** Liefert oder definiert die Auswahl des Externen Benutzers zu \"Um was handelt es sich bei diesem Betrieb\"\n * @remarks null=Keine Auswahl,\n * 1=Neugründung,\n * 2=Rechtsformänderung,\n * 3=Übernahme / Pächterwechsel,\n * 4=Reaktivierung,\n * 5=Zusammenlegung / Fusion,\n * 6=Aufspaltung / Splitting,\n * 7=Andere\n */\n creationReasonSelection: number | null;\n\n /** Liefert oder definiert die Auswahl des Externen Benutzers zu \"Um welche Art handelt es sich bei diesem Betrieb\"\n * @remarks null=Keine Auswahl,\n * 1=Einzelbetrieb,\n * 2=Betrieb mit mehreren Arbeitsstätten\n */\n kind: number | null;\n\n /** Liefert oder definiert die Auswahl des Externen Benutzers zu \"Von wem wurde der Betrieb gegründet\"\n * @remarks null=Keine Auswahl,\n * 1=Nur Männer,\n * 2=Nur Frauen,\n * 3=Männer und Frauen\n */\n foundersComposition: number | null;\n\n /** Liefert oder definiert die Auswahl des Externen Benutzers zu \"Grund\" bei inaktivität\n * @remarks null=Keine Auswahl,\n * 1=Tätigkeitsaufnahme geplant für ...,\n * 2=Aufgabe der Tätigkeit per ...,\n * 3=Tätigkeitsaufnahme nicht vorgesehen\n */\n inactivityReason: number | null;\n\n /** Liefert oder definiert die Eingabe des Externen Benutzers für den Monat zum \"Datum\" für die Aktivität\n * @remarks Bedeutung ist abhängig von anderen Angaben. Die Angabe wird aus Konsistenzgründen mit den Umsystemen nicht als Datumstyp erfasst.\n */\n activityDateMonth: number | null;\n\n /** Liefert oder definiert die Eingabe des Externen Benutzers für das Jahr zum \"Datum\" für die Aktivität\n * @remarks Bedeutung ist abhängig von anderen Angaben. Die Angabe wird aus Konsistenzgründen mit den Umsystemen nicht als Datumstyp erfasst.\n */\n activityDateYear: number | null;\n\n /** Liefert oder definiert die Angabe des Externen Benutzers zu \"Name und Adresse des früheren Betriebs / Pächters\" */\n nameActivityBefore: string | null;\n\n /** Liefert oder definiert die Angabe des Externen Benutzers zu \"Beschreibung\" für die Auswahl zur Gründung des Betriebs */\n creationReasonDescription: string | null;\n\n /** Liefert oder definiert die Auswahl des Externen Benutzers zu \"Zeitraum der saisonalen Tätigkeit\"\n * @remarks Die Angabe wird als int mit 12bit gespeichert, für jeden Monat ein Bit */\n seasonSelection: Array;\n}\n\n/** Definiert das ViewModel für die vollen Daten für einen Fall\n * @interface\n */\nexport interface ICaseFullDataViewModel {\n /** Liefert oder definiert die Klassifikation des Falles.\n * @remarks Diese Angabe ist read-only, die Klassifikation wird beim Erstellen des Falles aus Angaben von SBER bestimmt.\n */\n caseClassificationCd: number;\n\n /** Liefert oder definiert die Fall-Id\n * @remarks Diese Angabe ist read-only, der Wert wird einmalig beim Erstellen des Falles festgelegt.\n * */\n caseId: bigint;\n\n /** Liefert oder definiert den Namen des Falls\n * @remarks Dies entspricht dem Namen der befragten Unternehmung oder dem Name der befragten Unternehmens-Gruppe.\n * Diese Angabe ist read-only, der Wert wird einmalig beim Erstellen des Falles festgelegt. Diese Angabe ist nur zur Information für den Benutzer.\n */\n caseName: string;\n\n /** Liefert oder definiert den den aktuellen Wizard step.\n */\n caseStepInfo: ICaseStepInfoViewModel;\n\n /** Die UID des Father-Unternehmen für diesen Fall\n * */\n caseUid: string;\n\n /** Liefert oder definiert die Kontaktdaten welche zum Unternehmen des bearbeiteten Falles gehören.\n */\n generalEnterpriseContactDataObject: ICaseContactDataViewModel;\n\n /** DataSetDataObject */\n userDataSet: IDataSetDataObject;\n}\n\n/** Implementiert das ViewModel für die vollen Daten für einen Fall\n */\nexport class CaseFullDataViewModel implements ICaseFullDataViewModel {\n /** @constructor */\n constructor() {\n this.caseClassificationCd = null;\n this.caseId = null;\n this.caseName = '';\n this.caseStepInfo = new CaseStepInfoViewModel(0, 0);\n this.caseUid = '';\n this.generalEnterpriseContactDataObject = new CaseContactDataViewModel();\n this.sumFullTimeEquivalent = null;\n this.userDataSet = new DataSetDataObject();\n }\n\n /** Liefert oder definiert die Klassifikation des Falles.\n * @remarks Diese Angabe ist read-only, die Klassifikation wird beim Erstellen des Falles aus Angaben von SBER bestimmt.\n */\n caseClassificationCd: number;\n\n /** Liefert oder definiert die Fall-Id\n * @remarks Diese Angabe ist read-only, der Wert wird einmalig beim Erstellen des Falles festgelegt.\n * */\n caseId: bigint;\n\n /** Liefert oder definiert den Namen des Falls\n * @remarks Dies entspricht dem Namen der befragten Unternehmung oder dem Name der befragten Unternehmens-Gruppe.\n * Diese Angabe ist read-only, der Wert wird einmalig beim Erstellen des Falles festgelegt. Diese Angabe ist nur zur Information für den Benutzer.\n */\n caseName: string;\n\n /** Liefert oder definiert den den aktuellen Wizard step.\n */\n caseStepInfo: ICaseStepInfoViewModel;\n\n /** Die UID des Father-Unternehmen für diesen Fall\n * */\n caseUid: string;\n\n /** Liefert oder definiert die Kontaktdaten welche zum Unternehmen des bearbeiteten Falles gehören.\n */\n generalEnterpriseContactDataObject: ICaseContactDataViewModel;\n\n /** @inheritdoc */\n userDataSet: IDataSetDataObject;\n\n /** @inheritdoc */\n sumFullTimeEquivalent: number;\n}\n","import { MutationTree } from 'vuex';\nimport {\n ICaseFullDataViewModel,\n CaseFullDataViewModel,\n ICaseContactDataViewModel,\n IValidationErrorViewModel,\n CaseApprovalDto,\n ICaseStepInfoViewModel\n} from '@/api-viewmodel';\nimport { IEntryState } from './state';\n\n/** Weist die vollen Falldaten zu\n * @remarks Aktualisiert den gesamten \"caseFullData\" Zustand.*/\nexport const MAPCASEFULLDATA = 'mapCaseFullData';\n\n/** Weist die Kontakt-Daten eines Falls zu */\nexport const MAPCASECONTACTDATA = 'mapCaseContactData';\n\n/** Weist die Validations-Meldungen eines Falls zu */\nexport const MAPCASEVALIDATIONMESSAGES = 'mapCaseValidationMessages';\n\n/** Weist eine (aktualisierte) Step-Info einem Falls zu\n * @remarks Die Step-Info ist ein Subset der vollen Fall-Daten\n */\nexport const MAPCASESTEPINFO = 'mapCaseStepInfo';\n\n/** Entfernt die bisherigen Daten eines Falles, in dem den Falldaten null zugewiesen wird\n * @remarks Aktualisiert alle entsprechenden Teile Zustandes.\n */\nexport const WIPECASEDATA = 'wipeCaseData';\n\nexport const mutations: MutationTree = {\n [MAPCASEFULLDATA](state, value: ICaseFullDataViewModel) {\n state.caseFullData = value;\n },\n [MAPCASECONTACTDATA](state, value: ICaseContactDataViewModel) {\n state.caseFullData.generalEnterpriseContactDataObject = value;\n },\n\n [MAPCASESTEPINFO](state, value: ICaseStepInfoViewModel) {\n state.caseFullData.caseStepInfo = value;\n },\n\n /** Übernimmt die Validierungsmeldungen\n * @remarks Zweifache Slashes werden '//' als Zeilenumbruch interpretiert\n */\n [MAPCASEVALIDATIONMESSAGES](state, value: IValidationErrorViewModel) {\n if (value.errorMessages) {\n //Die (einzige) Meldung mit leerem Key übernehmen.\n const validationMessage = value.errorMessages[''][0];\n\n //Enthaltene Einzel-Meldungen aufteilen und übernehmen\n const brokenValidationMessage = validationMessage.replace(/\\/\\//g, '
');\n const validationLines = brokenValidationMessage.split('
');\n state.caseValidationMessages = validationLines;\n } else {\n //Keine Validierungsmeldungen\n state.caseValidationMessages = null;\n }\n },\n [WIPECASEDATA](state) {\n console.debug('WIPECASEDATA');\n\n //Ursprungszustand wiederherstellen\n state.caseValidationMessages = null;\n state.caseFullData = new CaseFullDataViewModel();\n state.caseApproval = new CaseApprovalDto();\n }\n};\n","import {\n ICaseFullDataViewModel,\n ICaseContactDataViewModel,\n ICaseApprovalDto,\n ICaseStepInfoViewModel,\n IEnterpriseUnitDataObject,\n ILocalUnitDataObject,\n IActivityDataObject\n} from '@/api-viewmodel';\nimport { IEntryService } from './IEntryService';\nimport BaseService, { axiosCancelToken } from '@/services/baseService';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\n\n/**\n * Implementiert den Service für Aktionen (im Entry-Wizard) auf einem Fall\n * @class\n * @implements {IEntryService}\n */\nexport class EntryService extends BaseService implements IEntryService {\n private ENTRY_URL: string;\n constructor() {\n super();\n this.ENTRY_URL = `${this.BASE_URL}/entry`;\n }\n\n /**\n * Holt die vollen Daten zum angegebenen Fall oder, falls ein Externen Benutzer den Fall bearbeitet, zum zugeordneten Fall.\n * @param {bigint} caseId - Die Id des Falles oder null, falls ein Externen Benutzer den Fall bearbeitet\n */\n async getCaseFullData(caseId: bigint): Promise> {\n console.debug('getCaseFullData for caseId:=' + caseId);\n if (caseId) {\n return super\n .GETbyId>(`${this.ENTRY_URL}/casefulldata`, caseId)\n .then((response: AxiosResponse) => {\n return response;\n });\n } else {\n return super\n .GET>(`${this.ENTRY_URL}/casefulldata`)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n }\n\n /**\n * Holt die Validations-Meldungen zum angegebenen Fall\n * @remarks Der API-Call behandelt selbständing den allfälligen \"422 Unprocessable Entity\"-Status bei vorhandenen Validierungsfehlern\n * und liefert in diesem Fall die Validierungs-Meldungen zurück.\n * @param {bigint} caseId - Die Id des Falles\n * @devdoc Die Verwendung eines HTTP-Status-Codes anders als 200 bei fehlschlagender Validierung wurde gewählt, um die Validierung hier\n * analog der Validierung beim Abschluss des Falles zu handhaben.\n */\n getCaseValidationMessages(caseId: bigint): Promise> {\n console.debug('getCaseValidationMessages for caseId:=' + caseId);\n\n return super\n .GETbyId>(\n `${this.ENTRY_URL}/ValidateCase`,\n caseId,\n this.getPostConfigToAcceptUnprocessableEntity()\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Versendet die Kontakt-Daten zum angegebenen Fall\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {ICaseContactDataViewModel} params.data - Die Kontaktdaten des Falles\n * @returns Die aktualisierten Kontakt-Daten\n * @devdoc Die aktualisierten Daten werden von der API zurückgeliefert,\n * um allfällig serverseitig erfolgte Änderungen auf den Client übernehmen zu können\n */\n submitCaseContactData(params: {\n caseId: bigint;\n data: ICaseContactDataViewModel;\n }): Promise> {\n console.debug('submitCaseContactData for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/casecontactdata`,\n params.caseId,\n params.data\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Versendet die Daten einer Unternehmung zum angegebenen Fall\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {IEnterpriseUnitDataObject} params.data - Die Daten der Unternehmnung\n * @returns CaseFullData(EntryWizardCacheObject) oder Fehler\n * @devdoc Die aktualisierten Daten werden von der API zurückgeliefert, um allfällig serverseitig erfolgte Änderungen auf den Client übernehmen zu können\n * @devdoc Um den Transfer von unnötigen Daten zu vermeiden, werden die referenzierten Objekte nicht übermittelt.\n */\n submitEnterpriseUnitData(params: {\n caseId: bigint;\n data: IEnterpriseUnitDataObject;\n }): Promise> {\n console.debug('submitEnterpriseUnitData for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/UpdateEnterpriseUnit`,\n params.caseId,\n this.primitiveClone(params.data)\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Versendet die Tätigkeits-Daten einer Arbeitsstätte zum angegebenen Fall\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {IActivityDataObject} params.data - Die Aktivitätsdaten\n * @returns CaseFullData(EntryWizardCacheObject) oder Fehler\n * @devdoc Die aktualisierten Daten werden von der API zurückgeliefert, um allfällig serverseitig erfolgte Änderungen auf den Client übernehmen zu können\n * @devdoc Für die Aktivitätsdaten ist im Gegensatz zu anderen Objekten keine spezielle Behandlung nötig, da keine weiteren Objekte referenziert werden.\n */\n submitLocalUnitActivityData(params: {\n caseId: bigint;\n data: IActivityDataObject;\n }): Promise> {\n console.debug('submitLocalUnitActivityData for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/UpdateLocalUnitActivity`,\n params.caseId,\n params.data\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Versendet die Adress-Daten einer Arbeitsstätte zum angegebenen Fall\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {ILocalUnitDataObject} params.data - Die Daten der Arbeitsstätte (es werden nur die Adressdaten weiterverarbeitet)\n * @remarks Enthält auch die ActivityDescription und den NOGA Code\n * @returns CaseFullData(EntryWizardCacheObject) oder Fehler\n * @devdoc Die aktualisierten Daten werden von der API zurückgeliefert, um allfällig serverseitig erfolgte Änderungen auf den Client übernehmen zu können\n * @devdoc Um den Transfer von unnötigen Daten zu vermeiden, werden die referenzierten Objekte nicht übermittelt.\n */\n submitLocalUnitAddressData(params: {\n caseId: bigint;\n data: ILocalUnitDataObject;\n }): Promise> {\n console.debug('submitLocalUnitAddressData for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/UpdateLocalUnitAddress`,\n params.caseId,\n this.primitiveClone(params.data)\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Versendet die Census-Daten einer Arbeitsstätte zum angegebenen Fall\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {ILocalUnitDataObject} params.data - Die Daten der Arbeitsstätte (es werden nur die Census-Daten weiterverarbeitet)\n * @returns CaseFullData(EntryWizardCacheObject) oder Fehler\n * @devdoc Die aktualisierten Daten werden von der API zurückgeliefert, um allfällig serverseitig erfolgte Änderungen auf den Client übernehmen zu können\n * @devdoc Um den Transfer von unnötigen Daten zu vermeiden, werden die referenzierten Objekte nicht übermittelt.\n */\n submitLocalUnitCensusData(params: {\n caseId: bigint;\n data: ILocalUnitDataObject;\n }): Promise> {\n console.debug('submitLocalUnitCensusData for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/UpdateLocalUnitCensus`,\n params.caseId,\n this.primitiveClone(params.data)\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * Versendet die aktuelle StepInfo zum angegebenen Fall\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {IStepInfoViewModel} params.data - Die aktuelle StepInfo zum Fall\n * @returns Nur einen HTTP-Statuscode ohne Inhalt\n * @devdoc Um den Netzwerk-Traffic klein zu halten, liefert dieser Aufruf ausser dem Status-Code keinen Inhalt zurück.\n * Ein allfällig gewünschtes Update der Falldaten muss explizit mit dem entsprechende API-Call geholt werden.\n */\n async submitStepInfo(params: { caseId: bigint; data: ICaseStepInfoViewModel }): Promise {\n console.debug(\n 'EntryService::submitStepInfo::caseId:=' + params.caseId + ';ICaseStepInfoViewModel:=',\n params.data\n );\n\n return super\n .POSTbyId(\n `${this.ENTRY_URL}/UpdateStepInfo`,\n params.caseId,\n params.data\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** AXIOS Request-Config, welche auch einen \"422 Unprocessable Entity\"-Status akzeptiert.\n * @remarks Dieser Fall kann für die Valdierung verwendet werden,\n * wo ein \"422 Unprocessable Entity\"-Status als mögliche Antwort erwartet wird.\n */\n private getPostConfigToAcceptUnprocessableEntity(): AxiosRequestConfig {\n const config = super.getPostConfig();\n\n console.debug(config);\n\n /** OK oder \"422 Unprocessable Entity\" aktzeptieren */\n config.validateStatus = function(status) {\n return (status >= 200 && status < 300) || status === 422;\n };\n return config;\n }\n\n /**\n * Versendet die Daten zum Abschluss des angegebenen Falles\n * @remarks Damit wird der Fall für den externen Benutzer definitiv abgeschlossen.\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {ICaseApprovalDto} params.data - Die Daten zum Abschluss des Falles\n * @returns HTTP Status OK, wenn der Abschluss erfolgreich war\n */\n submitCaseApprovalData(params: { caseId: bigint; data: ICaseApprovalDto }): Promise {\n console.debug('submitCaseApprovalData for caseId:=' + params.caseId);\n\n return super\n .POSTbyId(`${this.ENTRY_URL}/ApproveCase`, params.caseId, params.data)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Verschiebt eine LocalUnit an eine andere Stelle in der Struktur, wobei das neue Parent eine LocalUnit innerhalb des gleichen Unternehmens ist.\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {number} params.localUnitId - Die LocalUnitId der bearbeiteten LocalUnit\n * @param {number} params.parentLocalUnit - Die LocalUnitId des neuen Parents.\n * @returns CaseFullData(EntryWizardCacheObject) oder Fehler\n */\n moveToParentLocalUnit(params: {\n caseId: bigint;\n localUnitId: number;\n parentLocalUnitId: number;\n }): Promise> {\n console.debug('moveToParentLocalUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/moveToParentLocalUnit`,\n params.caseId,\n {\n localUnitId: params.localUnitId,\n parentLocalUnitId: params.parentLocalUnitId\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Verschiebt eine LocalUnit an eine andere Stelle in der Struktur, wobei das neue Parent direkt die EnterpriseUnit (Root des gleichen Unternehmens) ist.\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {number} params.localUnitId - Die LocalUnitId der bearbeiteten LocalUnit\n * @param {number} params.parentEnterpriseUnitId - Die EnterpriseUnitId des neuen Parents.\n * @returns CaseFullData(EntryWizardCacheObject) oder Fehler\n */\n moveToParentEnterpriseUnit(params: {\n caseId: bigint;\n localUnitId: number;\n parentEnterpriseUnitId: number;\n }): Promise> {\n console.debug('moveToParentEnterpriseUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/moveToParentEnterpriseUnit`,\n params.caseId,\n {\n localUnitId: params.localUnitId,\n parentEnterpriseUnitId: params.parentEnterpriseUnitId\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Verschiebt eine LocalUnit (inkl. deren Hierarchie-Trail) an eine andere Stelle in der Struktur, wobei das neue Parent eine andere EnterpriseUnit als die bisherige ist (Transfer in ein anderes Unternehmens).\n * Das Ziel des Transfers ist immer direkt eine EnterpriseUnit.\n * @param {bigint} params.caseId - Die Id des Falles\n * @param {number} params.localUnitId - Die LocalUnitId der bearbeiteten LocalUnit\n * @param {number} params.destinationEnterpriseUnitId - Die EnterpriseUnitId des Ziels.\n * @returns CaseFullData(EntryWizardCacheObject) oder Fehler\n */\n transferLocalUnit(params: {\n caseId: bigint;\n localUnitId: number;\n destinationEnterpriseUnitId: number;\n }): Promise> {\n console.debug('transferLocalUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/transferLocalUnit`,\n params.caseId,\n {\n localUnitId: params.localUnitId,\n destinationEnterpriseUnitId: params.destinationEnterpriseUnitId\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Die initiale Struktur wiederherstellen\n * @param {bigint} params.caseId - Die Id des Falles\n */\n resetStructure(params: { caseId: bigint }): Promise> {\n console.debug('resetStructure for caseId:=' + params.caseId);\n\n return super\n .GETbyId>(`${this.ENTRY_URL}/resetStructure`, params.caseId, null)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Neues Unternehmen erstellen: Erzeugt eine neue EnterpriseUnit sowie eine zugehörige LocalUnit mit den leeren Werten. Die LocalUnit ist automatisch \"Headquarter\"\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n */\n createEnterpriseUnit(params: { caseId: bigint }): Promise> {\n console.debug('createEnterpriseUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/createEnterpriseUnit`,\n params.caseId,\n null\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Neue Arbeitsstätte erstellen: Erstellt eine neue LocalUnit, mit leeren Angaben, zur angegebenen EnterpriseUnit.\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n * @param {number} params.enterpriseUnitId - Id der zu referenzierenden EnterpriseUnit\n */\n createLocalUnit(params: {\n caseId: bigint;\n enterpriseUnitId: number;\n }): Promise> {\n console.debug('createLocalUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(`${this.ENTRY_URL}/createLocalUnit`, params.caseId, {\n enterpriseUnitId: params.enterpriseUnitId\n })\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Reaktiviert die LocalUnit mit der übergebenen Id.\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n * @param {bigint} params.localUnitId - Id der LocalUnit welche reaktiviert werden soll\n */\n reactivateLocalUnit(params: {\n caseId: bigint;\n localUnitId: number;\n }): Promise> {\n console.debug('reactivateLocalUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/ReactivateLocalUnit`,\n params.caseId,\n {\n localUnitId: params.localUnitId\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Deaktiviert die LocalUnit mit der übergebenen Id.\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n * @param {bigint} params.localUnitId - Id der LocalUnit welche deaktiviert werden soll\n * @param {bigint} params.deactivationReasonText - Begründung (in Prosa) für die Deaktivierung\n */\n deactivateLocalUnit(params: {\n caseId: bigint;\n localUnitId: number;\n deactivationReasonText: string;\n }): Promise> {\n console.debug('deactivateLocalUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/deactivateLocalUnit`,\n params.caseId,\n {\n localUnitId: params.localUnitId,\n deactivationReasonText: params.deactivationReasonText\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Löscht die LocalUnit mit der übergebenen Id. Ist die LocalUnit im Status neu, so wird sie definitiv gelöscht. Ansonsten in den Status \"Gelöscht\"\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n * @param {bigint} params.localUnitId - Id der LocalUnit welche deaktiviert werden soll\n * @param {bigint} params.deleteReasonText - Begründung (in Prosa) für die Löschung\n * @param {bigint} params.deleteReason - Der Löschgrund\n */\n deleteLocalUnit(params: { caseId: bigint; localUnitId: number; deleteReasonText: string; deleteReason: number }) {\n console.debug('deleteLocalUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(`${this.ENTRY_URL}/deleteLocalUnit`, params.caseId, {\n localUnitId: params.localUnitId,\n deleteReasonText: params.deleteReasonText,\n deleteReason: params.deleteReason\n })\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Fusioniert die beiden EnterpriseUnits mit den angegebenen Ids. Dabei werden die Arbeitsstätten von der\n * Quell-EnterpriseUnit an die Destination-EnterpriseUnit umgehängt.\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n * @param {number} params.sourceEnterpriseUnitId - Die Id der Quell-EnterpriseUnit\n * @param {number} params.destinationEnterpriseUnitId - Die Id der Ziel-EnterpriseUnit\n */\n fusionEnterpriseUnit(params: {\n caseId: bigint;\n sourceEnterpriseUnitId: number;\n destinationEnterpriseUnitId: number;\n }) {\n console.debug('fusionEnterpriseUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/fusionEnterpriseUnit`,\n params.caseId,\n {\n sourceEnterpriseUnitId: params.sourceEnterpriseUnitId,\n destinationEnterpriseUnitId: params.destinationEnterpriseUnitId\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Reaktiviert die EnterpriseUnit mit der übergebenen Id, indem deren Status auf Changed gesetzt wird.\n * Eventuell zugehörige LocalUnits werden ebenfalls aktiviert.\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n * @param {number} params.enterpriseUnitId - ID der EnterpriseUnit welche reaktiviert werden soll\n */\n reactivateEnterpriseUnitWithLocals(params: { caseId: bigint; enterpriseUnitId: number }) {\n console.debug('reactivateEnterpriseUnitWithLocals for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/ReactivateEnterpriseUnitWithLocals`,\n params.caseId,\n {\n enterpriseUnitId: params.enterpriseUnitId\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Reaktiviert die EnterpriseUnit mit der übergebenen Id, indem deren Status auf Changed gesetzt wird.\n * Eventuell zugehörige LocalUnits werden nicht bearbeitet.\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n * @param {number} params.enterpriseUnitId - ID der EnterpriseUnit welche reaktiviert werden soll\n */\n reactivateEnterpriseUnitOnly(params: { caseId: bigint; enterpriseUnitId: number }) {\n console.debug('reactivateEnterpriseUnitOnly for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/ReactivateEnterpriseUnitOnly`,\n params.caseId,\n {\n enterpriseUnitId: params.enterpriseUnitId\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Löscht die EnterpriseUnit mit der angegebenen Id, inklusive deren zugehörigen LocalUnits.\n * @param {bigint} params.caseId - Die Id des betreffenden Falles (zwingend, unabhängig von der Rolle des Benutzers)\n * @param {number} params.enterpriseUnitId - Id der zu löschenden EnterpriseUnit\n * @param {bigint} params.deleteReasonText - Begründung (in Prosa) für die Löschung (wird auch für die enthaltenen Local Units verwendet)\n * @param {number} params.deleteReason - Der Löschgrund (wird auch für die enthaltenen Local Units verwendet)\n */\n deleteEnterpriseUnit(params: {\n caseId: bigint;\n enterpriseUnitId: number;\n deleteReasonText: string;\n deleteReason: number;\n }) {\n console.debug('deleteEnterpriseUnit for caseId:=' + params.caseId);\n\n return super\n .POSTbyId>(\n `${this.ENTRY_URL}/deleteEnterpriseUnit`,\n params.caseId,\n {\n enterpriseUnitId: params.enterpriseUnitId,\n deleteReasonText: params.deleteReasonText,\n deleteReason: params.deleteReason\n }\n )\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /** Erstellt einen shallow Clone, ohne referenzierte Objekte (bzw. nur mit den primitven Typen befüllt)\n * @remarks Kann für das Versenden von DTO's ohne Objekt-Referenzen verwendet werden\n * @devdoc shallow copy, dann Objekt-Referenzen explizit entfernen\n */\n private primitiveClone(source: T): T {\n const dto = Object.assign({}, source);\n for (const key in dto) {\n if (typeof dto[key] === 'object') {\n dto[key] = null;\n }\n }\n return dto;\n }\n}\n\nexport const entryService = new EntryService();\n","import { MutationTree } from 'vuex';\nimport { ISaveIndicationState } from './state';\n\nexport const SET_ACTIVE = 'SET_ACTIVE';\nexport const SET_INACTIVE = 'SET_INACTIVE';\n\nexport const mutations: MutationTree = {\n /** Legt den aktiven Zustand fest\n */ [SET_ACTIVE]: state => {\n state.active = true;\n },\n /** Legt den inaktiven Zustand fest\n */ [SET_INACTIVE]: state => {\n state.active = false;\n }\n};\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { ISaveIndicationState } from './state';\n\nimport { SET_ACTIVE, SET_INACTIVE } from './mutations';\n\nexport const ACTIVATE = 'activate';\nexport const DEACTIVATE = 'deactivate';\n\nexport const actions: ActionTree = {\n async [ACTIVATE]({ commit }: any) {\n commit(SET_ACTIVE);\n },\n async [DEACTIVATE]({ commit }: any) {\n commit(SET_INACTIVE);\n }\n};\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { delay } from 'lodash';\nimport i18n from '@/plugins/i18n';\nimport { IEntryState, state } from './state';\nimport { entryService } from '../services/EntryService';\nimport { SHOW, HIDE } from '@/store/modules/loadingSpinner/actions';\nimport { NEW_SUCESS, NEW_ALERT } from '@/store/modules/headerNotification/actions';\nimport { ACTIVATE, DEACTIVATE } from '@/store/modules/saveIndicator/actions';\n\nimport {\n MAPCASEFULLDATA,\n MAPCASEVALIDATIONMESSAGES,\n MAPCASECONTACTDATA,\n MAPCASESTEPINFO,\n WIPECASEDATA\n} from './mutations';\nimport {\n ICaseApprovalDto,\n ICaseContactDataViewModel,\n ICaseStepInfoViewModel,\n IEnterpriseUnitDataObject,\n ILocalUnitDataObject,\n IActivityDataObject\n} from '@/api-viewmodel';\n\n/** Die Zeit, die gewartet wird, bevor eine server-Seitige Validierungsanfrage abgesetzt wird.\n * @devdoc Idealerweise die Zeit, die Axios für einen allfällig vorher abgesetzten Update-Request verwendet wird.\n * Hier, aktuell, empirisch festgelegt.\n */\nconst serverValidationDeferralTimeMilliseconds = 1500;\n\n/** Pfad zu der Loading-Spinner-Komponente */\nconst LOADING_SPINNER = 'loadingSpinner/';\n\n/** Pfad zu der Save-Indicator-Komponente */\nconst SAVE_INDICATOR = 'saveIndicator/';\n\n/** Pfad zu der Header-Notification-Komponente */\nconst HEADER_NOTIFICATION = 'headerNotification/';\n\n/** Bearbeiten einer EnterpriseUnit */\nexport const SUBMIT_ENTERPRISE_UNIT_DATA = 'SUBMIT_ENTERPRISE_UNIT_DATA';\n\n/** Bearbeiten der Adress-Daten einer LocalUnit\n * @remarks Enthält auch die ActivityDescription und den NOGA Code\n */\nexport const SUBMIT_LOCAL_UNIT_ADDRESS_DATA = 'SUBMIT_LOCAL_UNIT_ADDRESS_DATA';\n\n/** Bearbeiten der Tätigkeits-Daten einer LocalUnit */\nexport const SUBMIT_LOCAL_UNIT_ACTIVITY_DATA = 'SUBMIT_LOCAL_UNIT_ACTIVITY_DATA';\n\n/** Bearbeiten der Census-Daten einer LocalUnit */\nexport const SUBMIT_LOCAL_UNIT_CENSUS_DATA = 'SUBMIT_LOCAL_UNIT_CENSUS_DATA';\n\n/** Holt die aktuellen vollen Daten für den zu bearbeitenden Fall in den State */\nexport const GET_CASE_FULL_DATA = 'GET_CASE_FULL_DATA';\n\n/** Holt die Validations-Meldungen für den zu bearbeitenden Fall in den State */\nexport const GET_CASE_VALIDATION_MESSAGES = 'GET_CASE_VALIDATION_MESSAGES';\n\n/** Eingaben bestätigen und den Fall im Entry-Wizard abschliessen\n * @remarks Übermittelt die explizite Zustimmung des Benutzers und die allfällige E-Mail-Adresse für die nächste Befragung.\n */\nexport const SUBMIT_CASE_APPROVAL = 'SUBMIT_CASE_APPROVAL';\n\n/** Den aktuellen Step auf dem Fall (für die spätere Verwendung als Einstiegspunkt) speichern\n */\nexport const SUBMIT_CASE_STEPINFO = 'SUBMIT_CASE_STEPINFO';\n\n/** Versendet die bearbeiteten Kontakt-Daten für den zu bearbeitenden Fall an das Backend */\nexport const SUBMIT_CASE_CONTACT_DATA = 'SUBMIT_CASE_CONTACT_DATA';\n\n/** Entfernt die Case-Daten für den zu bearbeitenden Fall aus dem State\n * @remarks Muss ausgeführt werden, wenn der Eingabe-Wizard verlassen wird, oder aus einem anderen Grund kein Fall oder ein anderer Fall bearbeitet wird\n */\nexport const REMOVE_CASE_DATA = 'REMOVE_CASE_DATA';\n\nexport const actions: ActionTree = {\n /** Holt die vollen Daten zum Fall.\n * @remarks Für einen BFS-Benutzer ist die Verwendung einer CaseId zwingend, da diese grundsätzlich alle Fälle bearbeiten können.\n * Für einen externen Benutzer ist die Verwendung einer CaseId nicht valide, da diese nur den mit ihrem Account verbundenen Fall bearbeiten dürfen.\n * @param CaseId CaseId des zu bearbeitenden Falles,\n * oder leer wenn es sich um einen externen Benutzer handelt. */\n [GET_CASE_FULL_DATA]({ dispatch, commit }: any, caseId: bigint) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n console.debug('GET_CASE_FULL_DATA for caseId:=' + caseId);\n\n //Aktion durchführen und Resultat zuweisen\n entryService\n .getCaseFullData(caseId)\n .then(response => {\n commit(MAPCASEFULLDATA, response.data);\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n },\n\n [GET_CASE_VALIDATION_MESSAGES]({ dispatch, commit }: any, caseId: bigint) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n console.debug('GET_CASE_VALIDATION for caseId:=' + caseId);\n\n //Aktion durchführen und Resultat zuweisen\n //Hier wird ein Delay verwendet, um möglichst sicherzustellen, dass vorangegangene Update-Requests (e.g. Census-Updates) schon vom Server verarbeitet wurden\n //Ansonsten führt der Server die Validierungsfunktion mit veralteten Daten aus\n delay(function() {\n entryService\n .getCaseValidationMessages(caseId)\n .then(response => {\n commit(MAPCASEVALIDATIONMESSAGES, response.data);\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n }, serverValidationDeferralTimeMilliseconds);\n },\n [SUBMIT_CASE_CONTACT_DATA]({ dispatch, commit }: any, params: { caseId: bigint; data: ICaseContactDataViewModel }) {\n //Für diese Zwischenspeicherung während der Dateneingabe wird auf den Spinner verzichtet, um die sofortige Weiterarbeit im Wizard zu ermöglichen\n dispatch(SAVE_INDICATOR + ACTIVATE, {}, { root: true });\n\n //Aktion als Roundtrip mit anschliessender Datenübernahme durchführen\n entryService\n .submitCaseContactData(params)\n .then(response => {\n commit(MAPCASECONTACTDATA, response.data);\n })\n .then(() => {\n dispatch(SAVE_INDICATOR + DEACTIVATE, {}, { root: true });\n });\n },\n [SUBMIT_CASE_APPROVAL](\n { dispatch, commit }: any,\n params: { caseId: bigint; data: ICaseApprovalDto; onSuccess: Function }\n ) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion als Roundtrip mit anschliessender Daten-Entfernung durchführen\n entryService\n .submitCaseApprovalData(params)\n .then(response => {\n //Nur wenn der Fall erfolgreich abgeschlossen wurde, Daten entfernen und Logout\n if (response.status === 200) {\n commit(WIPECASEDATA);\n dispatch(\n HEADER_NOTIFICATION + NEW_SUCESS,\n { text: i18n.t('allg_transfer_success') },\n { root: true }\n );\n params.onSuccess();\n }\n //Ansonsten, ausser der angezeigten Fehlermeldung, nichts tun um die weitere Bearbeitung des Falles zu ermöglichen\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n },\n\n [SUBMIT_CASE_STEPINFO]({ dispatch, commit }: any, params: { caseId: bigint; data: ICaseStepInfoViewModel }) {\n //Für diese Zwischenspeicherung während der Dateneingabe wird auf den Spinner verzichtet, um die sofortige Weiterarbeit im Wizard zu ermöglichen\n dispatch(SAVE_INDICATOR + ACTIVATE, {}, { root: true });\n entryService\n .submitStepInfo(params)\n .then(response => {\n commit(MAPCASESTEPINFO, response.data);\n })\n .then(() => {\n dispatch(SAVE_INDICATOR + DEACTIVATE, {}, { root: true });\n });\n },\n\n [SUBMIT_ENTERPRISE_UNIT_DATA](\n { dispatch, commit }: any,\n params: { caseId: bigint; data: IEnterpriseUnitDataObject }\n ) {\n //Für diese Zwischenspeicherung während der Dateneingabe wird auf den Spinner verzichtet, um die sofortige Weiterarbeit im Wizard zu ermöglichen\n dispatch(SAVE_INDICATOR + ACTIVATE, {}, { root: true });\n entryService\n .submitEnterpriseUnitData(params)\n .then(response => {\n commit(MAPCASEFULLDATA, response.data);\n })\n .then(() => {\n dispatch(SAVE_INDICATOR + DEACTIVATE, {}, { root: true });\n });\n },\n [SUBMIT_LOCAL_UNIT_ACTIVITY_DATA](\n { dispatch, commit }: any,\n params: { caseId: bigint; data: IActivityDataObject }\n ) {\n //Für diese Zwischenspeicherung während der Dateneingabe wird auf den Spinner verzichtet, um die sofortige Weiterarbeit im Wizard zu ermöglichen\n dispatch(SAVE_INDICATOR + ACTIVATE, {}, { root: true });\n\n entryService\n .submitLocalUnitActivityData(params)\n .then(response => {\n commit(MAPCASEFULLDATA, response.data);\n })\n .then(() => {\n dispatch(SAVE_INDICATOR + DEACTIVATE, {}, { root: true });\n });\n },\n [SUBMIT_LOCAL_UNIT_ADDRESS_DATA](\n { dispatch, commit }: any,\n params: { caseId: bigint; data: ILocalUnitDataObject }\n ) {\n //Für diese Zwischenspeicherung während der Dateneingabe wird auf den Spinner verzichtet, um die sofortige Weiterarbeit im Wizard zu ermöglichen\n dispatch(SAVE_INDICATOR + ACTIVATE, {}, { root: true });\n\n entryService\n .submitLocalUnitAddressData(params)\n .then(response => {\n commit(MAPCASEFULLDATA, response.data);\n })\n .then(() => {\n dispatch(SAVE_INDICATOR + DEACTIVATE, {}, { root: true });\n });\n },\n\n [SUBMIT_LOCAL_UNIT_CENSUS_DATA]({ dispatch, commit }: any, params: { caseId: bigint; data: ILocalUnitDataObject }) {\n //Für diese Zwischenspeicherung während der Dateneingabe wird auf den Spinner verzichtet, um die sofortige Weiterarbeit im Wizard zu ermöglichen\n dispatch(SAVE_INDICATOR + ACTIVATE, {}, { root: true });\n\n entryService\n .submitLocalUnitCensusData(params)\n .then(response => {\n commit(MAPCASEFULLDATA, response.data);\n })\n .then(() => {\n dispatch(SAVE_INDICATOR + DEACTIVATE, {}, { root: true });\n });\n },\n [REMOVE_CASE_DATA]({ dispatch, commit }: any) {\n commit(WIPECASEDATA);\n }\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { IEntryState } from './state';\n\n/** Liefert die Id des aktuell im Entry-Wizard bearbeiteten Falles oder null, wenn kein Fall bearbeitet wird. */\nexport const CASE_ID = 'caseId';\n\n/** Liefert die Unternehmen des aktuell im Entry-Wizard bearbeiteten Falles oder null, wenn kein Fall bearbeitet wird. */\nexport const CASE_ENTERPRISE_UNITS = 'caseEnterpriseUnits';\n\n/** Liefert die UID (des Father-Unternehmens) des aktuell im Entry-Wizard bearbeiteten Falles oder null, wenn kein Fall bearbeitet wird. */\nexport const CASE_UID = 'caseUid';\n\n/** Liefert den Namen des Falls des aktuell im Entry-Wizard bearbeiteten Falles oder null, wenn kein Fall bearbeitet wird.\n * @remarks Dies entspricht dem Namen der befragten Unternehmung oder dem Name der befragten Unternehmens-Gruppe.\n */\nexport const CASE_NAME = 'caseName';\n\n/** Liefert aktuelle StepInfo für den aktuell im Entry-Wizard bearbeiteten Falles */\nexport const CASE_STEPINFO = 'caseStepInfo';\n\n/** Liefert die Kontaktdaten zu einem Fall\n * @remarks Die Kontaktdaten sind ein Subset der vollen Daten zu einem Fall.\n */\nexport const CASE_CONTACT_DATA = 'caseContactData';\n\n/** Liefert die (server-seitigen) Validierungs-Meldungen zu einem Fall */\nexport const CASE_VALIDATION_MESSAGES = 'caseValidationMessages';\n\n/** Liefert die vollen Daten zu einem Fall */\nexport const CASE_FULL_DATA = 'caseFullData';\n\n/** Liefert die Angaben zur Zustimmung zum Abschluss eines Falles */\nexport const CASE_APPROVAL = 'caseApproval';\n\n/** Liefert die zu bearbeitende Activity */\nexport const CASE_ACIVITY = 'caseActivity';\n\n/** Liefert die Angaben zur LocalUnit */\nexport const CASE_LOCAL_UNIT = 'caseLocalUnit';\n\n/** Liefert die Angaben zur EnterpriseUnit */\nexport const CASE_ENTERPRISE_UNIT = 'caseEnterpriseUnit';\n\nexport const getters: GetterTree = {\n [CASE_ID]: state => state.caseFullData?.caseId,\n [CASE_UID]: state => state.caseFullData?.caseUid,\n [CASE_NAME]: state => state.caseFullData?.caseName,\n [CASE_CONTACT_DATA]: state => state.caseFullData?.generalEnterpriseContactDataObject,\n [CASE_FULL_DATA]: state => state.caseFullData,\n [CASE_ENTERPRISE_UNITS]: state => state.caseFullData.userDataSet.enterpriseUnits,\n [CASE_APPROVAL]: state => state.caseApproval,\n [CASE_VALIDATION_MESSAGES]: state => state.caseValidationMessages,\n\n /** Liefert die typisierte StepInfo als ICaseStepInfoViewModel */\n [CASE_STEPINFO]: state => state.caseFullData.caseStepInfo,\n\n /**\n * In ERST kann nur eine EnterpriseUnit mit einer LocalUnit verarbeitet werden, deshalb wird hier fix die erste LU der ersten EU verwendet\n */\n [CASE_ACIVITY]: state => {\n return state.caseFullData.userDataSet.enterpriseUnits[0].localUnits[0].activity;\n },\n\n /**\n * In ERST kann nur eine EnterpriseUnit mit einer LocalUnit verarbeitet werden, deshalb wird hier fix die erste LU der ersten EU verwendet\n */\n [CASE_LOCAL_UNIT]: state => {\n return state.caseFullData.userDataSet.enterpriseUnits[0].localUnits[0];\n },\n\n /**\n * In ERST kann nur eine EnterpriseUnit mit einer LocalUnit verarbeitet werden, deshalb wird hier fix die erste EU verwendet\n */\n [CASE_ENTERPRISE_UNIT]: state => {\n return state.caseFullData.userDataSet.enterpriseUnits[0];\n }\n};\n","import { ICaseFullDataViewModel, CaseFullDataViewModel, CaseApprovalDto, ICaseApprovalDto } from '@/api-viewmodel';\n\n/** Definiert den Zustand für die Bearbeitung im Entry-Wizard\n * @interface\n */\nexport interface IEntryState {\n /** Die Validations-Meldungen zum aktuell bearbeiteten Fall\n * @remarks Diese Meldungen werden im Confirm-Step via API abgeholt\n */\n caseValidationMessages: string[];\n\n /**Die vollenDaten zum aktuell bearbeiteten Fall*/\n caseFullData: ICaseFullDataViewModel;\n\n /** Die Zustimmung zum Abschluss des Falles\n * @remarks Enthält auch die E-Mail-Adresse für den allfälligen nächsten Kontakt.\n */\n caseApproval: ICaseApprovalDto;\n}\n\n/** Stellt den Zustand für die Bearbeitung im Entry-Wizard zur Verfügung.\n */\nexport const state: IEntryState = {\n caseValidationMessages: null,\n caseFullData: new CaseFullDataViewModel(),\n caseApproval: new CaseApprovalDto()\n};\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { IEntryState, state } from './state';\n\nexport const NAME = 'entry';\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","import { IRootState } from \"@/store\";\nimport { ActionTree } from \"vuex\";\nimport { IAccountState } from \"./state\";\nimport i18n from \"@/plugins/i18n\";\nimport { accountService } from \"../services/AccountService\";\nimport {\n MAPUSERPROFILE,\n MAPCONTACTINFO,\n MAPSURVEYNAME,\n MAPREGISTRATIONRESULT,\n MAPISLOGGEDIN,\n} from \"./mutations\";\nimport { SHOW, HIDE } from \"@/store/modules/loadingSpinner/actions\";\nimport {\n NEW_SUCESS,\n NEW_ALERT,\n} from \"@/store/modules/headerNotification/actions\";\nimport { CredentialsDto, RegistrationDataViewModel } from \"@/api-viewmodel\";\nimport { WIPECASEDATA } from \"@/areas/entry/store/mutations\";\nimport { NAME as StoreNameEntry } from \"@/areas/entry/store\";\n\n/** Pfad zu der Loading-Spinner-Komponente */\nconst LOADING_SPINNER = \"loadingSpinner/\";\n\n/** Pfad zu der Header-Notification-Komponente */\nconst HEADER_NOTIFICATION = \"headerNotification/\";\n\n/** Pfad zu der Save-Indicator-Komponente */\nconst SAVE_INDICATOR = \"saveIndicator/\";\n\n/** Führt ein Login an der Anwendung mit den angegebenen Credentials aus. */\nexport const LOGIN = \"LOGIN\";\n\n/** Führt ein Check aus, ob der aktuelle User angemeldet ist und ermittelt gegebenenfalls die AccountInfo */\nexport const LOGEDIN_CHECK = \"LOGEDIN_CHECK\";\n\n/** Führt ein Logout an der Anwendung aus und entfernt anschliessend allfällig noch vorhandene Falldaten aus dem clientseitigen Store. */\nexport const LOGOUT = \"LOGOUT\";\n\n/** Führt eine Registrierung an der Anwendung aus. */\nexport const REGISTER = \"REGISTER\";\n\n/** Fordert eine erneute Registrierung an der Anwendung an (Passwort vergessen / Recovery). */\nexport const REQUEST_REGISTRATION = \"REQUEST_REGISTRATION\";\n\n/** Holt die Kontakt-Informationen */\nexport const GET_CONTACT_INFO = \"GET_CONTACT_INFO\";\n\n/** Holt Informationen zum User, wird zusätzlich verwendet um zu prüfen ob der User angemeldet ist */\nexport const GET_ACCOUNT_INFO = \"GET_ACCOUNT_INFO\";\n\n/** Liefert den Namen der zum AccessCode gehörenden Survey */\nexport const GET_ASSIGNED_SURVEY_NAME = \"GET_ASSIGNED_SURVEY_NAME\";\n\nexport const actions: ActionTree = {\n /**\n * Authentisiert den Benutzer mit den angegebenen Credentials und übergibt die erhaltene Authorisierungsinformation in den Anwendungszustand.\n * @param {string} credentials.username - Der zu verwendenden Benutzername.\n * @param {string} credentials.password - Das zu verwendende Password.\n */\n [LOGIN]({ dispatch, commit }: any, credentials: CredentialsDto) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion durchführen und Resultat zuweisen\n accountService\n .authenticate(credentials)\n .then((response) => {\n commit(MAPUSERPROFILE, response.data);\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n })\n .finally(() => {\n //Passwort aus Sicherheitsgründen wieder löschen\n credentials.password = \"\";\n });\n },\n [LOGOUT]({ dispatch, commit }: any) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion durchführen und Resultat zuweisen\n //Return von Promise damit anschliessend ein Routing vorgenommen werden kann (vgl. Header)\n return accountService\n .logout()\n .then((response) => {\n commit(MAPUSERPROFILE, response.data);\n\n console.debug(\n \"Allfällige bestehende Falldaten werden entfernt.\"\n );\n commit(StoreNameEntry + \"/\" + WIPECASEDATA, null, {\n root: true,\n });\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n },\n [GET_CONTACT_INFO]({ dispatch, commit }: any) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion durchführen und Resultat zuweisen\n accountService\n .getContactInfo()\n .then((response) => {\n commit(MAPCONTACTINFO, response.data);\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n },\n [GET_ACCOUNT_INFO]({ dispatch, commit }: any) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion durchführen und Resultat zuweisen\n accountService\n .getAccountInfo()\n .then((response) => {\n commit(MAPUSERPROFILE, response.data);\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n },\n [REQUEST_REGISTRATION]({ dispatch, commit }: any, username: string) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion durchführen\n accountService.requestRegistration(username).then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n //Erfolgsmeldung unabhängig vom Ausgang der versuchten Registrierung anzeigen (verunmöglicht Dictionary-Angriff auf Benutzernamen)\n\n dispatch(\n HEADER_NOTIFICATION + NEW_SUCESS,\n { text: i18n.t(\"page_prc_infodone\") },\n { root: true }\n );\n });\n },\n [GET_ASSIGNED_SURVEY_NAME]({ dispatch, commit }: any, accessCode: string) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion durchführen\n accountService\n .getAssignedSurveyName(accessCode)\n .then((response) => {\n commit(MAPSURVEYNAME, response.data);\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n },\n [REGISTER](\n { dispatch, commit }: any,\n registrationData: RegistrationDataViewModel\n ) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion durchführen\n accountService\n .register(registrationData)\n .then((response) => {\n commit(MAPSURVEYNAME, response.data);\n if (response.status >= 200 && response.status < 300) {\n commit(MAPREGISTRATIONRESULT, true);\n } else {\n commit(MAPREGISTRATIONRESULT, false);\n }\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n },\n\n [LOGEDIN_CHECK]({ dispatch, commit }: any) {\n accountService\n .isLoggedIn()\n .then((response) => {\n if (response.data) {\n dispatch(GET_ACCOUNT_INFO);\n } else {\n commit(MAPISLOGGEDIN, false);\n }\n })\n .catch(() => {\n console.warn(\"Logincheck failed\");\n commit(MAPISLOGGEDIN, false);\n });\n },\n};\n","import { IRootState } from '@/store';\nimport { state } from '@/store/modules/resource/state';\nimport { GetterTree } from 'vuex';\nimport { IAccountState } from './state';\n\n/**Der für den Benutzer (via Login) authentisierte Benutzername */\nexport const AUTHENTICATED_USERNAME = 'authenticatedUsername';\n\n/** Die für Benutzer (via Login) authorisierten Rollen */\nexport const AUTHORIZED_ROLES = 'authorizedRoles';\n\n/** Gibt an, ob es sich beim aktuell eingeloggten User um einen externen Benutzer handelt (Hat Rolle 'ExternalUser')\n * @remarks Die Rollen für Externe Benutzer und BFS-Benutzer werden sich gegenseitig ausschliessend vergeben,\n * somit kann ein Externer Benutzer nie gleichzeitig ein BFS-Benutzer sein.\n */\nexport const IS_EXTERNAL_USER = 'isExternalUser';\n\n/** Die Kontakt-Informationen */\nexport const CONTACT_INFO = 'contactInfo';\n\n/** Ist der Benutzer angemeldet */\nexport const IS_LOGGED_IN = 'isLoggedIn';\n\n/** Das Resultat (Erfolg) einer Registration */\nexport const REGISTRATION_RESULT = 'registrationResult';\n\n/** Der Name der Survey, auf die sich der Benuzter registriert hat\n * @remarks wird bei der Registration verwendet */\nexport const SURVEY_NAME = 'surveyName';\n\n/** Ob dem AccessCode des Benutzers eine Survey zugeordnet werden konnte\n * @remarks wird bei der Registration verwendet */\nexport const IS_SURVEY_NAME_ASSIGNED = 'isSurveyNameAssigned';\n\n/** Die Anwendungs-Rolle \"ExternerBenutzer\"\n * @remarks Implementiert die technische Rollenbezeichnung gemäss\n * https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/RollenFormDomain\n */\nexport const ROLE_EXTERNALUSER = 'ExternalUser';\n\nexport const getters: GetterTree = {\n [AUTHENTICATED_USERNAME]: state => state.userProfile.username,\n [AUTHORIZED_ROLES]: state => state.userProfile.roles,\n\n /** Gibt an, ob der Benutzer ein externer Benutzer ist.\n * @remarks Aufgrund von Bug#15422 wird als Fallback zusätzlich auch\n * das nicht-vorhandensein der Rollen als externer Benutzer-Rolle gewertet.\n */\n [IS_EXTERNAL_USER]: state =>\n state.userProfile.roles.includes(ROLE_EXTERNALUSER) || !(state?.userProfile?.roles.length > 0),\n [CONTACT_INFO]: state => state.contactInfo,\n [IS_LOGGED_IN]: state => state.isLoggedIn,\n [SURVEY_NAME]: state => state.registrationInfo.registeredSurveyName,\n [IS_SURVEY_NAME_ASSIGNED]: state => (state.registrationInfo.registeredSurveyName ?? '').length > 0,\n [REGISTRATION_RESULT]: state => state.registrationResult\n};\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { IAccountState, state } from './state';\n\nexport const NAME = 'account';\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","import { IAccountViewModel, IContactInfoViewModel, IRegistrationInfoViewModel } from '@/api-viewmodel';\n\n/** Definiert den Zustand für einen Account\n * @interface\n */\nexport interface IAccountState {\n\n /** Das Benutzerprofil */\n userProfile: IAccountViewModel;\n\n /** Ist der aktuelle Benutzer angemeldet */\n isLoggedIn: boolean;\n\n /** Die Kontaktinformationen*/\n contactInfo: IContactInfoViewModel;\n\n /* Informationen zur Befragung und dem Fall für die sich ein externer Benutzer registriert */\n registrationInfo: IRegistrationInfoViewModel;\n\n /* Resultat einer Registration eines externen Benutzers */\n registrationResult: boolean;\n}\n\n/** Stellt den Zustand für einen Account zur Verfügung.\n */\nexport const state: IAccountState = {\n /**Das Benutzerprofil*/\n userProfile: {\n /** Authentisierter Benutzername */\n username: '',\n\n /**Authorisierte Rollen */\n roles: []\n },\n\n isLoggedIn: false,\n\n /** Die Kontaktinformationen*/\n contactInfo: {\n organisation: '',\n street: '',\n houseNumber: '',\n zip: '',\n town: '',\n email: '',\n phoneNumber: '',\n faxNumber: ''\n },\n\n /* Informationen zur Befragung und dem Fall für die sich ein externer Benutzer registriert */\n registrationInfo: {\n /**Der Name der Survey, für die sich der externe Benutzer registriert */\n registeredSurveyName: ''\n },\n\n /* Resultat einer Registration eines externen Benutzers */\n registrationResult: null\n};\n","import { IEnvironmentService } from './IEnvironmentService';\nimport BaseService from '@/services/baseService';\nimport { AxiosResponse } from 'axios';\nimport { IEnvironmentViewModel } from '@/api-viewmodel';\n\n/**\n * Implementiert den Service zum Environment\n * @class\n * @implements {IEnvironmentService}\n */\nexport class EnvironmentService extends BaseService implements IEnvironmentService {\n private ENVIRONMENT_URL: string;\n constructor() {\n super();\n this.ENVIRONMENT_URL = `${this.BASE_URL}/environment`;\n console.debug('ResourceService::constructor', this.ENVIRONMENT_URL);\n }\n\n /**\n * Holt die Informationen zum Environment\n */\n async environmentInfo(): Promise> {\n console.debug('EnvironmentService::environmentInfo', this.ENVIRONMENT_URL);\n return super\n .GET>(`${this.ENVIRONMENT_URL}/Info`, null)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n}\n\nexport const environmentService = new EnvironmentService();\n","import { MutationTree } from 'vuex';\nimport { IEnvironmentViewModel } from '@/api-viewmodel';\nimport { IEnvironmentState } from './state';\n\n/** Weist Environment-Informationen zu */\nexport const MAPENVIRONMENTINFO = 'mapEnvironmentInfo';\n\nexport const mutations: MutationTree = {\n [MAPENVIRONMENTINFO](state, value: IEnvironmentViewModel) {\n state.environment = value;\n }\n};\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { IEnvironmentState } from './state';\nimport { environmentService } from '@/services/EnvironmentService';\nimport { MAPENVIRONMENTINFO } from './mutations';\n\n/** Holt die Informationen zum Environment */\nexport const GET_ENVIRONMENT = 'GET_ENVIRONMENT';\n\nexport const actions: ActionTree = {\n [GET_ENVIRONMENT]({ commit }: any) {\n environmentService.environmentInfo().then(response => {\n commit(MAPENVIRONMENTINFO, response.data);\n });\n }\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { IEnvironmentState } from './state';\n\n/** Liefert den Namen des Environments für die Vue-App. */\nexport const VUE_APP_ENVIRONMENT = 'VueAppEnvironment';\n\nexport const getters: GetterTree = {\n [VUE_APP_ENVIRONMENT]: state => state.environment.vueAppEnvironment\n};\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { IEnvironmentState, state } from './state';\n\nexport const NAME = 'environment';\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","import { IEnvironmentViewModel } from '@/api-viewmodel';\n\n/** Definiert den Zustand für das Environment\n * @interface\n */\nexport interface IEnvironmentState {\n /** Das Environment */\n environment: IEnvironmentViewModel;\n}\n\n/** Stellt den Zustand für das Environment zur Verfügung.\n */\nexport const state: IEnvironmentState = {\n /** Das Environment */\n environment: {\n vueAppEnvironment: ''\n }\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { IHeaderNotificationState } from './state';\n\nexport const GET_VISIBLE = 'getVisible';\nexport const GET_TYPE = 'getType';\nexport const GET_TEXT = 'getText';\nexport const GET_CLOSEDELAY = 'getCloseDelay';\nexport const GET_CLOSEAFTERDELAY = 'getCloseAfterDelay';\nexport const GET_DISMISSIBLE = 'getDismissible';\n\nexport const getters: GetterTree = {\n [GET_VISIBLE]: state => state.visible,\n [GET_TYPE]: state => state.type,\n [GET_TEXT]: state => state.text,\n [GET_CLOSEAFTERDELAY]: state => state.closeAfterDelay,\n [GET_CLOSEDELAY]: state => state.closeDelay,\n [GET_DISMISSIBLE]: state => state.isDismissible\n};\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { IHeaderNotificationState, state } from './state';\n\nexport const NAME = 'headerNotification';\n\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","export interface IHeaderNotificationState {\n visible: boolean;\n type: string;\n text: string;\n closeAfterDelay: boolean;\n closeDelay: number;\n isDismissible: boolean;\n}\n\nexport const state: IHeaderNotificationState = {\n visible: false,\n type: 'danger',\n text: 'placeholder',\n closeAfterDelay: false,\n closeDelay: 0,\n isDismissible: true\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { ISaveIndicationState } from './state';\n\n/** Gibt an, ob der Indikator aktiv ist */\nexport const GET_ACTIVE = 'GET_ACTIVE';\n\nexport const getters: GetterTree = {\n [GET_ACTIVE]: state => state.active\n};\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { ISaveIndicationState, state } from './state';\n\nexport const NAME = 'saveIndicator';\n\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","export interface ISaveIndicationState {\n active: boolean;\n}\n\nexport const state: ISaveIndicationState = {\n active: false\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { ILoadingSpinnerState } from './state';\n\nexport const GET_VISIBLE = 'getVisible';\nexport const GET_DELAY = 'getDelay';\nexport const GET_TEXT = 'getText';\n\nexport const getters: GetterTree = {\n [GET_VISIBLE]: state => state.visible,\n [GET_DELAY]: state => state.delay,\n [GET_TEXT]: state => state.text,\n\n};\n\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { ILoadingSpinnerState, state } from './state';\n\nexport const NAME = 'loadingSpinner';\n\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","export interface ILoadingSpinnerState {\n delay: number;\n text: string;\n visible: boolean;\n}\n\nexport const state: ILoadingSpinnerState = {\n delay: 0,\n text: '',\n visible: false\n};\n","import { MutationTree } from 'vuex';\nimport { IFooterBarState, IFooterButton } from './state';\n\n/** Legt die Sichtbarkeit der Footer-Bar fest */\nexport const SET_BAR_VISIBLE = 'setBarVisible';\nexport const SET_TEXT = 'setText';\nexport const SET_CLOSEAFTERDELAY = 'setCloseAfterDelay';\nexport const SET_DISMISSIBLE = 'setDismissible';\nexport const SET_BUTTONLEFT = 'setButtonLeft';\nexport const SET_BUTTONCENTER = 'setButtonCenter';\nexport const SET_BUTTONRIGHT = 'setButtonRight';\n\n/** Legt den Disabled-State der rechts liegenden Buttons auf den übergebenen Wert fest\n * @param {boolean} disabled - Ob die Buttons disabled dargestellt werden sollen\n */\nexport const SET_BUTTONRIGHT_DISABLED = 'setButtonRightDisabled';\n\nexport const mutations: MutationTree = {\n [SET_BAR_VISIBLE]: (state, visible: boolean) => {\n state.visible = visible;\n },\n [SET_TEXT]: (state, text: string) => {\n state.text = text;\n },\n [SET_CLOSEAFTERDELAY]: (state, closeAfterDelay) => {\n state.closeAfterDelay = closeAfterDelay;\n\n if (!closeAfterDelay) {\n state.closeDelay = 0;\n } else {\n state.closeDelay = 5000;\n }\n },\n [SET_DISMISSIBLE]: (state, value: boolean) => {\n state.isDismissible = value;\n },\n [SET_BUTTONLEFT]: (state, value: Array) => {\n state.buttonLeft = value;\n },\n [SET_BUTTONCENTER]: (state, value: Array) => {\n state.buttonCenter = value;\n },\n [SET_BUTTONRIGHT]: (state, value: Array) => {\n state.buttonRight = value;\n },\n [SET_BUTTONRIGHT_DISABLED]: (state, value: boolean) => {\n if (state.buttonRight) {\n for (const button of state.buttonRight) {\n button.disabled = value;\n }\n }\n\n //HINT: Dieser \"Switch\" ist nötig, um den Enabled/Disabled-State der oben bearbeiteten Footerbar-Buttons\" für Vue effektiv zu triggern.\n //Andernfalls wird der Status für die Buttons nicht übernommen.\n //Grund ist, dass für Properties offenbar kein \"Deep\"-Watch stattfindet.\n //Das Property 'visible' ist in der Komponente direkt verfügbar, deshalb wird das beachtet\n //TODO: Das Problem sollte recherchiert werden und dann mittels \"Deep-Watch\" gelöst werden\n state.visible = !state.visible;\n state.visible = !state.visible;\n }\n};\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { IFooterBarState, IFooterButton } from './state';\n\nimport {\n SET_TEXT,\n SET_BAR_VISIBLE,\n SET_BUTTONLEFT,\n SET_BUTTONCENTER,\n SET_BUTTONRIGHT,\n SET_BUTTONRIGHT_DISABLED\n} from './mutations';\n\nexport const NEW_TEXT = 'new_text';\nexport const NEW_BUTTON = 'new_button';\nexport const CLOSE = 'close';\nexport const SET_VISIBLE = 'setVisible';\n\n/** Legt den Disabled-State der rechts liegenden Buttons auf den übergebenen Wert fest\n * @param {boolean} disabled - Ob die Buttons disabled dargestellt werden sollen\n */\nexport const DISABLE_BUTTONRIGHT = 'disableButtonRight';\n\n/**\n * Funktion um die Position des Footers neu zu setzen, ist in nowhow-common.js definiert\n */\nfunction repositionFooter() {\n // eslint-disable-next-line no-prototype-builtins\n if (window.hasOwnProperty('stickyFooterFunction')) {\n window['stickyFooterFunction'].call();\n }\n}\n\nexport const actions: ActionTree = {\n async [NEW_TEXT]({ commit }: any, { text }: any) {\n await commit(SET_BAR_VISIBLE, true);\n commit(SET_TEXT, text);\n repositionFooter();\n },\n async [NEW_BUTTON]({ commit }: any, { buttonLeft, buttonCenter, buttonRight }: any) {\n await commit(SET_BAR_VISIBLE, true);\n commit(SET_BUTTONLEFT, buttonLeft);\n commit(SET_BUTTONCENTER, buttonCenter);\n commit(SET_BUTTONRIGHT, buttonRight);\n repositionFooter();\n },\n\n async [CLOSE]({ commit }) {\n commit(SET_BAR_VISIBLE, false);\n commit(SET_TEXT, 'placeholder');\n commit(SET_BUTTONLEFT, new Array());\n commit(SET_BUTTONCENTER, new Array());\n commit(SET_BUTTONRIGHT, new Array());\n },\n async [DISABLE_BUTTONRIGHT]({ commit }: any, disabled: boolean) {\n console.debug('footerBar/actions.ts::DISABLE_BUTTONRIGHT', disabled);\n commit(SET_BUTTONRIGHT_DISABLED, disabled);\n },\n async [SET_VISIBLE]({ commit }: any, isVisible: boolean) {\n console.debug('footerBar/actions.ts::SET_BAR_VISIBLE', isVisible);\n commit(SET_BAR_VISIBLE, isVisible);\n }\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { IFooterBarState } from './state';\n\n/** Gibt an, ob die Footerbar sichtbar ist */\nexport const IS_BAR_VISIBLE = 'isBarVisible';\nexport const GET_TEXT = 'getText';\nexport const GET_CLOSEDELAY = 'getCloseDelay';\nexport const GET_CLOSEAFTERDELAY = 'getCloseAfterDelay';\nexport const GET_DISMISSIBLE = 'getDismissible';\nexport const GET_BUTTONLEFT = 'getButtonLeft';\nexport const GET_BUTTONCENTER = 'getButtonCenter';\nexport const GET_BUTTONRIGHT = 'getButtonRight';\n\nexport const getters: GetterTree = {\n [IS_BAR_VISIBLE]: state => state.visible,\n [GET_TEXT]: state => state.text,\n [GET_CLOSEAFTERDELAY]: state => state.closeAfterDelay,\n [GET_CLOSEDELAY]: state => state.closeDelay,\n [GET_DISMISSIBLE]: state => state.isDismissible,\n [GET_BUTTONLEFT]: state => state.buttonLeft,\n [GET_BUTTONCENTER]: state => state.buttonCenter,\n [GET_BUTTONRIGHT]: state => state.buttonRight\n};\n","export interface IFooterBarState {\n visible: boolean;\n text: string;\n closeAfterDelay: boolean;\n closeDelay: number;\n isDismissible: boolean;\n buttonLeft: Array;\n buttonCenter: Array;\n buttonRight: Array;\n}\n\nexport const state: IFooterBarState = {\n visible: false,\n text: 'placeholder',\n closeAfterDelay: false,\n closeDelay: 0,\n isDismissible: true,\n buttonLeft: new Array(),\n buttonCenter: new Array(),\n buttonRight: new Array()\n};\n\n/**\n * Beschreibt die einzelnen Buttons mit Text, Styling und deren Funktionalität\n */\nexport interface IFooterButton {\n onClick: Function;\n label: string;\n\n type: FooterButtonType;\n\n /** Gibt optional an, ob der Button disabled ist.\n * @remarks Falls disabled, wird ein fixer Hinweis-Text als Tooltip angezeigt\n */\n disabled?: boolean;\n\n /** Gibt optional an, ob der Button sichtbar ist. Wenn nicht false, wird der Button gerendert. */\n visible?: boolean;\n}\n\nexport enum FooterButtonType {\n primary = 'primary',\n secondary = 'secondary',\n link = 'link',\n unstyled = 'unstyled'\n}\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { IFooterBarState, state } from './state';\n\nexport const NAME = 'footerBar';\n\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","import { ISwisstopoService } from './ISwisstopoService';\nimport BaseService from '@/services/baseService';\nimport { AxiosResponse } from 'axios';\nimport { IFeatureResult, IFeatureSearchResult } from '../api-viewmodel';\n\n/**\n * Implementiert den Service für den Zugriff auf die Swisstopo-API\n * @class\n * @implements {ISwisstopoService}\n */\nexport class SwisstopoService extends BaseService implements ISwisstopoService {\n protected SWISSTOPO_BASE_URL: string | undefined = process.env.VUE_APP_SWISSTOPO_API_URL;\n\n /** Die URL für den Zugriff auf die SearchServer-Funktion */\n private SWISSTOPO_API_SEARCH_URL: string;\n\n /** Die URL für den Zugriff auf die MapServer-Funktion */\n private SWISSTOPO_API_MAP_URL: string;\n constructor() {\n super();\n\n if (!this.SWISSTOPO_BASE_URL) {\n //Fallback für den Fall dass keine API-URL verfügbar ist\n this.SWISSTOPO_BASE_URL = 'https://api3.geo.admin.ch/rest/services/api';\n console.debug('SwisstopoService::constructor (with fallback URL)', this.SWISSTOPO_BASE_URL);\n } else {\n console.debug('SwisstopoService::constructor', this.SWISSTOPO_BASE_URL);\n }\n\n this.SWISSTOPO_API_SEARCH_URL = `${this.SWISSTOPO_BASE_URL}/SearchServer`;\n this.SWISSTOPO_API_MAP_URL = `${this.SWISSTOPO_BASE_URL}/MapServer`;\n }\n\n /**\n * @inheritdoc\n */\n async searchFeatures(searchText: string): Promise> {\n const requestUrl = `${this.SWISSTOPO_API_SEARCH_URL}?searchText=${searchText}&type=featuresearch&features=ch.bfs.gebaeude_wohnungs_register`;\n //HINT Fehlerbehandlung prüfen mit absichtlichen Fehlern: const requestUrl = 'https://httpstat.us/500/';\n return super\n .GET>(requestUrl)\n .then((response: AxiosResponse) => {\n return response;\n });\n }\n\n /**\n * @inheritdoc\n */\n async getFeature(featureId: string): Promise> {\n //Die geometrischen Koordinaten werden aktuell nicht verwendet. Sollten sie? Dann Abfrage ändern\n const requestUrl = `${this.SWISSTOPO_API_MAP_URL}/ch.bfs.gebaeude_wohnungs_register/${featureId}?returnGeometry=false`;\n return super.GET>(requestUrl).then((response: AxiosResponse) => {\n return response;\n });\n }\n}\n\nexport const swisstopoService = new SwisstopoService();\n","import { MutationTree } from 'vuex';\nimport { IFeatureResult, IFeatureSearchResult } from '../api-viewmodel';\nimport { ISwisstopoState } from './state';\n\n/** Weist ein Resultat einer Feature-Suche zu */\nexport const MAP_FEATURE_SEARCH_RESULT = 'mapFeatureSearchResult';\n\n/** Weist ein Resultat einer Feature-Abfrage dem selektierten Feature zu */\nexport const MAP_SELECTED_FEATURE = 'mapSelectedFeature';\n\nexport const mutations: MutationTree = {\n [MAP_FEATURE_SEARCH_RESULT](state, value: IFeatureSearchResult) {\n state.searchResult = value;\n },\n [MAP_SELECTED_FEATURE](state, value: IFeatureResult) {\n state.selectedFeature = value.feature;\n }\n};\n","import { IRootState } from '@/store';\nimport { ActionTree } from 'vuex';\nimport { ISwisstopoState } from './state';\nimport { swisstopoService } from '../services/SwisstopoService';\nimport { MAP_FEATURE_SEARCH_RESULT, MAP_SELECTED_FEATURE } from './mutations';\nimport { SHOW, HIDE } from '@/store/modules/loadingSpinner/actions';\nimport { CLOSE } from '@/store/modules/headerNotification/actions';\n\n/** Pfad zu der Loading-Spinner-Komponente */\nconst LOADING_SPINNER = 'loadingSpinner/';\n\n/** Pfad zu der Header-Notification-Komponente */\nconst HEADER_NOTIFICATION = 'headerNotification/';\n\n/** Führt eine Suche nach Features aus.\n * @remarks Verwendet die Funktion gemäss https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/SearchServerSwisstopoFunktion\n */\nexport const SEARCH_FEATURES = 'SEARCH_FEATURES';\n\n/** Holt die Daten zu einem Feature und legt diese auf dem Store als selektiertes Feature ab.\n * @remarks Verwendet die Funktion gemäss https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/MapServerSwisstopoFunktion\n */\nexport const GET_FEATURE_DETAILS = 'GET_FEATURE_DETAILS';\n\nexport const actions: ActionTree = {\n /**\n * Führt die Feature-Suche anhand des angegebenen Freitexts aus und übergibt das erhaltene Suchresultat in den Zustand.\n * @param {string} searchText - Der Freitext für die Suche (max. 10 Wörter).\n * @return Eine Promise, mit der der Aufrufende Code den Erfolg feststellen und entsprechende behandeln kann\n * @devdoc Zur Promise: siehe https://stackoverflow.com/a/40167499/79485 und https://vuex.vuejs.org/guide/actions.html#composing-actions\n */\n [SEARCH_FEATURES]({ dispatch, commit }: any, searchText: string): Promise {\n return new Promise((resolve, reject) => {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n //Aktion durchführen und Resultat zuweisen\n swisstopoService\n .searchFeatures(searchText)\n .then(response => {\n commit(MAP_FEATURE_SEARCH_RESULT, response.data);\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n })\n .then(\n response => {\n // http success, call the mutator and change something in state\n resolve(response); // Let the calling function know that http is done. You may send some data back\n },\n error => {\n // http failed, let the calling function know that action did not work out\n reject(error);\n\n //Allfällige Fehlermeldung sofort verstecken, diese wir für die Featuresuche gemäss Anforderung \"unsichtbar\" behandelt\n dispatch(HEADER_NOTIFICATION + CLOSE, {}, { root: true });\n }\n );\n });\n },\n [GET_FEATURE_DETAILS]({ dispatch, commit }: any, featureId: string) {\n dispatch(LOADING_SPINNER + SHOW, {}, { root: true });\n\n swisstopoService\n .getFeature(featureId)\n .then(response => {\n commit(MAP_SELECTED_FEATURE, response.data);\n })\n .then(() => {\n dispatch(LOADING_SPINNER + HIDE, {}, { root: true });\n });\n }\n};\n","import { IRootState } from '@/store';\nimport { GetterTree } from 'vuex';\nimport { ISwisstopoState } from './state';\n\n/** Die Resultate einer Feature-Suche */\nexport const FEATURE_SEARCH_RESULT = 'featureSearchResult';\n\n/** Die Detail-Daten eines ausgewählten Features\n * @remarks Dieses Feature ist typischerweise ein ausgewähltes aus einer vorangehenden Feature-Suche\n */\nexport const SELECTED_FEATURE = 'selectedFeature';\n\nexport const getters: GetterTree = {\n [FEATURE_SEARCH_RESULT]: state => state.searchResult,\n [SELECTED_FEATURE]: state => state.selectedFeature\n};\n","import { Module } from 'vuex';\nimport { IRootState } from '@/store';\n\nimport { actions } from './actions';\nimport { getters } from './getters';\nimport { mutations } from './mutations';\nimport { ISwisstopoState, state } from './state';\n\nexport const NAME = 'featureSearch';\nexport const store: Module = {\n actions,\n getters,\n modules: {},\n mutations,\n namespaced: true,\n state\n};\n\nexport default store;\n","import { IFeature, IFeatureSearchResult } from '../api-viewmodel';\n\n/** Definiert den Zustand für eine Feature-Suche\n * @interface\n */\nexport interface ISwisstopoState {\n // eslint-disable-next-line lines-around-comment\n /** Das Resultat einer Feature-Suche */\n searchResult: IFeatureSearchResult;\n\n /** Das Daten einer Abfrage zu einem einzelnen, ausgewählten, Feature\n * @remarks Dieses Feature ist typischerweise ein ausgewähltes aus einer vorangehenden Feature-Suche\n */\n selectedFeature: IFeature;\n}\n\n/** Stellt den Zustand für eine Feature-Suche zur Verfügung.\n */\nexport const state: ISwisstopoState = {\n /** Das Resultat einer Suche */\n searchResult: {\n results: []\n },\n selectedFeature: null\n};\n","import Vue from 'vue';\nimport Vuex, { createLogger } from 'vuex';\n\nVue.use(Vuex);\n\n// RootState\nexport interface IRootState {\n version: string;\n}\nexport const RootState: IRootState = {\n version: '0.0.1'\n};\n\nimport resource, { NAME as RESOURCE } from '@/store/modules/resource';\nimport validation, { NAME as VALIDATION } from '@/store/modules/validation';\nimport environment, { NAME as ENVIRONMENT } from '@/store/modules/environment';\nimport headerNotification, { NAME as HEADERNOTIFICATION } from '@/store/modules/headerNotification/';\nimport saveIndicator, { NAME as SAVEINDICATOR } from '@/store/modules/saveIndicator/';\nimport loadingSpinner, { NAME as LOADINGSPINNER } from '@/store/modules/loadingSpinner';\nimport footerBar, { NAME as FOOTERBAR } from '@/store/modules/footerBar';\n\n// AREAS\nimport entry, { NAME as ENTRY } from '@/areas/entry/store';\nimport account, { NAME as ACCOUNT } from '@/areas/account/store';\nimport swisstopo, { NAME as SWISSTOPO } from '@/areas/swisstopo/store';\n\nexport const store = new Vuex.Store({\n modules: {\n [ENVIRONMENT]: environment,\n [RESOURCE]: resource,\n [VALIDATION]: validation,\n [HEADERNOTIFICATION]: headerNotification,\n [SAVEINDICATOR]: saveIndicator,\n [LOADINGSPINNER]: loadingSpinner,\n [FOOTERBAR]: footerBar,\n\n [ENTRY]: entry,\n [ACCOUNT]: account,\n [SWISSTOPO]: swisstopo\n },\n state: RootState,\n plugins: [\n createLogger({\n logActions: true,\n logMutations: false\n })\n ]\n});\n\nexport default store;\n","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\n@Component\n\n/** Implementiert eine Textbox mit Label und kompletter Validierung\n * @remarks Rendert je eine Spalte für das Label und das Eingabefeld (sm-3 und sm-9 im Bootstrap-Grid)\n */\nexport default class NowhowTextbox extends Vue {\n /** Validierung via Validations-Modul */\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String, default: 'text' }) private inputType!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: String, default: '' }) private placeholder!: string;\n\n @Prop({ required: false, type: String, default: '' }) private autocomplete!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n /** Wenn festgelegt, verzögert die Validierung um die angegebene Anzahl Millisekunden\n * @devdoc Kann verwendet werden, um Probleme mit Layoutverschiebungen aufgrund von Validierungs-Meldungen bei\n * Mausklicks auf andere Elemente zu entschärfen\n * @devdoc Siehe https://vee-validate.logaretm.com/v2/guide/components/validation-provider.html#props\n */\n @Prop({ required: false, type: Number, default: 0 }) private validationDelay!: number;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, default: '' }) private value!: any;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n /* eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function */\n @Prop({ required: false, type: Function, default: function() {} })\n private onEnter!: Function;\n\n private provider: any;\n\n mounted() {\n const inputElement: any = document.getElementById(String(this.id));\n inputElement.value = this.value;\n\n this.provider = this.$refs['provider'];\n }\n\n public focus() {\n (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n private onChange(value) {\n this.$emit('change', value);\n }\n\n private onFocusout(value) {\n this.$emit('focusout', value);\n }\n\n private onInput(value) {\n this.$emit('input', value);\n }\n\n @Watch('value', { deep: true, immediate: true })\n private onValueChanged() {\n this.provider = this.$refs['provider'];\n this.provider?.validate(this.value, { silent: true });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowTextbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowTextbox.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowTextbox.vue?vue&type=template&id=d4c59386\"\nimport script from \"./NowhowTextbox.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowTextbox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationProvider',{ref:\"provider\",attrs:{\"rules\":_vm.validate,\"name\":_vm.label,\"vid\":_vm.id,\"debounce\":_vm.validationDelay},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, required }){return [_c('div',{class:{ 'form-group': true, 'has-warning': errors[0] }},[(_vm.label)?_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":_vm.id}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(required),expression:\"required\"}]},[_vm._v(\"*\")])]):_vm._e(),_c('div',{staticClass:\"col-sm-9\"},[_c('input',{key:_vm.id,ref:\"inputfield\",staticClass:\"form-control\",attrs:{\"type\":_vm.inputType,\"id\":_vm.id,\"name\":_vm.id,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"placeholder\":_vm.$t(_vm.placeholder),\"data-cy\":_vm.cy},domProps:{\"value\":_vm.value},on:{\"keyup\":[_vm.onChange,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onEnter.apply(null, arguments)}],\"focusout\":_vm.onFocusout,\"input\":function($event){return _vm.onInput($event.target.value)}}}),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { NAME } from '../store/index';\nimport { NAME as NAME_HEADERNOTIFICATION } from '@/store/modules/headerNotification';\nimport { Component, Watch } from 'vue-property-decorator';\nimport { NEW_SUCESS, NEW_ALERT } from '@/store/modules/headerNotification/actions';\nimport { CredentialsDto } from '@/api-viewmodel';\nimport { ACCOUNT_RECOVERY, ACCOUNT_REGISTER, ENTRY_WIZARD } from '@/router';\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\n\nconst headerModul = namespace(NAME_HEADERNOTIFICATION);\nconst modul = namespace(NAME);\n\n//Getters und Actions\nimport { AUTHENTICATED_USERNAME, IS_EXTERNAL_USER, IS_LOGGED_IN } from '../store/getters';\nimport { LOGIN, LOGOUT } from '../store/actions';\n\n@Component({\n components: {\n NowhowTextbox\n }\n})\n\n/** Login an der Anwendung.\n * @remarks Nach erfolgreicher Anmeldung wird der Benutzer entsprechend dem Request oder seiner Rolle weitergeleitet\n * @remarks Implementiert {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/LoginScreen} */\nexport default class AccountLogin extends Vue {\n protected WEBFORMS_BASE_URL: string | undefined = process.env.VUE_APP_WEBFORMS_BACKEND_URL;\n\n constructor() {\n super();\n //Hint den Fallback zentral lösen\n if (!this.WEBFORMS_BASE_URL) {\n //Fallback für den Fall dass keine Backend-URL verfügbar ist\n const url = window.location.href;\n const searchParam = 'redesign/';\n const length = url.toLowerCase().indexOf(searchParam) - 1; //ohne 'redesign/' Pfad\n this.WEBFORMS_BASE_URL = url.substr(0, length);\n console.debug('AccountLogin::constructor (with fallback URL)', this.WEBFORMS_BASE_URL);\n } else {\n console.debug('AccountLogin::constructor', this.WEBFORMS_BASE_URL);\n }\n }\n\n private returnUrl = '/';\n\n /** Route für die Registrierung\n * @devdoc Wird hier als Property deklariert um das vue-binding im Router-Link zu ermöglichen\n */\n private ACCOUNT_REGISTER = ACCOUNT_REGISTER;\n\n /** Route für das Passwort-Recovery\n * @devdoc Wird hier als Property deklariert um das vue-binding im Router-Link zu ermöglichen\n */ private ACCOUNT_RECOVERY = ACCOUNT_RECOVERY;\n\n //Hinweis: Benutzername und Passwort für das Login werden nicht im Store geführt\n credentials = new CredentialsDto();\n\n @headerModul.Action(NEW_SUCESS) successMessage!: Function;\n @headerModul.Action(NEW_ALERT) alertMessage!: Function;\n\n @modul.Action(LOGIN) login!: Function;\n @modul.Action(LOGOUT) logout!: Function;\n @modul.Getter(AUTHENTICATED_USERNAME) authenticatedUsername!: string;\n @modul.Getter(IS_EXTERNAL_USER) isExternalUser!: boolean;\n @modul.Getter(IS_LOGGED_IN) loggedIn!: boolean;\n\n /** Wrapper für eine Form-Submit-Aktion, um das Standard-Submit-Verhalten im Zusammenspiel mit vee-validate zu unterbinden.\n * @devdoc Wird hier benötigt, da sich die zu versendenden Daten nicht im Store befinden.\n */\n private loginWrapper() {\n this.login(this.credentials);\n }\n\n created() {\n console.debug('Login.vue::created ', this.WEBFORMS_BASE_URL);\n // get return url from route parameters or default to '/'\n console.debug('login::query', this.$route.query);\n // NOTE: das Casing des ReturnUrl-Query-Parameters unterscheidet sich zwischen Frontend und Backend\n const backendReturnUrl = this.$route.query.ReturnUrl; //CamelCase deutet auf Return-URL des Backends hin\n if (typeof backendReturnUrl === 'string') {\n //Allfälligen Pfad aus der Return-URL ins Backend entfernen, weil dieser in der WEBFORMS_BASE_URL bereits enthalten ist\n console.debug('login::window.location.origin', window.location.origin);\n const applicationPath = this.WEBFORMS_BASE_URL.substring(window.location.origin.length);\n console.debug('login::applicationPath', applicationPath);\n this.returnUrl = backendReturnUrl.substring(applicationPath.length);\n } else {\n const frontendReturnUrl = this.$route.query.returnUrl;\n this.returnUrl = typeof frontendReturnUrl === 'string' ? frontendReturnUrl : '/';\n }\n\n console.debug('login::returnUrl', this.returnUrl);\n\n //Falls sich der Client bereit im eingeloggten Zustand befinden, direkt zur passenden View/Page weitergehen\n if (this.loggedIn) {\n this.redirectAfterLogin();\n }\n }\n\n @Watch('loggedIn')\n onPropertyChanged(newVal: boolean) {\n //Einen frisch eingeloggten Client direkt zur passenden View/Page weiterleiten\n if (newVal) {\n this.redirectAfterLogin();\n }\n }\n\n /** Leitet einen Client zur dem Login entsprechenden View/Page weiter, indem die\n * returnUrl der Query angewendet wird, falls vorhanden.\n * @devdoc Der Spezialfall für das Printout eines Falls in einem Neuen Tab funktioniert\n * via dieser returnUrl.\n */\n redirectAfterLogin() {\n console.log('Login::redirectAfterLogin::returnUrl', this.returnUrl);\n if (this.isExternalUser) {\n //Für externe Benutzer: direkt in den Wizard\n console.log('external user ' + this.authenticatedUsername + ' has logged in. Routing to Entry Wizard.');\n //HINT: Hier auf die übergeordnete Wizard-Komponente weiterleiten (und nicht direkt auf einen Step), um den dortigen Initialisierungsvorgang auszulösen\n this.$router.push({ name: ENTRY_WIZARD });\n } else {\n //Für BFS-Benutzer weiterleiten in den Wizard ODER ins Backend-GUI\n if (this.returnUrl.includes('wizard') && this.$route.query.CaseId) {\n //Wenn explizit der EntryWizard mit einem Case aufgerufen wird, dorthin weiterleiten\n console.log(\n 'BFS user ' +\n this.authenticatedUsername +\n ' has logged in for the EntryWizard. Navigating to the entry Wizard, CaseId: ' +\n this.$route.query.CaseId\n );\n this.$router.push({\n //HINT: Hier auf die übergeordnete Wizard-Komponente weiterleiten (und nicht direkt auf einen Step), um den dortigen Initialisierungsvorgang auszulösen\n name: ENTRY_WIZARD,\n query: this.$route.query /* query übernehmen, damit die CaseId für den Wizard erhalten bleibt */\n });\n } else {\n //Sonst: die Return-URL für das klassische UI verwenden\n const location = this.WEBFORMS_BASE_URL + this.returnUrl;\n console.log(`BFS user '${this.authenticatedUsername}' has logged in. Navigating to '${location}'`);\n\n window.location.href = location;\n }\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=ecc04082\"\nimport script from \"./Login.vue?vue&type=script&lang=ts\"\nexport * from \"./Login.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('page_lgn_title')))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_lgn_info'))}}),_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid, handleSubmit }){return [_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.loginWrapper)}}},[_c('fieldset',[_c('NowhowTextbox',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"username-textbox\",\"label\":\"allg_user_login_id\",\"validate\":\"required\",\"validation-delay\":200},model:{value:(_vm.credentials.username),callback:function ($$v) {_vm.$set(_vm.credentials, \"username\", $$v)},expression:\"credentials.username\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"password-textbox\",\"label\":\"allg_password\",\"input-type\":\"Password\",\"validate\":\"required\",\"validation-delay\":200},model:{value:(_vm.credentials.password),callback:function ($$v) {_vm.$set(_vm.credentials, \"password\", $$v)},expression:\"credentials.password\"}}),_c('div',{staticClass:\"col-sm-offset-3 col-sm-9\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\",\"name\":\"LoginButton\",\"id\":\"LoginButton\",\"role\":\"button\",\"disabled\":invalid}},[_vm._v(\" \"+_vm._s(_vm.$t('btn_login'))+\" \")])])],1)])]}}])}),_c('div',{staticClass:\"col-sm-offset-3 col-sm-9\"},[_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_RECOVERY }},scopedSlots:_vm._u([{key:\"default\",fn:function({ href, navigate }){return [_c('a',{attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(_vm._s(_vm.$t('page_lgn_password_recovery')))])]}}])})],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_REGISTER }},scopedSlots:_vm._u([{key:\"default\",fn:function({ href, navigate }){return [_c('a',{attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(_vm._s(_vm.$t('page_lgn_password_registry_hint')))])]}}])})],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { Component } from 'vue-property-decorator';\nimport { NAME } from '../store/index';\nimport { NAME as NAME_ACCOUNT } from '@/areas/account/store';\n\nconst modul = namespace(NAME);\nconst accountModul = namespace(NAME_ACCOUNT);\n\n//Getters und Actions\nimport { GET_CONTACT_INFO } from '../store/actions';\nimport { CONTACT_INFO } from '../store/getters';\nimport { IS_LOGGED_IN } from '@/areas/account/store/getters';\n\n@Component\n\n/** Kontaktangaben für die Anwendung\n * @remarks Implementiert {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/KontaktScreen}\n * */\nexport default class AccountContact extends Vue {\n @modul.Getter(CONTACT_INFO) contactInfo!: string;\n @modul.Action(GET_CONTACT_INFO) getContactInfo!: Function;\n @accountModul.Getter(IS_LOGGED_IN) loggedIn!: boolean;\n\n /** Kontaktdaten erst bei 'mounted' laden.\n * Die Kontaktdaten müssen nur geladen werden, wenn diese auch angezeigt werden. */\n mounted() {\n this.getContactInfo();\n }\n\n goBack() {\n window.history.length > 1 ? this.$router.go(-1) : this.$router.push('/');\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contact.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contact.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Contact.vue?vue&type=template&id=6eb8b82d\"\nimport script from \"./Contact.vue?vue&type=script&lang=ts\"\nexport * from \"./Contact.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('page_con_title')))]),_c('table',{staticClass:\"table table-naked\"},[_c('tbody',[_c('tr',[_c('th',{staticClass:\"table-col-slim\"},[_vm._v(_vm._s(_vm.$t('allg_organisation')))]),_c('td',[_vm._v(_vm._s(_vm.contactInfo.organisation))])]),_c('tr',[_c('th',{staticClass:\"table-col-slim\"},[_vm._v(_vm._s(_vm.$t('allg_street')))]),_c('td',[_vm._v(_vm._s(_vm.contactInfo.street)+\" \"+_vm._s(_vm.contactInfo.houseNumber))])]),_c('tr',[_c('th',{staticClass:\"table-col-slim\"},[_vm._v(_vm._s(_vm.$t('allg_zip')))]),_c('td',[_vm._v(_vm._s(_vm.contactInfo.zip))])]),_c('tr',[_c('th',{staticClass:\"table-col-slim\"},[_vm._v(_vm._s(_vm.$t('allg_town')))]),_c('td',[_vm._v(_vm._s(_vm.contactInfo.town))])]),_c('tr',[_c('th',{staticClass:\"table-col-slim\"},[_vm._v(_vm._s(_vm.$t('allg_email')))]),_c('td',[_c('a',{staticClass:\"text-nowrap\",attrs:{\"href\":'mailto:' + _vm.contactInfo.email}},[_vm._v(_vm._s(_vm.contactInfo.email))])])]),_c('tr',[_c('th',{staticClass:\"table-col-slim\"},[_vm._v(_vm._s(_vm.$t('allg_phone_number')))]),_c('td',[_vm._v(_vm._s(_vm.contactInfo.phoneNumber))])])])]),(_vm.loggedIn)?_c('div',{staticClass:\"col-sm-12\"},[_c('div',{staticClass:\"text-right\"},[_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.goBack()}}},[_vm._v(\" \"+_vm._s(_vm.$t('btn_wzrd_back'))+\" \")])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:{ 'form-group': true }},[(_vm.label)?_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":_vm.id}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.required),expression:\"required\"}]},[_vm._v(\"*\")])]):_vm._e(),_c('div',{staticClass:\"col-sm-9\"},[_c('imask-input',{staticClass:\"form-control accesscode\",attrs:{\"value\":_vm.initialAccessCode,\"mask\":_vm.patternMask,\"radix\":\".\",\"lazy\":false,\"overwrite\":false,\"placeholder\":\"____ - ____ - ____\"},on:{\"accept\":_vm.onChange}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\";\nimport { Component, Prop } from \"vue-property-decorator\";\nimport { IMaskComponent, IMask } from \"vue-imask\";\n\n@Component({\n components: {\n \"imask-input\": IMaskComponent,\n },\n})\n\n/** Implementiert eine Dreifach-Textbox mit Label für die Eingabe eines Access-Codes. Die Komponenten behandelt eigenständig die Fokussierung und die Textlänge\n * innerhalb der 3 Eingabefelder. Es findet jedoch keine Validierung der Eingabe selbst statt.\n * @remarks Rendert je eine Spalte für das Label und die 3 Eingabefelder (sm-3 und sm-9 im Bootstrap-Grid)\n */\nexport default class AccessCodeTextbox extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String, default: \"\" })\n private label!: string;\n\n @Prop({ required: false, type: Boolean, default: false })\n private required!: boolean;\n\n /** Der initial anzuzeigende AccessCode (12 Zeichen ohne Trennzeichen) */\n @Prop({ required: false, default: \"\" }) private initialAccessCode!: string;\n\n private patternMask = IMask.createMask({\n mask: \"#### - #### - ####\",\n definitions: {\n \"#\": /[ABCDEFGHJKLMNPQRSTUVWXYZ23456789]/,\n },\n unmask: true,\n prepare: function(str) {\n return str.toUpperCase();\n },\n });\n\n /** Meldet die Änderung des Access-Code an die übergeordnete Komponente.\n */\n public onChange(value: string): void {\n console.debug(\"onAccept:unmaskedValue:\", value);\n this.$emit(\"input\", value);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccessCodeTextbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccessCodeTextbox.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AccessCodeTextbox.vue?vue&type=template&id=7519fad4&scoped=true\"\nimport script from \"./AccessCodeTextbox.vue?vue&type=script&lang=ts\"\nexport * from \"./AccessCodeTextbox.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AccessCodeTextbox.vue?vue&type=style&index=0&id=7519fad4&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7519fad4\",\n null\n \n)\n\nexport default component.exports","\n//Imports für dieses Modul\nimport Vue from \"vue\";\nimport { namespace } from \"vuex-class\";\nimport { NAME } from \"../store/index\";\nimport { NAME as NAME_VALIDATION } from \"@/store/modules/validation\";\nimport { Component } from \"vue-property-decorator\";\nimport AccessCodeTextbox from \"../components/AccessCodeTextbox.vue\";\nimport { GET_VALIDATION_KEY } from \"@/store/modules/validation/getters\";\n\nconst modul = namespace(NAME);\n\nconst validationModul = namespace(NAME_VALIDATION);\n\n/** Das für den Zugriffscode verwendete Alphabet, für die Prüf-Funktion */\nconst alphabet = \"ABCDEFGHJKLMNPQRSTUVWXYZ23456789\";\n\n//Getters und Actions\nimport { GET_ASSIGNED_SURVEY_NAME } from \"../store/actions\";\n\n@Component({\n components: {\n AccessCodeTextbox,\n },\n})\n\n/** Implementiert den Schritt 1 der Registrierung: Eingabe des Zugriffscodes\n * @remarks Ermöglicht auch die (initiale) übernahme des Zugriffscodes via URL-Parameter gemäss Anforderung REGI-202\n * @devdoc Enthält diversen Javascript Code im Zusammenhang mit der Eingabe des Access-Codes\n */\nexport default class Step1AccessCode extends Vue {\n @modul.Action(GET_ASSIGNED_SURVEY_NAME) getAssignedSurveyName!: Function;\n\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (\n key: string\n ) => string;\n\n private onAccessCodeInput(value: string): void {\n const accessCode = this.toTidyAccessCode(value);\n if (this.accessCode !== accessCode) {\n this.accessCode = accessCode;\n this.$emit(\"onAccessCodeInput\", accessCode);\n }\n }\n\n /** Stellt für die Eingabe sicher, dass nur Zeichen des Alphabets eingegeben werden\n * @devdoc Implementiert ein Computed Property im Class Component Stil\n */\n toTidyAccessCode(accessCode: string): string {\n let tidyAccessCode = accessCode;\n //Nur Grossbuchstaben\n tidyAccessCode = tidyAccessCode.toUpperCase();\n //Zeichen ausserhalb des Alphabets entfernen\n tidyAccessCode = tidyAccessCode.replace(\n /[^ABCDEFGHJKLMNPQRSTUVWXYZ23456789]/gi,\n \"\"\n );\n return tidyAccessCode;\n }\n\n /** Der initial anzuzeigende AccessCode (12 Zeichen ohne Trennzeichen) */\n private initialAccessCode = \"\";\n\n /** Der aktuelle AccessCode (12 Zeichen ohne Trennzeichen) */\n private accessCode = \"\";\n\n /** @devdoc This must be called on created, instead of mounted, otherwise an infinite update loop is reported */\n created(): void {\n this.initialAccessCode = this.toTidyAccessCode(\n this.getAccessCodeFromQuery()\n );\n if (this.initialAccessCode) {\n //erstmalig melden\n this.onAccessCodeInput(this.initialAccessCode);\n }\n }\n\n /** Liefert den AccessCode aus der URL Query (normal und in der Vue-Route) oder einen leeren String als Fallback\n * @remarks Die geprüften Parameter sind \"c\", \"AccessCode\" und verschiedene Casings davon als Fallback.\n * @example Beispiel: {@link http://localhost:8080?accesscode=TESTACCESSCD} oder {@link http://localhost:8080/#/register?c=a234-a235-a236}\n */\n private getAccessCodeFromQuery(): string {\n let queryAccessCode = null;\n\n //Versuch mit der URL Query aus dem Vue-Routing\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = this.$route.query.c;\n }\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = this.$route.query.C;\n }\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = this.$route.query.AccessCode;\n }\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = this.$route.query.accesscode;\n }\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = this.$route.query.accessCode;\n }\n\n //Versuch mit der normalen URL Query\n const urlParams = new URLSearchParams(window.location.search);\n\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = urlParams.get(\"c\");\n }\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = urlParams.get(\"C\");\n }\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = urlParams.get(\"AccessCode\");\n }\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = urlParams.get(\"accesscode\");\n }\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = urlParams.get(\"accessCode\");\n }\n\n if (queryAccessCode === null || queryAccessCode === undefined) {\n queryAccessCode = \"\"; //Leerer AccessCode, da kein Parameter erfolgreich war\n }\n\n return queryAccessCode;\n }\n\n /** Gibt an, ob mindestens ein Zeichen des Zugriffscodes eingegeben wurde */\n get isTyping(): boolean {\n if (this.accessCode.length > 0) {\n return true;\n } else {\n return false;\n }\n }\n\n /** Gibt an, ob der Zugriffscode vollständig ist (12 Digits) */\n get isComplete(): boolean {\n if (this.accessCode.length === 12) {\n return true;\n } else {\n return false;\n }\n }\n\n /** Gibt an, ob der Zugriffscode korrekt ist (Vollständig und Prüfstelle korrekt) */\n get isCorrect(): boolean {\n if (this.ValidateAccessCode(this.accessCode, alphabet)) {\n return true;\n } else {\n return false;\n }\n }\n\n /** Validiert den Zugangscode.\n * @description Es wird geprüft, ob der Zugangscode 12 Zeichen lang ist, und die letzten 2 Zeichen ein gültiges Prüfmuster bilden.\n * Liefert true, wenn der Zugangscode für das angegebene Alphabet gültig ist.\n * @remarks Diese Methode muss die gleichen Prüfmuster liefern wie die C# Variante in AccessCodeUtil.cs\n * @remarks Implementiert die Anforderungen RegistrationScreen-02, RegistrationScreen-03, RegistrationScreen-04 in {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/RegistrierungScreen}\n */\n ValidateAccessCode(accessCode, alphabet): boolean {\n //check properties\n if (accessCode.length === 12) {\n const payload = accessCode.substr(0, 10);\n const check = accessCode.slice(-2);\n\n if (this.HasOnlyAllowedChars(payload, alphabet)) {\n //calulate the expected check\n const expectedCheck = this.GetCheck(payload, alphabet);\n\n if (check === expectedCheck) {\n //code is valid\n return true;\n }\n }\n }\n\n return false;\n }\n\n /** Liefert ein 2 Zeichen langes Prüfmuster für die angegebene Payload, unter Verwendung des angegebenen Alphabets.\n * @description Das Prüfmuster basiert auf den Positionen und den Symbolen der Payload und enthält nur Symbole des angegebenen Alphabets.\n * @remarks Diese Methode muss die gleichen Prüfmuster liefern wie die C# Variante in AccessCodeUtil.cs\n * @remarks Implementiert die Anforderungen RegistrationScreen-02, RegistrationScreen-03, RegistrationScreen-04 in {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/RegistrierungScreen}\n */\n GetCheck(payload, alphabet): string {\n //Die Anzahl verfügbarer Symbole feststellen\n const symbolCount = alphabet.length;\n //Der nutzbare Zahlenraum, welcher dem Prüfmuster entspricht, ergibt sich aus der Länge des Prüfmusters und der Anzahl verfügbarer Symbole\n const checkSpace = symbolCount * symbolCount;\n //Nutzwert, dh. die Zahl im Zahlenraum, die das Prüfmuster darstellt\n let checkNumber = 0;\n //Rollendes aufrechnen der einzelnen Symbole (bzw. deren Index im Alphabet) in der Payload, abhängig von der Position\n for (let index = 0; index < payload.length; index++) {\n const character = payload[index];\n //Index im Alphabet als Nutzwert verwenden.\n const characterIndex = alphabet.indexOf(character);\n //Die Position ist 1-basiert, damit auch das erste Zeichen einen Einfluss auf das Prüfmuster hat\n const position = index + 1;\n //Die Position wird quadratisch gewichtet, um den nutzbaren Zahlenraum besser auszunutzen (bessere Verteilung der Symbole des Prüfmusters).\n const positionWeight = position * position;\n //Positionsbasiertes Aufrechnen des Nutzwertes für das aktuelle Symbol\n //Durch die Modulo-Funktion wird der nutzbare Zahlenraum nicht verlassen.\n checkNumber =\n (checkNumber + characterIndex * positionWeight) % checkSpace;\n }\n\n //Index und somit Symbole des Prüfmusters berechnen, anhand der oberen und unteren Bits des Nutzwertes.\n const checkCharacterIndex1 = ~~(checkNumber / symbolCount);\n const checkCharacterIndex2 = checkNumber % symbolCount;\n\n const checkChar1 = alphabet[checkCharacterIndex1];\n const checkChar2 = alphabet[checkCharacterIndex2];\n\n return checkChar1 + checkChar2;\n }\n\n /** Ermöglicht die Validierung des (partiellen) Zugangcodes anhand der verwendeten Zeichen. Liefert true, wenn alle Zeichen im Alphabet enthalten sind, sonst false.\n * @remarks Implementiert die Anforderungen RegistrationScreen-02, RegistrationScreen-03, RegistrationScreen-04 in {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/RegistrierungScreen}\n */\n HasOnlyAllowedChars(payload, alphabet): boolean {\n for (let index = 0; index < payload.length; index++) {\n const character = payload[index];\n const characterIndex = alphabet.indexOf(character);\n\n if (characterIndex === -1) {\n return false;\n }\n }\n return true;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Step1AccessCode.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Step1AccessCode.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Step1AccessCode.vue?vue&type=template&id=7d04da4e\"\nimport script from \"./Step1AccessCode.vue?vue&type=script&lang=ts\"\nexport * from \"./Step1AccessCode.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('nav',{staticClass:\"nav-process process-items-3\"},[_c('ul',[_c('li',{staticClass:\"active\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t(\"allg_accesscode\")))])]),_c('li',{staticClass:\"disabled\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t(\"allg_password\")))])]),_c('li',{staticClass:\"disabled\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t(\"allg_delivery\")))])])])]),_c('h1',[_vm._v(_vm._s(_vm.$t(\"page_reg_title\")))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_reg_info'))}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isTyping),expression:\"!isTyping\"}],staticClass:\"alert alert-info\",attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"info:\")]),_vm._v(_vm._s(_vm.$t(\"page_reg_accesscodeinfo\"))+\" \")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isTyping && (!_vm.isComplete || !_vm.isCorrect)),expression:\"isTyping && (!isComplete || !isCorrect)\"}],staticClass:\"alert alert-warning\",attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"warning:\")]),_vm._v(_vm._s(_vm.$t(\"page_reg_accesscodeincorrect\"))+\" \")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isTyping && _vm.isComplete && _vm.isCorrect),expression:\"isTyping && isComplete && isCorrect\"}],staticClass:\"alert alert-success\",attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"success:\")]),_vm._v(_vm._s(_vm.$t(\"page_reg_accesscodevalid\"))+\" \")]),_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.getAssignedSurveyName(_vm.accessCode)}}},[_c('fieldset',[_c('AccessCodeTextbox',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"accesscode-textbox\",\"initial-access-code\":_vm.initialAccessCode,\"required\":true,\"label\":\"allg_accesscode\",\"validate\":_vm.getValidation('registrationDataViewModel.accessCode')},on:{\"input\":_vm.onAccessCodeInput}}),_c('div',{staticClass:\"col-sm-offset-3 col-sm-9\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\",\"role\":\"button\",\"disabled\":!_vm.isCorrect}},[_vm._v(\" \"+_vm._s(_vm.$t(\"allg_confirmandcontinue\"))+\" \")])])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\n\nimport { Component, Prop } from 'vue-property-decorator';\n\n/** Ein simple Textzeile mit Label, welche anstelle eines Formular-Feldes verwendet werden kann.\n * @remarks Ermöglicht die Read-Only-Darstellung von Informationen im Stil ählich von Eingabefeldern.\n */\n@Component\nexport default class NowhowTextline extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n /** Text für das Label\n * @remarks Als default wird ein Leerzeichen, als Platzhalter, verwendet\n */\n @Prop({ required: false, type: String, default: ' ' }) private label!: string;\n\n /** Text für das Textfeld\n * @remarks Als default wird ein Leerzeichen, als Platzhalter, verwendet\n * @type Kann sowohl ein String oder eine Number sein. Die Number wird als einfacher Text ausgegeben.\n */\n @Prop({ required: false, type: [String, Number], default: ' ' }) private text!: string | number;\n\n /** Ob das Textfeld als formatiertes HTML gerendert werden soll\n * @remarks Falls ja, wird der Text direkt als HTML ausgegeben. Dies kann bei vor-formatierten Ressourcen-Texten verwendet werden.\n */\n @Prop({ required: false, type: Boolean, default: false }) private isHtmlText!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowTextline.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowTextline.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowTextline.vue?vue&type=template&id=48a70f70\"\nimport script from \"./NowhowTextline.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowTextline.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:{ 'form-group text-line': true }},[(_vm.label)?_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":_vm.id}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.label))+\" \")]):_vm._e(),_c('div',{staticClass:\"col-sm-9 text-line\"},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isHtmlText),expression:\"!isHtmlText\"}],key:_vm.id,staticClass:\"form-control text-line\",attrs:{\"text\":_vm.text,\"id\":_vm.id,\"name\":_vm.id,\"disabled\":_vm.disabled}},[_vm._v(_vm._s(_vm.text))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isHtmlText),expression:\"isHtmlText\"}],domProps:{\"innerHTML\":_vm._s(_vm.text)}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { NAME } from '../store/index';\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nimport { Component, Prop } from 'vue-property-decorator';\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport NowhowTextline from '@/components/NowhowTextline.vue';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\nimport { ACCOUNT_CONTACT } from '@/router';\n\nconst modul = namespace(NAME);\nconst validationModul = namespace(NAME_VALIDATION);\n\n//Getters und Actions\nimport { SURVEY_NAME } from '../store/getters';\nimport { RegistrationDataViewModel } from '@/api-viewmodel';\nimport { REGISTER, GET_ASSIGNED_SURVEY_NAME } from '../store/actions';\n\n@Component({\n components: {\n NowhowTextbox,\n NowhowTextline\n }\n})\n\n/** Implementiert den Schritt 1 der Registrierung: Eingabe des Zugriffscodes\n * @devdoc Enthält diversen Javascript Code im Zusammenhang mit der Eingabe des Access-Codes\n */\nexport default class Step2Password extends Vue {\n private ACCOUNT_CONTACT = ACCOUNT_CONTACT;\n\n registrationData = new RegistrationDataViewModel();\n @Prop({ required: false, default: '' }) private accessCode!: string;\n\n @modul.Getter(SURVEY_NAME) surveyName!: string;\n @modul.Action(GET_ASSIGNED_SURVEY_NAME) getAssignedSurveyName!: Function;\n @modul.Action(REGISTER) register!: Function;\n\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n /** Wrapper für eine Form-Submit-Aktion, um das Standard-Submit-Verhalten im Zusammenspiel mit vee-validate zu unterbinden.\n * @devdoc Wird hier benötigt, da sich die zu versendenden Daten nicht im Store befinden.\n */\n private registerWrapper() {\n //Accesscode aus dem Model dieser Komponente in die Registrations-Daten übernehmen, da nicht hier vom Benutzer explizit eingegeben\n this.registrationData.accessCode = this.accessCode;\n this.register(this.registrationData);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Step2Password.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Step2Password.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Step2Password.vue?vue&type=template&id=0c63c788\"\nimport script from \"./Step2Password.vue?vue&type=script&lang=ts\"\nexport * from \"./Step2Password.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('nav',{staticClass:\"nav-process process-items-3\"},[_c('ul',[_c('li',{staticClass:\"disabled\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('allg_accesscode')))])]),_c('li',{staticClass:\"active\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('allg_password')))])]),_c('li',{staticClass:\"disabled\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('allg_delivery')))])])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('page_reg_title')))]),_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid, handleSubmit }){return [_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.registerWrapper)}}},[_c('fieldset',[_c('NowhowTextline',{attrs:{\"id\":\"accesscode-textline\",\"label\":_vm.$t('allg_accesscode'),\"text\":_vm.accessCode}}),_c('NowhowTextline',{attrs:{\"id\":\"emailinfo-textline\",\"label\":_vm.$t('survey_name'),\"text\":_vm.surveyName}}),_c('NowhowTextline',{attrs:{\"id\":\"emailinfo-textline\",\"text\":_vm.$t('page_rpw_emailinfo')}}),_c('NowhowTextbox',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"registrationEmail\",\"label\":\"allg_email\",\"validate\":_vm.getValidation('registrationDataViewModel.eMailAddress')},model:{value:(_vm.registrationData.eMailAddress),callback:function ($$v) {_vm.$set(_vm.registrationData, \"eMailAddress\", $$v)},expression:\"registrationData.eMailAddress\"}}),_c('NowhowTextline',{attrs:{\"id\":\"emailinfo-textline\",\"text\":_vm.$t('page_rpw_passwordinfo'),\"is-html-text\":true}}),_c('NowhowTextbox',{attrs:{\"id\":\"registrationPassword\",\"label\":\"allg_password\",\"input-type\":\"Password\",\"validate\":_vm.getValidation('registrationDataViewModel.password')},model:{value:(_vm.registrationData.password),callback:function ($$v) {_vm.$set(_vm.registrationData, \"password\", $$v)},expression:\"registrationData.password\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"registrationPasswordConfirmation\",\"label\":\"allg_password_repetition\",\"input-type\":\"Password\",\"validate\":_vm.getValidation('registrationDataViewModel.passwordConfirmation') +\n '|confirmed:registrationPassword'},model:{value:(_vm.registrationData.passwordConfirmation),callback:function ($$v) {_vm.$set(_vm.registrationData, \"passwordConfirmation\", $$v)},expression:\"registrationData.passwordConfirmation\"}}),_c('div',{staticClass:\"col-sm-offset-3 col-sm-9\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\",\"role\":\"button\",\"disabled\":invalid}},[_vm._v(\" \"+_vm._s(_vm.$t('allg_confirmandregister'))+\" \")])])],1)])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { NAME } from '../store/index';\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nimport { Component } from 'vue-property-decorator';\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\nimport { ACCOUNT_CONTACT } from '@/router';\n\nconst modul = namespace(NAME);\n\nconst validationModul = namespace(NAME_VALIDATION);\n\n//Getters und Actions\nimport { RegistrationDataViewModel } from '@/api-viewmodel';\nimport { REGISTRATION_RESULT } from '../store/getters';\n\n@Component({\n components: {\n NowhowTextbox\n }\n})\n\n/** Implementiert den Schritt 1 der Registrierung: Eingabe des Zugriffscodes\n * @devdoc Enthält diversen Javascript Code im Zusammenhang mit der Eingabe des Access-Codes\n */\nexport default class Step3Result extends Vue {\n private ACCOUNT_CONTACT = ACCOUNT_CONTACT;\n\n registrationData = new RegistrationDataViewModel();\n\n @modul.Getter(REGISTRATION_RESULT) getRegistrationResult!: boolean;\n\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n /** Gibt an, ob die Registration erfolgreich war */\n get isRegistrationSuccessful() {\n return this.getRegistrationResult === true;\n }\n\n /** Gibt an, ob die Registration fehlschlug */\n get isRegistrationFailed() {\n return this.getRegistrationResult === false;\n }\n\n /** Gibt an, ob die Registration abgeschlossen ist */\n get isRegistrationDone() {\n return this.getRegistrationResult !== null;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Step3Result.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Step3Result.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Step3Result.vue?vue&type=template&id=2fa88ed7\"\nimport script from \"./Step3Result.vue?vue&type=script&lang=ts\"\nexport * from \"./Step3Result.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('nav',{staticClass:\"nav-process process-items-3\"},[_c('ul',[_c('li',{staticClass:\"disabled\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('allg_accesscode')))])]),_c('li',{staticClass:\"disabled\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('allg_password')))])]),_c('li',{staticClass:\"active\"},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('allg_delivery')))])])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('page_reg_title')))]),(this.isRegistrationSuccessful)?_c('div',[_c('div',{staticClass:\"alert alert-success\",attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"success:\")]),_vm._v(_vm._s(_vm.$t('page_rcn_message'))+\" \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_rcn_info'))}})]):_vm._e(),(this.isRegistrationFailed)?_c('div',[_c('div',{staticClass:\"alert alert-danger\",attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"danger:\")]),_vm._v(_vm._s(_vm.$t('page_rer_infofailure'))+\" \")]),_vm._v(\" \"+_vm._s(_vm.$t('page_rer_info'))+\" \"),_c('br'),_c('br'),_c('div',{staticClass:\"form-horizontal\"},[_c('div',{staticClass:\"col-sm-offset-3 col-sm-9\"},[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_CONTACT }}},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"role\":\"button\"}},[_vm._v(\" \"+_vm._s(_vm.$t('nav_contact'))+\" \")])])],1)])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from \"vue\";\nimport { namespace } from \"vuex-class\";\nimport { NAME } from \"../store/index\";\nimport { Component } from \"vue-property-decorator\";\nimport NowhowTextbox from \"@/components/NowhowTextbox.vue\";\nimport Step1AccessCode from \"../components/Step1AccessCode.vue\";\nimport Step2Password from \"../components/Step2Password.vue\";\nimport Step3Result from \"../components/Step3Result.vue\";\nimport { IS_SURVEY_NAME_ASSIGNED, REGISTRATION_RESULT } from \"../store/getters\";\n\nconst modul = namespace(NAME);\n\n@Component({\n components: {\n Step1AccessCode,\n Step2Password,\n Step3Result,\n NowhowTextbox,\n },\n})\n\n/** Registrierung an der Anwendung.\n * @remarks Implementiert {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/RegistrierungScreen}\n * und die darauf folgenden Screens im Wizard-Style.\n * @remarks Die Eingabe des Zugriffscodes kann auch via URL im Stile von {@link http://localhost:8080?AccessCode=TESTACCESSCD} erfolgen\n * @remarks Implementiert einen Teil der Anforderungen REGI-601, REGI-602, REGI-603, REGI-604\n * @devdoc\n * Diese Komponente enthält 3 Teile, welche die Wizard-Steps abbilden\n *\n * Teil 1: Die Eingabe und Prüfung des Zugangscodes. Im Erfolgsfall wird der Name der zugehörigen Befragung im Store abgelegt (Anzeige, wenn keine weiteren Schritte erfolgt sind)\n * Teil 2: Eingabe von E-Mail und dem gewählten Passwort. Hier kann die eigentliche Registration ausgelöst werden. Das Resultat der Registration (Erfolgs- oder Fehlerfall) wird im Store abgelegt (Anzeige wenn ein ein Survey-Name verfügbar ist)$\n * Teil 3: Anzeige des Resultat als Erfolg oder Fehler. (Anzeige gemäss Resultat)\n */\nexport default class AccountRegister extends Vue {\n @modul.Getter(IS_SURVEY_NAME_ASSIGNED) isSurveyNameAssigned!: boolean;\n @modul.Getter(REGISTRATION_RESULT) getRegistrationResult!: boolean;\n\n //Hinweis: Der AccessCode wird lokal im Zustand geführt, um ihn für die Registrierung im Schritt 2 verfügbar zu haben\n accessCode = \"\";\n\n /** Beim Verlassen der Registrierung den Zustand zurücksetzen.\n * @remarks Ermöglich den erneuten Start der Registrierung durch erneute Navigation von/zu der Registrierung\n */\n beforeDestroy(): void {\n //Access Code und Registartion löschen, um den späteren Neubeginn auf dem ersten Schritt zu erzwingen.\n this.accessCode = \"\";\n }\n\n /** Weist einen in Schritt 1 geänderten AccessCode dem Zustand dieser Komponente zu */\n onAccesCodeInput(accessCode): void {\n this.accessCode = accessCode;\n }\n\n /** Gibt an, ob die Registration erfolgreich war */\n get isRegistrationSuccessful(): boolean {\n return this.getRegistrationResult === true;\n }\n\n /** Gibt an, ob die Registration fehlschlug */\n get isRegistrationFailed(): boolean {\n return this.getRegistrationResult === false;\n }\n\n /** Gibt an, ob die Registration abgeschlossen ist */\n get isRegistrationDone(): boolean {\n return this.getRegistrationResult !== null;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=07c5110a\"\nimport script from \"./Register.vue?vue&type=script&lang=ts\"\nexport * from \"./Register.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[(!_vm.isSurveyNameAssigned && !this.isRegistrationDone)?_c('div',[_c('Step1AccessCode',{on:{\"onAccessCodeInput\":_vm.onAccesCodeInput}})],1):_vm._e(),(_vm.isSurveyNameAssigned && !this.isRegistrationDone)?_c('div',[_c('Step2Password',{attrs:{\"access-code\":_vm.accessCode}})],1):_vm._e(),(this.isRegistrationDone)?_c('div',[_c('Step3Result')],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { NAME } from '../store/index';\nimport { NAME as NAME_HEADERNOTIFICATION } from '@/store/modules/headerNotification';\nimport { Component } from 'vue-property-decorator';\nimport { NEW_SUCESS, NEW_ALERT } from '@/store/modules/headerNotification/actions';\nimport { ACCOUNT_RECOVERY } from '@/router';\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\n\nconst headerModul = namespace(NAME_HEADERNOTIFICATION);\nconst modul = namespace(NAME);\n\n//Getters und Actions\nimport { REQUEST_REGISTRATION } from '../store/actions';\n\n@Component({\n components: {\n NowhowTextbox\n }\n})\n\n/** Passwort zurücksetzen, erneute Registration wird ausgelöst. Steht nur für externe Benutzer zur Verfügung.\n * @remarks Nur externe Benutzer können eine \"Password-Recovery\" benutzen, da nur diese den Registrierungsprozess unterstützen. Für BFS-interne Benutzer muss ein Admin\n das Passwort für den betreffenden Benutzer resetten.\n * @remarks Implementiert {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/PasswortVergessenScreen}\n*/\nexport default class AccountRecovery extends Vue {\n private ACCOUNT_RECOVERY = ACCOUNT_RECOVERY;\n\n username = '';\n\n @headerModul.Action(NEW_SUCESS) successMessage!: Function;\n @headerModul.Action(NEW_ALERT) alertMessage!: Function;\n\n @modul.Action(REQUEST_REGISTRATION) requestRegistration!: Function;\n\n /** Wrapper für eine Form-Submit-Aktion, um das Standard-Submit-Verhalten im Zusammenspiel mit vee-validate zu unterbinden.\n * @devdoc Wird hier benötigt, da sich die zu versendenden Daten nicht im Store befinden.\n */\n private requestRegistrationWrapper() {\n this.requestRegistration(this.username);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Recovery.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Recovery.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Recovery.vue?vue&type=template&id=74f8ec1f\"\nimport script from \"./Recovery.vue?vue&type=script&lang=ts\"\nexport * from \"./Recovery.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('page_prc_title')))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_prc_info'))}}),_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid, handleSubmit }){return [_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.requestRegistrationWrapper)}}},[_c('fieldset',[_c('NowhowTextbox',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"username-textbox\",\"label\":\"allg_user_login_id\",\"validate\":\"required\"},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('div',{staticClass:\"col-sm-offset-3 col-sm-9\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\",\"role\":\"button\",\"disabled\":invalid}},[_vm._v(\" \"+_vm._s(_vm.$t('btn_send'))+\" \")])])],1)])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { Component, Watch } from 'vue-property-decorator';\nimport {\n ENTRY_WIZARD_INFO,\n ENTRY_WIZARD_CONTACT,\n ENTRY_WIZARD_ENTERPRISE,\n ENTRY_WIZARD_LOCAL,\n ENTRY_WIZARD_CONFIRMATION,\n ENTRY_WIZARD_ACTIVITY,\n ENTRY_WIZARD_CENSUS\n} from '@/router';\nimport { NAME } from '../store/index';\n\nconst modul = namespace(NAME);\n\nimport { NAME as NAME_ACCOUNT } from '@/areas/account/store';\nconst accountModul = namespace(NAME_ACCOUNT);\nimport { IS_EXTERNAL_USER } from '@/areas/account/store/getters';\n\n//Getters und Actions\nimport { GET_CASE_FULL_DATA, REMOVE_CASE_DATA } from '../store/actions';\nimport { CASE_FULL_DATA, CASE_STEPINFO, CASE_ID } from '../store/getters';\nimport { ICaseFullDataViewModel, ICaseStepInfoViewModel } from '@/api-viewmodel';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { CLOSE } from '@/store/modules/footerBar/actions';\n\nexport const InfoStepIndex = 0;\nexport const ContactStepIndex = 1;\nexport const EnterpriseStepIndex = 2;\nexport const LocalStepIndex = 3;\nexport const ActivityStepIndex = 4;\nexport const CensusStepIndex = 5;\nexport const ConfirmationStepIndex = 6;\n\n@Component({\n components: {}\n})\nexport default class Wizard extends Vue {\n //Wizard-Steps (für das Routing)\n private ENTRY_WIZARD_INFO = ENTRY_WIZARD_INFO;\n private ENTRY_WIZARD_CONTACT = ENTRY_WIZARD_CONTACT;\n private ENTRY_WIZARD_ENTERPRISE = ENTRY_WIZARD_ENTERPRISE;\n private ENTRY_WIZARD_LOCAL = ENTRY_WIZARD_LOCAL;\n private ENTRY_WIZARD_ACTIVITY = ENTRY_WIZARD_ACTIVITY;\n private ENTRY_WIZARD_CENSUS = ENTRY_WIZARD_CENSUS;\n private ENTRY_WIZARD_CONFIRMATION = ENTRY_WIZARD_CONFIRMATION;\n\n //Getters\n @modul.Getter(CASE_FULL_DATA) caseFullData!: ICaseFullDataViewModel;\n @modul.Getter(CASE_STEPINFO) caseStepInfo!: ICaseStepInfoViewModel;\n @modul.Getter(CASE_ID) caseId!: bigint;\n @accountModul.Getter(IS_EXTERNAL_USER) isExternalUser!: boolean;\n\n //Actions\n @modul.Action(GET_CASE_FULL_DATA) getCaseFullData!: Function;\n @modul.Action(REMOVE_CASE_DATA) removeCaseData!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n\n /** Falldaten erst bei 'mounted' laden.\n * Die Falldaten müssen nur geladen werden, wenn diese auch angezeigt werden. */\n mounted() {\n console.debug('Wizard.vue::mounted');\n console.debug('Wizard.vue::mounted->query', this.$route.query);\n\n //Daten zum anzuzeigenden Fall holen\n if (this.isExternalUser) {\n //Für extere Benutzer immer automatisch serverseitig, anhand der Zuordnung via Benutzername holen\n console.debug('Wizard.vue::mounted->getCaseFullData für Externen Benutzer');\n this.getCaseFullData();\n } else {\n //Für BFS-Benutzer die Daten via URL-Query-Parameter holen (Bei Aufruf aus dem Backend)\n const caseId = this.$route.query.CaseId;\n if (caseId) {\n console.debug('Wizard.vue::mounted->getCaseFullData für BFS Benutzer mit Query:', caseId);\n this.getCaseFullData(caseId);\n } else {\n //Spezialfall: Für BFS-Benutzer, falls die Daten bereits vorhanden sind, nur die StepInfo anwenden\n //Dies behandelt den Spezialfall für die Rückkehr vom Kontakt-Screen\n console.debug('Wizard.vue::mounted->revisitByStepInfo für BFS Benutzer mit bestehenden Daten');\n this.revisitByStepInfo();\n }\n }\n }\n\n /** Behandelt die Änderung des Falls\n * @remarks Wenn die Basis-Fall-Daten erstmalig verfügbar sind oder falls der Fall ändert, die Step-Navigation ausführen\n * @devdoc Benhandelt den Spezialfall für das Printout eines Falls in einem Neuen Tab,\n * indem für diese Route nicht die Step-Navigation ausgeführt wird,\n * sondern effektiv die Printout-Route gepusht wird.\n */\n @Watch('caseFullData.caseId', { deep: true, immediate: true })\n private onCaseIdChanged(newVal: bigint, oldVal: bigint) {\n if (oldVal && newVal && newVal !== oldVal) {\n //Bei einem Wechsel von einem früheren Fall: bisherige Falldaten verwerfen\n console.debug('Wizard.vue::onCaseIdChanged->Change detected');\n this.removeCaseData();\n } else if (newVal && newVal !== oldVal) {\n console.debug('Wizard.vue::onCaseIdChanged->Case reload detected');\n //Fall neu geladen: jetzt Navigation gemäss der allfälligen Step-Info durchführen\n this.revisitByStepInfo();\n }\n }\n\n private revisitByStepInfo() {\n console.debug('Wizard.vue::revisitByStepInfo::caseStepInfo', this.caseStepInfo);\n console.debug('Wizard.vue::revisitByStepInfo::caseId', this.caseId);\n if (this.caseStepInfo && this.caseStepInfo.overallStepIndex) {\n //Step-Navigation nur anhand des Overall-Step-Index\n if (this.caseStepInfo.overallStepIndex === InfoStepIndex) {\n this.$router.push({\n name: ENTRY_WIZARD_INFO\n });\n } else if (this.caseStepInfo.overallStepIndex === ContactStepIndex) {\n this.$router.push({\n name: ENTRY_WIZARD_CONTACT\n });\n } else if (this.caseStepInfo.overallStepIndex === EnterpriseStepIndex) {\n this.$router.push({\n name: ENTRY_WIZARD_ENTERPRISE\n });\n } else if (this.caseStepInfo.overallStepIndex === LocalStepIndex) {\n this.$router.push({\n name: ENTRY_WIZARD_LOCAL\n });\n } else if (this.caseStepInfo.overallStepIndex === ActivityStepIndex) {\n this.$router.push({\n name: ENTRY_WIZARD_ACTIVITY\n });\n } else if (this.caseStepInfo.overallStepIndex === CensusStepIndex) {\n this.$router.push({\n name: ENTRY_WIZARD_CENSUS\n });\n } else if (this.caseStepInfo.overallStepIndex === ConfirmationStepIndex) {\n this.$router.push({\n name: ENTRY_WIZARD_CONFIRMATION\n });\n }\n } else {\n //Fallback: Immer am Start beginnen\n this.$router.push({ name: ENTRY_WIZARD_INFO });\n }\n }\n\n /** Die von den Steps erstellten Wizard-Navigations-Buttons entfernen */\n beforeDestroy() {\n this.closeFooterBar();\n //Hinweis: Hier die Falldaten nicht entfernen (Der Benutzer könnte z.B. rasch auf den Kontakt-Screen wechseln)\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wizard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wizard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Wizard.vue?vue&type=template&id=17b0c3b3&scoped=true\"\nimport script from \"./Wizard.vue?vue&type=script&lang=ts\"\nexport * from \"./Wizard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Wizard.vue?vue&type=style&index=0&id=17b0c3b3&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17b0c3b3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('nav',{staticClass:\"nav-process noselect\"},[_c('ul',[_c('router-link',{attrs:{\"to\":{ name: _vm.ENTRY_WIZARD_INFO }},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('li',{class:[isActive && 'active'],attrs:{\"title\":_vm.$t('page_eni_wzrdtitle')}},[_c('span',{staticClass:\"nav-bar\"}),_vm._v(\" \"+_vm._s(_vm.$t('page_eni_wzrdtitle'))+\" \")])]}}])}),_c('router-link',{attrs:{\"to\":{ name: _vm.ENTRY_WIZARD_CONTACT }},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('li',{class:[isActive && 'active'],attrs:{\"title\":_vm.$t('nav_contact')}},[_c('span',{staticClass:\"nav-bar\"}),_vm._v(\" \"+_vm._s(_vm.$t('nav_contact'))+\" \")])]}}])}),_c('router-link',{attrs:{\"to\":{ name: _vm.ENTRY_WIZARD_LOCAL }},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('li',{class:[isActive && 'active'],attrs:{\"title\":_vm.$t('nav_lu_details')}},[_c('span',{staticClass:\"nav-bar\"}),_vm._v(\" \"+_vm._s(_vm.$t('nav_lu_details'))+\" \")])]}}])}),_c('router-link',{attrs:{\"to\":{ name: _vm.ENTRY_WIZARD_ENTERPRISE }},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('li',{class:[isActive && 'active'],attrs:{\"title\":_vm.$t('nav_eu_details')}},[_c('span',{staticClass:\"nav-bar\"}),_vm._v(\" \"+_vm._s(_vm.$t('nav_eu_details'))+\" \")])]}}])}),_c('router-link',{attrs:{\"to\":{ name: _vm.ENTRY_WIZARD_ACTIVITY }},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('li',{class:[isActive && 'active'],attrs:{\"title\":_vm.$t('nav_activity')}},[_c('span',{staticClass:\"nav-bar\"}),_vm._v(\" \"+_vm._s(_vm.$t('nav_activity'))+\" \")])]}}])}),_c('router-link',{attrs:{\"to\":{ name: _vm.ENTRY_WIZARD_CENSUS }},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('li',{class:[isActive && 'active'],attrs:{\"title\":_vm.$t('nav_census')}},[_c('span',{staticClass:\"nav-bar\"}),_vm._v(\" \"+_vm._s(_vm.$t('nav_census'))+\" \")])]}}])}),_c('router-link',{attrs:{\"to\":{ name: _vm.ENTRY_WIZARD_CONFIRMATION }},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('li',{class:[isActive && 'active']},[_c('span',{staticClass:\"nav-bar\"}),_vm._v(\" \"+_vm._s(_vm.$t('nav_confirmation'))+\" \")])]}}])})],1)]),_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport FocusLock from 'vue-focus-lock';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\n\n@Component({\n components: { FocusLock }\n})\n\n/** Ein Modal\n */\nexport default class NowhowModal extends Vue {\n @Prop({ required: false, type: String, default: ' ' }) private title!: string;\n @Prop({ required: true, type: String }) private id!: string;\n @Prop({ required: false, type: String, default: '' }) private text!: string;\n\n //binding! :visible.sync\n @Prop({ required: true, type: Boolean, default: false }) private visible!: boolean;\n @Prop({ required: false, type: Boolean, default: true }) private canClose!: boolean;\n @Prop({ required: false, type: Boolean, default: true }) private hasHeader!: boolean;\n @Prop({ required: false, type: String, default: '' }) private additionalCss!: boolean;\n @Prop({ required: false, type: String, default: 'col-xs-11 col-md-10 col-lg-8 col-xl-6' })\n private contentCss!: boolean;\n\n private backdropElement: HTMLElement;\n\n beforeDestroy() {\n this.closeModal();\n }\n\n @Watch('visible')\n visibleChanged(newVal) {\n console.debug('NowhowModal.vue::visibleChanged', newVal);\n if (newVal) {\n this.openModal();\n } else {\n this.closeModal();\n }\n }\n\n closeModal() {\n if (this.canClose) {\n //Remove Eventlisteners\n document.removeEventListener('keydown', this.handleKeydown);\n this.backdropElement?.removeEventListener('click', this.handleClick);\n\n this.$emit('update:visible', false);\n }\n }\n openModal() {\n if (this.canClose) {\n //Register Eventlisteners\n document.addEventListener('keydown', this.handleKeydown);\n this.$nextTick(() => {\n this.backdropElement = document.getElementById('backdrop');\n this.backdropElement.addEventListener('click', this.handleClick);\n });\n }\n\n this.$emit('update:visible', true);\n }\n\n handleKeydown(event) {\n const keycode = event.which || event.keyCode;\n if (keycode === 27) {\n // handle Escape key (ESC)\n this.closeModal();\n return;\n }\n }\n handleClick(event) {\n event.preventDefault();\n this.closeModal();\n }\n get hasFooterSlot() {\n return !!this.$slots['footer'];\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowModal.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowModal.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowModal.vue?vue&type=template&id=be8e06ba&scoped=true\"\nimport script from \"./NowhowModal.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowModal.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NowhowModal.vue?vue&type=style&index=0&id=be8e06ba&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"be8e06ba\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.visible)?_c('Portal',{attrs:{\"to\":\"modals\"}},[_c('FocusLock',{attrs:{\"disabled\":!_vm.visible}},[_c('div',{staticClass:\"modal modal--open\",class:_vm.additionalCss,attrs:{\"id\":_vm.id,\"role\":\"dialog\",\"tabindex\":\"-1\"}},[(_vm.visible)?_c('div',{staticClass:\"modal__content well\",class:_vm.contentCss},[(_vm.hasHeader)?_c('div',{staticClass:\"modal__header\"},[_c('h1',[_vm._v(_vm._s(_vm.title))])]):_vm._e(),_c('div',{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"modal__body\",attrs:{\"tabindex\":\"0\"}},[(_vm.text)?_c('div',[_vm._v(_vm._s(_vm.text))]):_vm._e(),(!_vm.text)?_vm._t(\"body\",function(){return [_vm._v(\" Dies ist der Standard Modal Body \")]}):_vm._e()],2),(_vm.hasFooterSlot)?_c('div',{staticClass:\"modal__footer\"},[_vm._t(\"footer\")],2):_vm._e()]):_vm._e()]),_c('div',{class:{ backdrop: true, 'backdrop--open': _vm.visible },attrs:{\"id\":\"backdrop\"}})])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\n\nimport NowhowModal from '@/components/NowhowModal.vue';\n\n@Component({\n components: {\n NowhowModal\n }\n})\n\n/** Ein Titel für einen Wizard-Step. Ermöglicht die Darstellung eines Hilfetextextes als Zusatz zur Überschrift\n * @remarks Implementiert die \"Zusatzinformationen für jeden Prozessschritt\" mittels eines simplen Overlays\n */\nexport default class StepHeader extends Vue {\n /** Das Label (Ressource) für den Hilfetext (kann auch HTML-Code enthalten) */\n @Prop({ required: true, default: '', type: String }) private helpLabel!: string;\n\n /** Das Label (Ressource) für den Titel */\n @Prop({ required: false, default: '', type: String }) private headerLabel!: string;\n\n /** Text für den Titel (wird nach dem Label angezeigt)\n * @remarks Als default wird ein leerer String verwendet\n */\n @Prop({ required: false, type: [String], default: '' }) private headerText!: string;\n\n @Prop({ required: false, type: String, default: 'stepHeader' }) private id!: string;\n\n /** Nur auf Verlangen anzeigen */\n showHelp = false;\n\n mounted() {\n console.debug('StepHeader.vue::mounted');\n }\n\n closeModal() {\n this.showHelp = false;\n }\n\n visibilityChanged(value) {\n this.showHelp = value;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepHeader.vue?vue&type=template&id=a3f8f288&scoped=true\"\nimport script from \"./StepHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./StepHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./StepHeader.vue?vue&type=style&index=0&id=a3f8f288&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a3f8f288\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"component-header clearfix\"},[_c('h1',{staticClass:\"component-heading\"},[_vm._v(_vm._s(_vm.$t(_vm.headerLabel))+_vm._s(_vm.headerText))]),_c('div',{staticClass:\"heading-label label label-help\"},[_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.showHelp = !_vm.showHelp}}},[_c('span',{staticClass:\"icon icon--info\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',{staticClass:\"icon-addornment\"},[_vm._v(_vm._s(_vm.$t('allg_help')))])])]),_c('NowhowModal',{attrs:{\"id\":\"modal-help\",\"visible\":_vm.showHelp,\"title\":_vm.$t('allg_help')},on:{\"update:visible\":_vm.visibilityChanged}},[_c('template',{slot:\"body\"},[_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"}},[_c('fieldset',[_c('div',{staticClass:\"form-group\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t(_vm.helpLabel))}})])]),_c('fieldset',[_c('div',{staticClass:\"form-group button-group\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" \"+_vm._s(_vm.$t('allg_ok'))+\" \")])])])])])],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { Component } from 'vue-property-decorator';\nimport { ENTRY_WIZARD_CONTACT } from '@/router';\nimport { InfoStepIndex } from '../views/Wizard.vue';\nimport StepHeader from './StepHeader.vue';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\n//Getters und Actions\nimport { CASE_FULL_DATA } from '../store/getters';\nimport { SUBMIT_CASE_STEPINFO } from '../store/actions';\nimport { CaseStepInfoViewModel, ICaseFullDataViewModel } from '@/api-viewmodel';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\n\n@Component({\n components: {\n StepHeader\n }\n})\n\n/** Info-Step im Entry Wizard\n * @remarks Implementiert den {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungInfoScreen}\n */\nexport default class StepInfo extends Vue {\n //Getters\n @modul.Getter(CASE_FULL_DATA) caseFullData!: ICaseFullDataViewModel;\n\n //Actions\n @modul.Action(SUBMIT_CASE_STEPINFO) submitStepInfo!: Function;\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n\n mounted() {\n //Den aktuellen Step sofort melden\n this.submitStepInfo({\n caseId: this.caseFullData.caseId,\n data: new CaseStepInfoViewModel(InfoStepIndex, null)\n });\n\n this.showStepNavigation();\n }\n\n /** Liefert den Namen der Anwendung aus den Ressourcen */\n applicationName(): string {\n return this.$t('allg_application_name').toString();\n }\n\n /** Gibt an, ob der aktuelle Fall ein öffentlich-rechtliches Unternehmen betrifft */\n isOeffentlichRechtlich(): boolean {\n // HINT: Der strikte Vergleich mit === funktioniert hier aus unbekannten Gründen nicht (immer false)\n // eslint-disable-next-line eqeqeq\n return this.caseFullData?.caseClassificationCd == 2;\n }\n\n /** Gibt an, ob der aktuelle Fall ein privat-rechtliches Unternehmen betrifft */\n isPrivatRechtlich(): boolean {\n // HINT: Der strikte Vergleich mit === funktioniert hier aus unbekannten Gründen nicht (immer false)\n // eslint-disable-next-line eqeqeq\n return this.caseFullData?.caseClassificationCd == 1;\n }\n\n /** Definiert die Wizard-Navigations-Buttons und zeigt diese an */\n showStepNavigation() {\n console.debug('StepInfo.vue::showStepNavigation');\n\n const buttonRight: Array = [\n {\n onClick: () => {\n this.gotoNextStep();\n },\n label: 'btn_wzrd_next',\n type: FooterButtonType.primary\n }\n ];\n this.closeFooterBar();\n this.newFooterBar({ buttonRight });\n }\n\n /** Navigiert zum nächsten Step im Entry-Wizard. */\n gotoNextStep() {\n this.$router.push({ name: ENTRY_WIZARD_CONTACT });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepInfo.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepInfo.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepInfo.vue?vue&type=template&id=4e022b8a&scoped=true\"\nimport script from \"./StepInfo.vue?vue&type=script&lang=ts\"\nexport * from \"./StepInfo.vue?vue&type=script&lang=ts\"\nimport style0 from \"./StepInfo.vue?vue&type=style&index=0&id=4e022b8a&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e022b8a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('StepHeader',{attrs:{\"header-label\":\"page_eni_wzrdtitle\",\"help-label\":\"page_eni_help\"}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_eni_welcome_standard'))}}),_c('hr'),_c('div',{staticClass:\"row\"},[_vm._m(0),_c('div',{staticClass:\"col-sm-10\"},[_c('p',{staticClass:\"lead\"},[_vm._v(\" \"+_vm._s(_vm.$t('page_eni_goal_lead'))+\" \")]),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_eni_goal'))}})])]),_c('hr'),_c('div',{staticClass:\"row\"},[_vm._m(1),_c('div',{staticClass:\"col-sm-10\"},[_c('p',{staticClass:\"lead\"},[_vm._v(\" \"+_vm._s(_vm.$t('page_eni_preparation_lead'))+\" \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_eni_preparation'))}})])]),_c('hr'),_c('div',{staticClass:\"row\"},[_vm._m(2),_c('div',{staticClass:\"col-sm-10\"},[_c('p',{staticClass:\"lead\"},[_vm._v(\" \"+_vm._s(_vm.$t('page_eni_feedback_lead'))+\" \")]),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_eni_feedback'))}})])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('page_eni_thankyou'))+\" \")])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"col-sm-offset-1 col-sm-1\"},[_c('span',{staticClass:\"icon icon--info icon-large\",attrs:{\"alt\":\"info\"}})])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"col-sm-offset-1 col-sm-1\"},[_c('span',{staticClass:\"icon icon--eye icon-large\",attrs:{\"alt\":\"info\"}})])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"col-sm-offset-1 col-sm-1\"},[_c('span',{staticClass:\"icon icon--doc icon-large\",attrs:{\"alt\":\"info\"}})])\n}]\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport axios from 'axios';\n\n@Component({})\n\n/** Ermöglicht die Darstellung eines teils einer HTML-Seite als Teil einer Host-Seite\n * @remarks Diese Komponente ermöglicht Funktionalität ähnlich einem iFrame, jedoch ohne dessen Beschränkungen\n * aufgrund des Sandboxing, und mit Auswahl eines spezifischen Teils der Seite.\n */\nexport default class UnFrame extends Vue {\n /** Das einzufügende HTML-Element aus der erhaltenen Seite */\n @Prop({ required: false, default: null, type: HTMLElement }) private content!: HTMLElement;\n\n /** Die URL der abzuholenden HTML-Seite */\n @Prop({ required: true, default: '', type: String }) private url!: string;\n\n /** Die Id des darzustellenen HTML-Elements */\n @Prop({ required: true, default: '', type: String }) private selectElementId!: string;\n\n mounted() {\n //Inhalt vom Backend abholen...\n console.log('UnFrame.vue::mounted::Url', this.url);\n axios\n .get(this.url, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest'\n }\n })\n .then(response => {\n const doc = new DOMParser().parseFromString(response.data, 'text/html');\n const htmlContent = doc.getElementById(this.selectElementId);\n //Inhalt einfügen\n this.$el.appendChild(htmlContent);\n\n //Fertig melden\n this.$emit('complete', this.selectElementId);\n });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnFrame.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnFrame.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./UnFrame.vue?vue&type=template&id=22b48720&scoped=true\"\nimport script from \"./UnFrame.vue?vue&type=script&lang=ts\"\nexport * from \"./UnFrame.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22b48720\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { Component } from 'vue-property-decorator';\nimport UnFrame from './UnFrame.vue';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\n//Getters und Actions\nimport { CASE_ID } from '../store/getters';\nimport { GET_CASE_FULL_DATA } from '../store/actions';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\n\n@Component({\n components: { UnFrame }\n})\n\n/** Print im Entry Wizard\n * @remarks Implementiert den {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungDruckAnsichtScreen}\n * Führt ein automatisches Print aus, wenn die Falldaten verfügbar sind, gemäss Anforderung 003\n */\nexport default class Printout extends Vue {\n protected WEBFORMS_BASE_URL: string | undefined = process.env.VUE_APP_WEBFORMS_BACKEND_URL;\n\n constructor() {\n super();\n //Hint den Fallback zentral lösen\n if (!this.WEBFORMS_BASE_URL) {\n //Fallback für den Fall dass keine Backend-URL verfügbar ist\n const url = window.location.href;\n const searchParam = 'redesign/';\n const length = url.toLowerCase().indexOf(searchParam) - 1; //ohne 'redesign/' Pfad\n this.WEBFORMS_BASE_URL = url.substr(0, length);\n console.debug('Printout::constructor (with fallback URL)', this.WEBFORMS_BASE_URL);\n } else {\n console.debug('Printout::constructor', this.WEBFORMS_BASE_URL);\n }\n }\n\n @modul.Getter(CASE_ID) caseId!: bigint;\n @modul.Action(GET_CASE_FULL_DATA) getCaseFullData!: Function;\n\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n\n mounted() {\n console.debug('Printout.vue::mounted');\n\n this.showStepNavigation();\n\n //Daten zum anzuzeigenden Fall holen (Da diese Seite ausserhalb des Wizards aufgerufen wird)\n //Für BFS-Benutzer via zwingenden URL-Query-Parameter holen\n //Für Extere Benutzer (falls ohne URL-Query-Parameter) automatisch serverseitig, anhand der Zuordnung via Benutzername holen\n this.getCaseFullData(this.$route.query.CaseId);\n }\n\n /** URL für den Inhalt der Druckansicht für den Entry-Wizard\n * @remarks Die Druckansicht wird fast unverändert von der bisherigen Web-Forms-Lösung übernommen\n */\n private get BackendPrintoutUrl() {\n return this.WEBFORMS_BASE_URL + '/entry/DataSetPrintableView.aspx?CaseId=' + this.caseId;\n }\n\n /** Definiert die Wizard-Navigations-Buttons und zeigt diese an */\n showStepNavigation() {\n console.debug('StepInfo.vue::showStepNavigation');\n\n const buttonLeft: Array = [\n {\n onClick: () => {\n window.close();\n },\n label: 'page_enconf_print_close',\n type: FooterButtonType.secondary\n }\n ];\n\n const buttonCenter: Array = [\n {\n onClick: () => {\n this.print();\n },\n label: 'page_enconf_print_title',\n type: FooterButtonType.primary\n }\n ];\n this.closeFooterBar();\n this.newFooterBar({ buttonLeft, buttonCenter });\n }\n\n /** Löst den Druck aus\n */\n print() {\n console.debug('Printout::print');\n window.print();\n }\n\n /** Löst den Druck mit leicher Verzögerung aus\n * @devdoc mit leichter Verzögerung, um den Seitenaufbau, insbesondere die Resourcen-Darstellung zu ermöglichen\n */\n printAfter(delayInMilliseconds: number) {\n setTimeout(function() {\n print();\n }, delayInMilliseconds);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Printout.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Printout.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Printout.vue?vue&type=template&id=c2e5cef4&scoped=true\"\nimport script from \"./Printout.vue?vue&type=script&lang=ts\"\nexport * from \"./Printout.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Printout.vue?vue&type=style&index=0&id=c2e5cef4&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c2e5cef4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"alert alert-warning\",attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"warning:\")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_enconf_print_reminder'))}})]),(this.caseId)?_c('UnFrame',{attrs:{\"url\":_vm.BackendPrintoutUrl,\"select-element-id\":\"printDisplay\"},on:{\"complete\":function($event){return _vm.printAfter(1000)}}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\n\nimport { ISelectListItem } from '@/types/clienttypes';\nimport { ProviderInstance } from 'vee-validate/dist/types/types';\n\n@Component({})\nexport default class NowhowDropdown extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, type: Array as () => Array, default: () => [] }) items!: ISelectListItem[];\n\n @Prop({\n required: false,\n type: [String, Array as () => Array, Number, Array as () => Array],\n default: ''\n })\n value!: string | number;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n private isMounted = false;\n private provider: ProviderInstance;\n private touched = false;\n\n mounted() {\n const options = document.getElementsByName(String(this.id)) as NodeListOf;\n options.forEach(checkbox => {\n //Selected je nach Typ unterschiedlich festlegen\n //Hinweis: Es wird erwartet dass, der Basis-Typ von checkbox.value und von value exakt der gleiche ist.\n if (Array.isArray(this.value)) {\n //Array: Prüfen, ob der Wert im Array enthalten ist\n //checkbox.selected = Array.from(this.value).includes(checkbox.value);\n if (typeof checkbox.value === 'string') {\n checkbox.selected = (this.value as Array).includes(checkbox.value);\n } else if (typeof checkbox.value === 'number') {\n checkbox.selected = (this.value as Array).includes(checkbox.value);\n } else {\n //Andere Typen werden nicht unterstützt\n throw new Error(`Expected string or number, got '${checkbox.value}'.`);\n }\n } else {\n //Einzel-Wert: prüfen, ob der Wert exakt gleich ist\n checkbox.selected = this.value === checkbox.value;\n }\n });\n this.provider = this.$refs['provider'] as ProviderInstance;\n if (this.value) {\n this.onChange(this.value);\n }\n this.isMounted = true;\n }\n\n public focus() {\n (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n get selectedValues() {\n return this.items.filter(item => item.selected).map(item => item.value);\n }\n\n private onChange(value) {\n if (this.value === value) {\n return;\n }\n\n // Finde die Items die item.selected sind.\n const selectedItemsByValue = this.items.filter(item => {\n if (Array.isArray(this.value)) {\n return value?.includes(item.value);\n } else {\n // Hinweis: Hier wird absichtlich der == Operator verwendet, um strings und numbers verwenden zu können\n // eslint-disable-next-line eqeqeq\n return value == item.value;\n }\n });\n // select/deselect items in this.items\n this.items.map(item => {\n item.selected = selectedItemsByValue?.includes(item);\n return item;\n });\n\n this.provider.validate(value).then(() => {\n //TODO falls numerisch, als numerisch ausgeben, ansonsten wird erst nach Serverseitigen Roundtrip der Wert als Numersich verarbeitet\n\n this.$emit('input', value);\n this.$emit('change', value);\n this.touched = true;\n });\n }\n\n @Watch('value')\n valueChanged(newVal) {\n if (newVal) {\n this.onChange(newVal.toString());\n }\n }\n\n @Watch('items')\n itemsChanged() {\n this.onChange(this.value?.toString());\n }\n\n private onFocusout(value) {\n this.provider.validate(this.value).then(() => {\n this.$emit('focusout', this.value);\n });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowDropdown.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowDropdown.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowDropdown.vue?vue&type=template&id=4d9edd99\"\nimport script from \"./NowhowDropdown.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowDropdown.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":_vm.label,\"rules\":_vm.validate,\"vid\":_vm.id},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, required }){return [_c('div',{class:{ 'form-group': true, 'has-warning': errors[0] }},[_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"id\":_vm.id + '-group',\"for\":_vm.id}},[_vm._v(_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(required),expression:\"required\"}]},[_vm._v(\"*\")])]),_c('div',{staticClass:\"col-sm-9\"},[_c('select',{key:_vm.id,ref:\"inputfield\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"disabled\":_vm.disabled,\"name\":_vm.id},domProps:{\"value\":_vm.value},on:{\"change\":function($event){return _vm.onChange($event.target.value)},\"focusout\":_vm.onFocusout}},_vm._l((_vm.items),function(obj,index){return _c('option',{key:index,attrs:{\"name\":_vm.id,\"id\":_vm.id + '-' + obj.value,\"checked\":obj.selected,\"disabled\":obj.disabled || _vm.disabled},domProps:{\"value\":obj.value}},[_vm._v(_vm._s(_vm.$t(obj.text)))])}),0),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class NowhowTextarea extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: String, default: '' }) private placeholder!: string;\n\n @Prop({ required: false, type: String, default: '' }) private autocomplete!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, default: '' }) private value!: any;\n\n @Prop({ required: false, type: Number, default: 4 }) private rows!: number;\n\n @Prop({ required: false, type: Number, default: 5 }) private cols!: number;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n /* eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function */\n @Prop({ required: false, type: Function, default: function() {} })\n private onEnter!: Function;\n\n private provider: any;\n private touched = false;\n\n mounted() {\n const test: any = document.getElementById(String(this.id));\n test.value = this.value;\n\n this.provider = this.$refs['provider'];\n }\n\n public focus() {\n (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n private onChange(value) {\n this.$emit('change', value);\n this.touched = true;\n }\n\n private onFocusout(value) {\n this.$emit('focusout', this.value);\n }\n\n private onInput(value) {\n this.$emit('input', value);\n this.touched = true;\n }\n\n @Watch('value', { deep: true, immediate: true })\n private onValueChanged() {\n this.provider = this.$refs['provider'];\n this.provider?.validate(this.value, { silent: true });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowTextarea.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowTextarea.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowTextarea.vue?vue&type=template&id=c4135072\"\nimport script from \"./NowhowTextarea.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowTextarea.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":_vm.label,\"rules\":_vm.validate,\"vid\":_vm.id},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, required }){return [_c('div',{class:{ 'form-group': true, 'has-warning': errors[0] }},[(_vm.label)?_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":_vm.id}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(required),expression:\"required\"}]},[_vm._v(\"*\")])]):_vm._e(),_c('div',{staticClass:\"col-sm-9\"},[_c('textarea',{key:_vm.id,ref:\"inputfield\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"name\":_vm.id,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"placeholder\":_vm.$t(_vm.placeholder),\"rows\":_vm.rows,\"cols\":_vm.cols,\"data-cy\":_vm.cy},domProps:{\"value\":_vm.value},on:{\"keyup\":[_vm.onChange,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onEnter.apply(null, arguments)}],\"focusout\":_vm.onFocusout,\"input\":function($event){return _vm.onInput($event.target.value)}}}),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class NowhowCheckbox extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n /** Das Label für die Anzeige mit der Checkbox */\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n /** Das Label für die Anzeige als Formular-Label */\n @Prop({ required: false, type: String, default: '' }) private formLabel!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, type: Boolean, default: false }) private value!: boolean;\n\n @Prop({ required: false, type: String, default: '' }) private cy!: string;\n\n private provider: any;\n private touched = false;\n private isSelected = false;\n\n mounted() {\n this.isSelected = this.value;\n\n this.provider = this.$refs['provider'];\n }\n\n public focus() {\n (this.$refs.checkbox as HTMLInputElement).focus();\n }\n\n private onChange(value) {\n this.provider.validate(value).then(() => {\n this.isSelected = !this.isSelected;\n\n this.$emit('input', this.isSelected);\n this.$emit('change', this.isSelected);\n this.touched = true;\n });\n }\n\n private onFocusout(value) {\n this.provider.validate(this.value).then(() => {\n this.$emit('focusout', this.value);\n });\n }\n\n @Watch('value')\n valueChanged(newVal) {\n this.isSelected = newVal;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowCheckbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowCheckbox.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowCheckbox.vue?vue&type=template&id=46909028\"\nimport script from \"./NowhowCheckbox.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowCheckbox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":_vm.label,\"rules\":_vm.validate,\"vid\":_vm.id},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, required }){return [_c('div',{class:{ 'form-group': true, 'has-warning': errors[0] }},[(_vm.formLabel)?_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":_vm.id}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.formLabel))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(required),expression:\"required\"}]},[_vm._v(\"*\")])]):_vm._e(),_c('div',{class:_vm.formLabel ? 'col-sm-9' : 'col-sm-offset-3 col-sm-9'},[_c('div',{staticClass:\"checkbox checkbox--left\"},[_c('label',{attrs:{\"id\":_vm.id + '-label',\"for\":_vm.id}},[_c('input',{key:_vm.id,ref:\"checkbox\",staticClass:\"form-control\",attrs:{\"type\":\"checkbox\",\"id\":_vm.id,\"name\":_vm.$t(_vm.label),\"readonly\":_vm.readonly,\"disabled\":_vm.disabled,\"data-cy\":_vm.cy},domProps:{\"checked\":_vm.isSelected,\"value\":_vm.isSelected},on:{\"change\":_vm.onChange,\"focusout\":_vm.onFocusout}}),_vm._v(\" \"+_vm._s(_vm.$t(_vm.label))+\" \")]),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()])])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\n\nimport { ISelectListItem, SelectListItem } from '@/types/clienttypes';\nimport { ProviderInstance } from 'vee-validate/dist/types/types';\n\n/** Implementiert eine Radio-Button-Group mit Label und kompletter Validierung\n * @remarks Rendert je eine Spalte für das Label und die Radio-Buttons (sm-3 und sm-9 im Bootstrap-Grid)\n * @remarks Unterstützt ein 'group-focusout'-Event, welches kurz nach dem Verlassen der Gruppe feuert.\n * @devdoc Das Event beim Verlassen der Gruppe wird mit einer Kombination von focusin und focusout, mit einem kurzen Timeout realisiert.\n */\n@Component({})\nexport default class NowhowRadioList extends Vue {\n /** Die Id für die Radio-Gruppe\n * @devdoc Eine eindeutige Id ist für das korrekte interne Event-Handling zwingend\n */\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String }) private name!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private inline!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, type: Array as () => Array, default: () => [] }) items!: ISelectListItem[];\n\n @Prop({ required: false, type: [String, Number], default: '' }) value!: string | number | null;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n private isMounted = false;\n private provider: ProviderInstance;\n\n mounted() {\n //console.debug('NowhowRadioList.vue::mounted#' + this.id);\n\n this.provider = this.$refs['provider'] as ProviderInstance;\n\n //Definierte Werte als String, null als null\n if (this.value) {\n this.updateRadiobuttons(this.value.toString());\n } else {\n this.updateRadiobuttons(null);\n }\n\n //Silent validation, um den Validation-Provider (für den \"Weiter\" Button im Step) bereits korrekt initialisiert zu erhalten, ohne jedoch das GUI zu stören\n this.provider.validateSilent();\n\n this.isMounted = true;\n }\n\n beforeDestroy() {\n //console.debug('NowhowRadioList.vue::beforeDestroy' + this.id);\n //Falls noch ein Emit ausstehend ist, den timer sofort canceln\n if (this.focusoutTimeoutHandle) {\n //console.debug('NowhowRadioList.vue::beforeDestroy->clearTimeout' + this.id);\n clearTimeout(this.focusoutTimeoutHandle);\n //TODO sollte das Event hier noch ausgestossen werden?\n }\n }\n\n get hasErrors() {\n if (this.isMounted) {\n return this.provider.errors.length > 0;\n } else {\n return false;\n }\n }\n get required() {\n const isString = typeof this.validate === 'string' || this.validate instanceof String;\n // eslint-disable-next-line no-prototype-builtins\n return isString ? this.validate.toString().indexOf('required') >= 0 : this.validate.hasOwnProperty('required');\n }\n\n updateRadiobuttons(value: string) {\n //console.debug('updateRadiobuttons-value#' + this.id, value);\n\n // Find item in array\n //console.debug('updateRadiobuttons-items#' + this.id, this.items);\n const i = this.items\n .map(function(e) {\n //Problem da number und bei IndexOf auf string geprüft wird. => ergibt immer false\n const mappableValue = e.value?.toString();\n return mappableValue;\n })\n .indexOf(value);\n\n // Allenfalls gefundenes, passendes Item auf die Selektion anwenden\n let hasChange = false;\n for (let position = 0; position < this.items.length; position++) {\n const itemAtPostition = this.items[position];\n\n //Selektion anwenden, wenn notwendig\n const newValue = position === i;\n if (itemAtPostition.selected !== newValue) {\n itemAtPostition.selected = position === i;\n hasChange = true;\n }\n }\n\n if (hasChange === true) {\n this.provider.validate(value).then(() => {\n //console.debug('updateRadiobuttons validated then emit#' + this.id, value);\n //TODO falls numerisch, als numerisch ausgeben, ansonsten wird erst nach Serverseitigen Roundtrip der Wert als Numersich verarbeitet\n\n this.$emit('input', value);\n this.$emit('change', value);\n });\n }\n }\n\n @Watch('value')\n valueChanged(newVal, oldVal) {\n // console.debug('valueChanged:newVal', newVal);\n // console.debug('valueChanged:oldVal', oldVal);\n if (oldVal !== newVal) {\n //Nur effektiv veränderte Werte verarbeiten\n //Definierte Werte als String, null als null\n if (newVal) {\n this.updateRadiobuttons(newVal.toString());\n } else {\n this.updateRadiobuttons(null);\n }\n }\n }\n\n @Watch('items')\n itemsChanged(newVal, oldVal) {\n // console.debug('itemsChanged:newVal', newVal);\n // console.debug('itemsChanged:oldVal', oldVal);\n //if (oldVal !== newVal) {\n //Nur effektiv veränderte Werte verarbeiten\n //Definierte Werte als String, null als null\n if (this.value) {\n this.updateRadiobuttons(this.value.toString());\n } else {\n this.updateRadiobuttons(null);\n }\n //}\n }\n\n /** Behandelt das Focus-In eines Radio-Inputs.\n * @devdoc Cancelt das absetzen des Gruppen-Events wenn es eines der enthaltenen Controls betrifft.\n */\n private onInputFocusIn(value: FocusEvent) {\n //console.debug('NowhowRadioList.vue::onInputFocusIn', value);\n\n //Prüfen, ob das relatedTarget eines der eigenen Controls ist, anhand der Id\n const target = value.target;\n if (target !== null) {\n const targetElement = target as HTMLInputElement;\n //console.debug('target targetElement ', targetElement);\n if (targetElement) {\n for (const obj of this.items) {\n const itemId = this.getRadioItemId(obj);\n //console.log('itemId', itemId);\n if (itemId === targetElement.id) {\n console.debug('FocusIn on internal control, canceling group-focusout');\n //Kein event ausstossen, da es ein Control der Gruppe betrifft\n clearTimeout(this.focusoutTimeoutHandle);\n return;\n }\n }\n }\n }\n }\n\n /** Behandelt das Focus-Out eines Radio-Inputs. Zusätzlich wird ein Event im Zusammenhang mit der Gruppe angestossen.\n * @remarks Ein Group-Event wird nur ausgestossen, wenn die Gruppe verlassen wird\n * @devdoc Ein Mausklick auf die Labels wird leider als verlassen der Gruppe bewertet, weil das relatedTarget in\n * diesem Fall null ist. Mithilfe einer Verzögerung und nachfolgender Behandlung des focusin-Events wird das Event\n * für die Gruppe nur ausgestossen, wenn das Timeout ohne cancel abläuft.\n */\n private onInputFocusout(event: FocusEvent) {\n //console.debug('NowhowRadioList.vue::onInputFocusout', event);\n\n this.$emit('focusout', event);\n\n //Prüfen, ob das relatedTarget eines der eigenen Controls ist, anhand der Id\n if (event.relatedTarget !== null) {\n const targetElement = event.relatedTarget as HTMLInputElement;\n //console.debug('target targetElement ', targetElement);\n if (targetElement) {\n for (const obj of this.items) {\n const itemId = this.getRadioItemId(obj);\n //console.log('itemId', itemId);\n if (itemId === targetElement.id) {\n //console.debug('Click on internal control');\n //Kein event ausstossen, da es ein Control der Gruppe betrifft\n return;\n }\n }\n }\n }\n\n console.debug('Click, scheduling group-focusout emit now....');\n //Das Timeout ist so gewählt dass ein üblicher Mausklick (down und up durch einen durchschnittlich schnellen Benutzer) gesamthaft ablaufen kann\n this.focusoutTimeoutHandle = setTimeout(() => {\n //Falls kein focusin in dieser Zeit, EMIT!\n console.debug('group-focusout emit!', event);\n this.$emit('group-focusout', event);\n this.provider.validate(this.value);\n }, 500);\n }\n\n /** Liefert eine Id für ein Element zu einem Radio-Item\n * @remarks Die Id ist vom Wert abhängig, um eindeutige Id's zu erhalten.\n */\n private getRadioItemId(selectListItem: ISelectListItem): string {\n return this.id + '-' + selectListItem.value;\n }\n\n /** Ein Handle zu einem Timeout für das Ausstossen des Gruppen-Focusout */\n focusoutTimeoutHandle;\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowRadioList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowRadioList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowRadioList.vue?vue&type=template&id=a8a29ce4\"\nimport script from \"./NowhowRadioList.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowRadioList.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:{ 'form-group': true, 'has-warning': _vm.hasErrors }},[_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"id\":_vm.id + '-group'}},[_vm._v(_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.required),expression:\"required\"}]},[_vm._v(\"*\")])]),_c('div',{staticClass:\"col-sm-9\"},[_vm._l((_vm.items),function(obj,index){return _c('div',{key:index,class:{ 'radio-inline': _vm.inline }},[_c('div',{staticClass:\"radio radio--left\"},[_c('label',{attrs:{\"for\":_vm.getRadioItemId(obj)}},[_c('input',{key:index,staticClass:\"form-control\",attrs:{\"type\":\"radio\",\"name\":_vm.name ? _vm.name : _vm.id,\"id\":_vm.getRadioItemId(obj),\"disabled\":obj.disabled || _vm.disabled},domProps:{\"value\":obj.value,\"checked\":obj.selected},on:{\"focusin\":_vm.onInputFocusIn,\"focusout\":_vm.onInputFocusout,\"change\":function($event){return _vm.updateRadiobuttons($event.target.value)}}}),_vm._v(\" \"+_vm._s(_vm.$t(obj.text))+\" \")])])])}),_c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":_vm.label,\"rules\":_vm.validate,\"vid\":_vm.id},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()]}}])})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { Component, Watch } from 'vue-property-decorator';\nimport { ENTRY_WIZARD_CONFIRMATION_FINISH, ENTRY_PRINTOUT, ENTRY_WIZARD_CENSUS } from '@/router';\nimport { GET_LANGUAGE } from '@/store/modules/resource/getters';\n\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport NowhowTextline from '@/components/NowhowTextline.vue';\nimport NowhowDropdown from '@/components/NowhowDropdown.vue';\nimport NowhowTextarea from '@/components/NowhowTextarea.vue';\nimport NowhowCheckbox from '@/components/NowhowCheckbox.vue';\nimport NowhowRadioList from '@/components/NowhowRadioList.vue';\nimport NowhowModal from '@/components/NowhowModal.vue';\nimport { ConfirmationStepIndex } from '../views/Wizard.vue';\nimport StepHeader from './StepHeader.vue';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\nimport { NAME as NAME_ACCOUNT } from '@/areas/account/store';\nconst accountModul = namespace(NAME_ACCOUNT);\n\nimport { NAME as NAME_RESOURCE } from '@/store/modules/resource';\nconst resourceModul = namespace(NAME_RESOURCE);\n\n//Getters und Actions\nimport { SUBMIT_CASE_STEPINFO, GET_CASE_VALIDATION_MESSAGES, SUBMIT_CASE_APPROVAL } from '../store/actions';\nimport { CASE_FULL_DATA, CASE_APPROVAL, CASE_CONTACT_DATA, CASE_VALIDATION_MESSAGES } from '../store/getters';\nimport { LOGOUT } from '@/areas/account/store/actions';\nimport { IS_EXTERNAL_USER } from '@/areas/account/store/getters';\nimport {\n ICaseFullDataViewModel,\n ICaseContactDataViewModel,\n CaseStepInfoViewModel,\n ICaseApprovalDto\n} from '@/api-viewmodel';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\n@Component({\n components: {\n StepHeader,\n NowhowTextbox,\n NowhowTextline,\n NowhowDropdown,\n NowhowTextarea,\n NowhowCheckbox,\n NowhowRadioList,\n NowhowModal\n }\n})\n\n/** Confirmation-Step im Entry Wizard\n * @remarks Implementiert den {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungBestaetigungScreen}\n */\nexport default class StepConfirmation extends Vue {\n protected WEBFORMS_BASE_URL: string | undefined = process.env.VUE_APP_WEBFORMS_BACKEND_URL;\n\n constructor() {\n super();\n //Hint den Fallback zentral lösen\n if (!this.WEBFORMS_BASE_URL) {\n //Fallback für den Fall dass keine Backend-URL verfügbar ist\n const url = window.location.href;\n const searchParam = 'redesign/';\n const length = url.toLowerCase().indexOf(searchParam) - 1; //ohne 'redesign/' Pfad\n this.WEBFORMS_BASE_URL = url.substr(0, length);\n console.debug('StepConfirmation::constructor (with fallback URL)', this.WEBFORMS_BASE_URL);\n } else {\n console.debug('StepConfirmation::constructor', this.WEBFORMS_BASE_URL);\n }\n }\n\n /** @devdoc Diese Definition wird hier zur Initialisierung benötigt */\n private ENTRY_PRINTOUT = ENTRY_PRINTOUT;\n\n //Getters\n @modul.Getter(CASE_FULL_DATA) caseFullData!: ICaseFullDataViewModel;\n @modul.Getter(CASE_APPROVAL) caseApproval!: ICaseApprovalDto;\n @modul.Getter(CASE_CONTACT_DATA) caseContactData!: ICaseContactDataViewModel;\n @modul.Getter(CASE_VALIDATION_MESSAGES) caseValidationMessages!: string[];\n @accountModul.Getter(IS_EXTERNAL_USER) isExternalUser!: boolean;\n @resourceModul.Getter(GET_LANGUAGE) language!: string;\n\n //Actions\n @modul.Action(SUBMIT_CASE_STEPINFO) submitStepInfo!: Function;\n\n @modul.Action(SUBMIT_CASE_APPROVAL) caseApprove!: Function;\n @modul.Action(GET_CASE_VALIDATION_MESSAGES) caseValidate!: Function;\n @accountModul.Action(LOGOUT) logout!: Function;\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n\n /** Ob die Confirmationmessage angezeigt wird.\n * @remarks Dies ist bei jedem erneuten Aufruf der Page immer der Fall*/\n showConfirmationMessage = false;\n\n mounted() {\n //Den aktuellen Step sofort melden\n this.submitStepInfo({\n caseId: this.caseFullData.caseId,\n data: new CaseStepInfoViewModel(ConfirmationStepIndex, null)\n });\n\n this.showStepNavigation();\n\n //Erstmalige serverseitige Validierung, mit den bisher auf dem Server vorhandenen Daten\n this.caseValidate(this.caseFullData.caseId);\n\n //Zustimmung zum Abschluss immer explizit verlangen\n this.caseApproval.consent = false;\n\n //Overlay immer anzeigen\n this.showConfirmationMessage = true;\n }\n\n /** Behandelt den Sprachwechsel, indem die serverseitige Validierung mit der neuen Sprache wiederholt wird\n * @remarks Da die serverseitige Validierung nicht client-seitig übersetzt werden kann, muss diese neu geholt werden\n * Siehe auch Bug#11856\n */\n @Watch('language', { deep: false, immediate: true })\n private onOpenJobCountNextQuarterhanged() {\n this.caseValidate(this.caseFullData.caseId);\n }\n\n /** Gibt an, ob (server-seitige) Validierungs-Meldungen für den Fall vorliegen. */\n get hasCaseValidationMessages(): boolean {\n //return true;\n return this.caseValidationMessages?.length > 0;\n }\n\n /** Wrapper für eine Form-Submit-Aktion, um das Standard-Submit-Verhalten im Zusammenspiel mit vee-validate zu unterbinden.\n * @devdoc Wird hier benötigt, da sich die zu versendenden Daten nicht im Store befinden.\n */\n private approvalWrapper() {\n this.caseApprove({\n caseId: this.caseFullData.caseId,\n data: this.caseApproval,\n onSuccess: () => {\n if (this.isExternalUser) {\n this.logout();\n this.gotoConfirmationFinish();\n } else {\n this.redirectAfterSuccessfulApproval();\n }\n }\n });\n }\n\n closeModal() {\n this.showConfirmationMessage = false;\n }\n\n visibilityChanged(value) {\n this.showConfirmationMessage = value;\n }\n\n /** Definiert die Wizard-Navigations-Buttons und zeigt diese an */\n showStepNavigation() {\n console.debug('StepConfirmation.vue::showStepNavigation');\n const buttonLeft: Array = [\n {\n onClick: () => {\n this.gotoPreviousStep();\n },\n label: 'btn_wzrd_back',\n type: FooterButtonType.secondary\n }\n ];\n this.closeFooterBar();\n this.newFooterBar({ buttonLeft /*, buttonRight*/ });\n }\n\n /** Öffnet ein neues Tab für die Print-Seite, für diesen Fall. */\n gotoPrintPage() {\n const routeData = this.$router.resolve({\n name: ENTRY_PRINTOUT,\n query: { CaseId: this.caseFullData.caseId.toString() }\n });\n\n console.debug('StepConfirmation.vue::gotoPrintPage::routeData', routeData);\n window.open(routeData.href, '_blank');\n }\n\n /** Navigiert zum vorangehenden Step im Entry-Wizard. */\n gotoPreviousStep() {\n console.debug('StepConfirmation.vue::gotoPreviousStep');\n this.$router.push({ name: ENTRY_WIZARD_CENSUS });\n }\n\n /** Für Externe Benutzer: Navigiert zum Finis-Screen\n */\n gotoConfirmationFinish() {\n console.debug('StepConfirmation.vue::gotoConfirmationFinish');\n this.$router.push({ name: ENTRY_WIZARD_CONFIRMATION_FINISH });\n }\n\n /** Für BFS-Benutzer: Navigiert in den Start-Screen im Backoffice (wie nach einem Login)\n */\n redirectAfterSuccessfulApproval() {\n console.debug('StepConfirmation.vue::redirectAfterSuccessfulApproval');\n //Die Return-URL für das klassische UI verwenden (per Default auf die interne Start-Seite)\n const location = this.WEBFORMS_BASE_URL + '/Start.aspx';\n window.location.href = location;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepConfirmation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepConfirmation.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepConfirmation.vue?vue&type=template&id=5c7ef0e9&scoped=true\"\nimport script from \"./StepConfirmation.vue?vue&type=script&lang=ts\"\nexport * from \"./StepConfirmation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./StepConfirmation.vue?vue&type=style&index=0&id=5c7ef0e9&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c7ef0e9\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('StepHeader',{attrs:{\"header-label\":\"page_enconf_title\",\"help-label\":\"page_enconf_help\"}}),_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid, handleSubmit }){return [_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.approvalWrapper)}}},[_c('fieldset',[(_vm.hasCaseValidationMessages)?_c('div',{staticClass:\"alert has-warning\"},[_c('div',{staticClass:\"help-block\",attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"warning:\")]),_c('ul',_vm._l((_vm.caseValidationMessages),function(element){return _c('li',{key:element},[_vm._v(\" \"+_vm._s(element)+\" \")])}),0)])]):_vm._e(),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-offset-1 col-sm-1\"},[_c('span',{staticClass:\"icon icon--print\",attrs:{\"alt\":\"info\"}})]),_c('div',{staticClass:\"col-sm-10\"},[_c('p',{staticClass:\"lead\"},[_vm._v(_vm._s(_vm.$t('page_enconf_print_title')))]),_c('p',[_c('span',[_vm._v(_vm._s(_vm.$t('page_enconf_print_info')))])]),_c('a',{staticClass:\"icon icon--before icon--print\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.gotoPrintPage()}}},[_vm._v(_vm._s(_vm.$t('page_enconf_link_print')))]),_c('br')])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-offset-1 col-sm-1\"},[_c('span',{staticClass:\"icon icon--external\",attrs:{\"alt\":\"info\"}})]),_c('div',{staticClass:\"col-sm-10\"},[_c('p',{staticClass:\"lead\"},[_vm._v(\" \"+_vm._s(_vm.$t('page_enconf_approve_title'))+\" \")]),_c('NowhowCheckbox',{staticClass:\"form-group-unlabeled\",attrs:{\"id\":\"caseConfirmationApprovalConsent\",\"label\":\"page_enconf_consent_text\",\"required\":\"true\",\"validate\":{ required: { allowFalse: false } }},model:{value:(_vm.caseApproval.consent),callback:function ($$v) {_vm.$set(_vm.caseApproval, \"consent\", $$v)},expression:\"caseApproval.consent\"}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_enconf_approve_info'))}})],1),_c('div',{staticClass:\"col-sm-offset-2 col-sm-10\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\",\"name\":\"ConfirmButton\",\"id\":\"ConfirmButton\",\"role\":\"button\",\"disabled\":invalid || _vm.hasCaseValidationMessages}},[_vm._v(\" \"+_vm._s(_vm.$t('page_enconf_btn_confirm'))+\" \")])])])])])]}}])}),_c('NowhowModal',{attrs:{\"id\":\"modal-confirmation\",\"visible\":_vm.showConfirmationMessage,\"title\":_vm.$t('page_enconf_title')},on:{\"update:visible\":_vm.visibilityChanged}},[_c('template',{slot:\"body\"},[_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"}},[_c('fieldset',[_c('div',{staticClass:\"form-group\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('page_enconf_overall_info'))}})])]),_c('fieldset',[_c('div',{staticClass:\"form-group button-group\"},[_c('button',{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" \"+_vm._s(_vm.$t('allg_ok'))+\" \")])])])])])],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\n@Component\n\n/** Implementiert eine Input-Box mit kompletter Validierung für eine positive Integralzahl im 32-Bit (signed) Range (jedoch ohne Label-Element)\n * @remarks Rendert keine Grid-Elemente\n */\nexport default class NowhowUInt32Input extends Vue {\n /** Validierung via Validations-Modul */\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n @Prop({ required: true, type: String }) private id!: string;\n\n /** Label für das Eingabefeld\n * @remarks Wird hier nur für die Eigenschaft 'name' auf dem Eingabefeld sowie den Validation-Provider verwendet,\n * nicht für die sichtbare Darstellung */\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: String, default: '' }) private placeholder!: string;\n\n @Prop({ required: false, type: String, default: '' }) private autocomplete!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, default: '' }) private value!: number | null;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n /* eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function */\n @Prop({ required: false, type: Function, default: function() {} })\n private onEnter!: Function;\n\n private provider: any;\n private touched = false;\n\n private MAX_INT32 = 2147483647;\n private MIN_INT32 = -2147483648;\n\n mounted() {\n const inputElement: any = document.getElementById(String(this.id));\n inputElement.value = this.value;\n\n this.provider = this.$refs['provider'];\n }\n\n /** Prüft, ob der Wertebereich eingehalten wird */\n isInRange(value): boolean {\n //Leere Eingabe erlauben\n if (value === '') {\n return true;\n }\n\n //Ziffern erzwingen\n const isnum = /^\\d+$/.test(value);\n if (!isnum) {\n //console.debug('Number is not an integer:', value);\n return false;\n }\n\n //Range erzwingen\n if (value > this.MAX_INT32) {\n console.debug('Number ist too large:', value);\n return false;\n } else if (value < this.MIN_INT32) {\n console.debug('Number ist too small:', value);\n return false;\n }\n\n return true;\n }\n\n public focus() {\n (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n private onChange(value) {\n //Nur wenn innerhalb des erlaubten Bereichs, den Wert weitergeben\n if (this.isInRange(value) === true) {\n //console.debug('emitting', value);\n this.$emit('change', value ? Number(value) : null);\n this.touched = true;\n }\n }\n\n private onFocusout(value) {\n this.$emit('focusout', value);\n this.touched = true;\n }\n\n private onInput(value) {\n //Nur wenn innerhalb des erlaubten Bereichs, den Wert weitergeben\n\n if (this.isInRange(value) === true) {\n //console.debug('emitting', value);\n this.$emit('input', value ? Number(value) : null);\n this.touched = true;\n }\n }\n\n @Watch('value', { deep: true, immediate: true })\n private onValueChanged() {\n this.provider = this.$refs['provider'];\n this.provider?.validate(this.value, { silent: true });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowUInt32Input.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowUInt32Input.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowUInt32Input.vue?vue&type=template&id=9441adba&scoped=true\"\nimport script from \"./NowhowUInt32Input.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowUInt32Input.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NowhowUInt32Input.vue?vue&type=style&index=0&id=9441adba&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9441adba\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":_vm.label,\"rules\":_vm.validate,\"vid\":_vm.id},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, required }){return [_c('div',{class:{ 'form-group': true, 'has-warning': errors[0] }},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(required),expression:\"required\"}],staticClass:\"required\"}),_c('input',{key:_vm.id,ref:\"inputfield\",staticClass:\"form-control pull-right\",attrs:{\"type\":\"text\",\"id\":_vm.id,\"name\":_vm.label,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"placeholder\":_vm.$t(_vm.placeholder),\"data-cy\":_vm.cy},domProps:{\"value\":_vm.value},on:{\"keyup\":[_vm.onChange,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onEnter.apply(null, arguments)}],\"focusout\":_vm.onFocusout,\"input\":function($event){return _vm.onInput($event.target.value)}}}),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\n\nimport { Component } from 'vue-property-decorator';\n\n/** Ein Zeile mit Label, welche eine Information zum Asterisk als Pflichtfeldangabe enthält.\n */\n@Component\nexport default class NowhowRequiredInfoline extends Vue {}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowRequiredInfoline.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowRequiredInfoline.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowRequiredInfoline.vue?vue&type=template&id=55d35cf9\"\nimport script from \"./NowhowRequiredInfoline.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowRequiredInfoline.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('fieldset',[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\" * \"+_vm._s(_vm.$t('allg_descr_pflichtfeld'))+\" \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport NowhowTextline from '@/components/NowhowTextline.vue';\nimport NowhowTextarea from '@/components/NowhowTextarea.vue';\nimport NowhowUInt32Input from '@/components/NowhowUInt32Input.vue';\nimport NowhowCheckbox from '@/components/NowhowCheckbox.vue';\nimport NowhowRequiredInfoline from '@/components/NowhowRequiredInfoline.vue';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { SUBMIT_LOCAL_UNIT_CENSUS_DATA } from '../store/actions';\nimport { CASE_ID } from '../store/getters';\n\nimport { ILocalUnitDataObject } from '@/api-viewmodel';\n\n@Component({\n components: {\n NowhowTextline,\n NowhowTextbox,\n NowhowTextarea,\n NowhowUInt32Input,\n NowhowCheckbox,\n NowhowRequiredInfoline\n }\n})\n\n/** Bereich für die Bearbeitung der Census-Details einer Arbeitsstätte\n * @remarks Implementier die Anforderungen aus https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungLocalCensusScreen#Verhalten\n */\nexport default class LocalUnitEditCensus extends Vue {\n //Getters\n @modul.Getter(CASE_ID) caseId!: bigint;\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n //Actions\n @modul.Action(SUBMIT_LOCAL_UNIT_CENSUS_DATA) submitlocalUnitCensusData!: Function;\n\n @Prop({ required: true, type: Object })\n private localUnit!: ILocalUnitDataObject;\n\n mounted() {\n //Aktuelles Token der unveränderte Daten für die spätere, erstmalige Prüfung merken\n this.lastSubmittedDataToken = this.submittableDataToken;\n }\n\n beforeDestroy() {\n this.saveStepData();\n }\n\n /** Behandelt die Änderung für die AHV-Pflicht\n * @remarks Implementiert die Anforderung 010 gemäss DatenErfassungLocalCensusScreen\n */\n @Watch('localUnit.hasNoAhvObligation', { deep: false, immediate: true })\n private onAhvObligationChanged(newVal: boolean, oldVal: boolean) {\n //Nicht mehr pflichtig?\n if (newVal === true && oldVal === false) {\n if (this.localUnit) {\n this.$nextTick(() => {\n //Beschäftigung auf zero setzen, aber erst (next tick), nachdem die aktualisierten Rules in vee-validator angewendet wurden\n this.localUnit.fullMale = 0;\n this.localUnit.fullFemale = 0;\n this.localUnit.part1Male = 0;\n this.localUnit.part1Female = 0;\n this.localUnit.part2Male = 0;\n this.localUnit.part2Female = 0;\n this.localUnit.part3Male = 0;\n this.localUnit.part3Female = 0;\n this.localUnit.fullTimeEquivalentMale = 0;\n this.localUnit.fullTimeEquivalentFemale = 0;\n });\n }\n }\n //Neu pflichtig?\n if (newVal === false && oldVal === true) {\n if (this.localUnit) {\n //Beschäftigung auf leer, Angabe erzwingen\n this.localUnit.fullMale = null;\n this.localUnit.fullFemale = null;\n this.localUnit.part1Male = null;\n this.localUnit.part1Female = null;\n this.localUnit.part2Male = null;\n this.localUnit.part2Female = null;\n this.localUnit.part3Male = null;\n this.localUnit.part3Female = null;\n this.localUnit.fullTimeEquivalentMale = null;\n this.localUnit.fullTimeEquivalentFemale = null;\n }\n }\n }\n\n /** Liefert die Validierungsregel den Census-Reason-Text\n */\n get getCensusReasonTextValidationRule(): string {\n if (this.isOccupationZero) {\n return 'required';\n } else {\n return '';\n }\n }\n\n /** Bestimmt, ob das Gesamttotal der Beschäftigten Personen null (zero) ist, bzw. gibt an, ob die Angabe eines Grundes verlangt ist.\n * @remarks Implementiert Teil der Anforderung 040 und 010 in DatenErfassungLocalCensusScreen\n * Das Feld wird nur angezeigt, wenn alle Felder exakt 0 (Zero), sind\n * @devdoc Wird für die Steuerung von Einblendungen sowie für das Setzen von Default-Werten verwendet.\n */\n get isOccupationZero(): boolean {\n const isOccupationZero =\n this.localUnit &&\n this.localUnit.fullMale === 0 &&\n this.localUnit.fullFemale === 0 &&\n this.localUnit.part1Male === 0 &&\n this.localUnit.part1Female === 0 &&\n this.localUnit.part2Male === 0 &&\n this.localUnit.part2Female === 0 &&\n this.localUnit.part3Male === 0 &&\n this.localUnit.part3Female === 0 &&\n this.localUnit.fullTimeEquivalentMale === 0 &&\n this.localUnit.fullTimeEquivalentFemale === 0;\n\n if (!isOccupationZero) {\n this.localUnit.censusReasonText = null;\n }\n return isOccupationZero;\n }\n\n get fullPersons(): number {\n return Number(this.localUnit.fullMale) + Number(this.localUnit.fullFemale);\n }\n get part1Persons(): number {\n return Number(this.localUnit.part1Male) + Number(this.localUnit.part1Female);\n }\n get part2Persons(): number {\n return Number(this.localUnit.part2Male) + Number(this.localUnit.part2Female);\n }\n get part3Persons(): number {\n return Number(this.localUnit.part3Male) + Number(this.localUnit.part3Female);\n }\n\n get totalPersons(): number {\n return (\n Number(this.fullPersons) + Number(this.part1Persons) + Number(this.part2Persons) + Number(this.part3Persons)\n );\n }\n\n /** Liefert das Total der Vollzeit-Äquivalenten\n * @remarks Der Wert wird auf 2 Dezimalstellen gerunden\n * @devdoc Siehe https://stackoverflow.com/a/11832950/79485 für die Rundungsfunktion\n */\n get totalFte(): number {\n const totalFte = Math.round(\n Number(this.localUnit.fullTimeEquivalentMale) +\n Number(this.localUnit.fullTimeEquivalentFemale) +\n Number.EPSILON\n );\n return totalFte;\n }\n\n /** Liefert die Validierungsregel für das untere Limit der Vollzeitäquivalenten der Männer in ganzzahligen [Prozent]\n * @devdoc Siehe auch die analoge server-seitige Implementation in GetCensusBottomLimit\n */\n get getLowerMaleFteLimitValidationRule(): string {\n if (this.localUnit.hasNoAhvObligation) {\n return ''; //Kein Limit, wenn keine Angabe\n }\n const lowerLimitMale =\n Number(this.localUnit.fullMale) * 90 +\n Number(this.localUnit.part1Male) * 50 +\n Number(this.localUnit.part2Male) * 15 +\n Number(this.localUnit.part3Male) * 1;\n return 'min_value:' + lowerLimitMale.toString();\n }\n\n /** Liefert die Validierungsregel für das obere Limit der Vollzeitäquivalenten der Männer in ganzzahligen [Prozent]\n * @devdoc Siehe auch die analoge server-seitige Implementation in GetCensusUpperLimit\n */\n get getUpperMaleFteLimitValidationRule(): string {\n if (this.localUnit.hasNoAhvObligation) {\n return ''; //Kein Limit, wenn keine Angabe\n }\n const upperLimitMale =\n Number(this.localUnit.fullMale) * 100 +\n Number(this.localUnit.part1Male) * 89 +\n Number(this.localUnit.part2Male) * 49 +\n Number(this.localUnit.part3Male) * 14;\n return 'max_value:' + upperLimitMale.toString();\n }\n\n /** Liefert die Validierungsregel für das untere Limit der Vollzeitäquivalenten der Frauen in ganzzahligen [Prozent]\n * @devdoc Siehe auch die analoge server-seitige Implementation in GetCensusBottomLimit\n */\n get getLowerFemaleFteLimitValidationRule(): string {\n if (this.localUnit.hasNoAhvObligation) {\n return ''; //Kein Limit, wenn keine Angabe\n }\n const lowerLimitFemale =\n Number(this.localUnit.fullFemale) * 90 +\n Number(this.localUnit.part1Female) * 50 +\n Number(this.localUnit.part2Female) * 15 +\n Number(this.localUnit.part3Female) * 1;\n return 'min_value:' + lowerLimitFemale.toString();\n }\n\n /** Liefert die Validierungsregel für das obere Limit der Vollzeitäquivalenten der Frauen in ganzzahligen [Prozent]\n * @devdoc Siehe auch die analoge server-seitige Implementation in GetCensusUpperLimit\n */\n get getUpperFemaleFteLimitValidationRule(): string {\n if (this.localUnit.hasNoAhvObligation) {\n return ''; //Kein Limit, wenn keine Angabe\n }\n const upperLimitFemale =\n Number(this.localUnit.fullFemale) * 100 +\n Number(this.localUnit.part1Female) * 89 +\n Number(this.localUnit.part2Female) * 49 +\n Number(this.localUnit.part3Female) * 14;\n return 'max_value:' + upperLimitFemale.toString();\n }\n\n /** Speichert die aktuell eingegebenen Werte auf das Backend\n * @remarks Die Daten werden nur versendet, wenn diese seit dem letzten Versand oder erstmalig geändert haben\n * Für diese Prüfung werden alle Eingabewerte dieser Komponente verwendet\n * @devdoc Diese Funktion soll beim Verlassen des Bearbeitungsformulars aufgerufen werden\n * Hinweis: Es kann aktuell nicht die Funktionalität der ValidationObserver-Komponente verwendet werden,\n * weil diese keinen zwischenzeitlichen Reset der \"Dirty-Flags\" erlaubt.\n * Hinweis2: Es wird nicht ein \"dirty-tracking\" via \"changed\"-Event implementiert, um nur zum Zeitpunkt des\n * Versandes effektiv veränderte Daten zu versenden.\n */\n saveStepData() {\n console.debug('::saveStepData');\n\n const submittableDataToken = this.submittableDataToken;\n if (submittableDataToken !== this.lastSubmittedDataToken) {\n this.submitlocalUnitCensusData({\n caseId: this.caseId,\n data: this.localUnit\n });\n this.lastSubmittedDataToken = submittableDataToken;\n }\n }\n\n /** Zwischenspeicher für die Prüfung, ob ein erneuter Versand der Daten notwendig ist */\n lastSubmittedDataToken: string = null;\n\n /** Liefert ein Token für die versendbaren Daten zur späteren Prüfung, ob ein erneuter Versand notwendig ist.\n * @devdoc Für den effektiven Versand an die API wird das Objekt aus dem Zustand verwendet,\n * nicht dieses interne DTO.\n */\n get submittableDataToken() {\n return JSON.stringify([\n this.localUnit.fullMale,\n this.localUnit.fullFemale,\n this.localUnit.part1Male,\n this.localUnit.part1Female,\n this.localUnit.part2Male,\n this.localUnit.part2Female,\n this.localUnit.part3Male,\n this.localUnit.part3Female,\n this.localUnit.fullTimeEquivalentMale,\n this.localUnit.fullTimeEquivalentFemale,\n this.localUnit.censusReasonText,\n this.localUnit.hasNoAhvObligation\n ]);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalUnitEditCensus.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalUnitEditCensus.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./LocalUnitEditCensus.vue?vue&type=template&id=0a4dd6f8&scoped=true\"\nimport script from \"./LocalUnitEditCensus.vue?vue&type=script&lang=ts\"\nexport * from \"./LocalUnitEditCensus.vue?vue&type=script&lang=ts\"\nimport style0 from \"./LocalUnitEditCensus.vue?vue&type=style&index=0&id=0a4dd6f8&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a4dd6f8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationObserver',{ref:\"observer\"},[_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"}},[_c('fieldset',[_c('legend',{directives:[{name:\"t\",rawName:\"v-t\",value:('edit_lu_tit_lu_census'),expression:\"'edit_lu_tit_lu_census'\"}]}),_c('div',{staticClass:\"form-group\"},[_c('NowhowCheckbox',{attrs:{\"id\":\"localUnitAhvObligation\",\"label\":\"lu_census_no_ahv_obligatory_persons\",\"form-label\":\"allg_ahv_obligation\"},model:{value:(_vm.localUnit.hasNoAhvObligation),callback:function ($$v) {_vm.$set(_vm.localUnit, \"hasNoAhvObligation\", $$v)},expression:\"localUnit.hasNoAhvObligation\"}})],1),_c('table',{staticClass:\"table table-naked text-right\"},[_c('caption',{staticClass:\"sr-only\"},[_vm._v(\" \"+_vm._s(_vm.$t('edit_lu_tit_census'))+\" \")]),_c('thead',[_c('tr',[_c('th',{staticClass:\"text-right column-header column-label\"}),_c('th',{staticClass:\"striped column-data\"},[_vm._v(_vm._s(_vm.$t('edit_lu_worker_male')))]),_c('th',{staticClass:\"column-data\"},[_vm._v(_vm._s(_vm.$t('edit_lu_worker_female')))]),_c('th',{staticClass:\"striped total column-data\"},[_vm._v(_vm._s(_vm.$t('entry_census_col_total')))])])]),_c('tbody',[_c('tr',[_c('th',{staticClass:\"text-right column-label\"},[_vm._v(_vm._s(_vm.$t('lu_census_worker100')))]),_c('td',{staticClass:\"striped\"},[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusMaleWorker90\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.fullMale')},model:{value:(_vm.localUnit.fullMale),callback:function ($$v) {_vm.$set(_vm.localUnit, \"fullMale\", $$v)},expression:\"localUnit.fullMale\"}})],1),_c('td',[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusFemaleWorker90\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.fullFemale')},model:{value:(_vm.localUnit.fullFemale),callback:function ($$v) {_vm.$set(_vm.localUnit, \"fullFemale\", $$v)},expression:\"localUnit.fullFemale\"}})],1),_c('td',{staticClass:\"striped total\"},[_vm._v(_vm._s(_vm.fullPersons))])]),_c('tr',[_c('th',{staticClass:\"text-right column-label\"},[_vm._v(_vm._s(_vm.$t('lu_census_worker_50_90')))]),_c('td',{staticClass:\"striped\"},[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusMaleWorker50_90\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.part1Male')},model:{value:(_vm.localUnit.part1Male),callback:function ($$v) {_vm.$set(_vm.localUnit, \"part1Male\", $$v)},expression:\"localUnit.part1Male\"}})],1),_c('td',[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusFemaleWorker50_90\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.part1Female')},model:{value:(_vm.localUnit.part1Female),callback:function ($$v) {_vm.$set(_vm.localUnit, \"part1Female\", $$v)},expression:\"localUnit.part1Female\"}})],1),_c('td',{staticClass:\"striped total\"},[_vm._v(_vm._s(_vm.part1Persons))])]),_c('tr',[_c('th',{staticClass:\"text-right column-label\"},[_vm._v(_vm._s(_vm.$t('lu_census_worker_50')))]),_c('td',{staticClass:\"striped\"},[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusMaleWorker50\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.part2Male')},model:{value:(_vm.localUnit.part2Male),callback:function ($$v) {_vm.$set(_vm.localUnit, \"part2Male\", $$v)},expression:\"localUnit.part2Male\"}})],1),_c('td',[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusFemaleWorker50\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.part2Female')},model:{value:(_vm.localUnit.part2Female),callback:function ($$v) {_vm.$set(_vm.localUnit, \"part2Female\", $$v)},expression:\"localUnit.part2Female\"}})],1),_c('td',{staticClass:\"striped total\"},[_vm._v(_vm._s(_vm.part2Persons))])]),_c('tr',[_c('th',{staticClass:\"text-right column-label\"},[_vm._v(_vm._s(_vm.$t('lu_census_worker_15')))]),_c('td',{staticClass:\"striped\"},[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusMaleWorker15\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.part3Male')},model:{value:(_vm.localUnit.part3Male),callback:function ($$v) {_vm.$set(_vm.localUnit, \"part3Male\", $$v)},expression:\"localUnit.part3Male\"}})],1),_c('td',[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusFemaleWorker15\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.part3Female')},model:{value:(_vm.localUnit.part3Female),callback:function ($$v) {_vm.$set(_vm.localUnit, \"part3Female\", $$v)},expression:\"localUnit.part3Female\"}})],1),_c('td',{staticClass:\"striped\"},[_vm._v(_vm._s(_vm.part3Persons))])]),_c('tr',[_c('th',{staticClass:\"text-right column-label total\"},[_vm._v(_vm._s(_vm.$t('edit_lu_tit_total')))]),_c('td',{staticClass:\"striped total\"}),_c('td',{staticClass:\"total\"}),_c('td',{staticClass:\"striped total\"},[_vm._v(\" \"+_vm._s(_vm.totalPersons)+\" \")])]),_c('tr',[_c('th',{staticClass:\"text-right column-label\",domProps:{\"innerHTML\":_vm._s(_vm.$t('edit_lu_worker_vz_eq'))}}),_c('td',{staticClass:\"striped\"},[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusMaleFte\",\"label\":\"edit_lu_worker_vz_eq\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.fullTimeEquivalentMale') +\n '|' +\n _vm.getLowerMaleFteLimitValidationRule +\n '|' +\n _vm.getUpperMaleFteLimitValidationRule},model:{value:(_vm.localUnit.fullTimeEquivalentMale),callback:function ($$v) {_vm.$set(_vm.localUnit, \"fullTimeEquivalentMale\", $$v)},expression:\"localUnit.fullTimeEquivalentMale\"}})],1),_c('td',[_c('NowhowUInt32Input',{attrs:{\"id\":\"localDetailCensusFemaleFte\",\"label\":\"edit_lu_worker_vz_eq\",\"readonly\":_vm.localUnit.hasNoAhvObligation,\"validate\":_vm.getValidation('localUnitDataObject.fullTimeEquivalentFemale') +\n '|' +\n _vm.getLowerFemaleFteLimitValidationRule +\n '|' +\n _vm.getUpperFemaleFteLimitValidationRule},model:{value:(_vm.localUnit.fullTimeEquivalentFemale),callback:function ($$v) {_vm.$set(_vm.localUnit, \"fullTimeEquivalentFemale\", $$v)},expression:\"localUnit.fullTimeEquivalentFemale\"}})],1),_c('td',{staticClass:\"striped total\"},[_vm._v(\" \"+_vm._s(_vm.totalFte)+\" \")])])])])]),(_vm.isOccupationZero)?_c('fieldset',[_c('legend'),_c('div',{staticClass:\"form-group\"},[_c('NowhowTextarea',{attrs:{\"id\":\"localDetailCensusReasonText\",\"label\":\"edit_lu_censusreasontext\",\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.censusReasonText') +\n '|' +\n _vm.getCensusReasonTextValidationRule},model:{value:(_vm.localUnit.censusReasonText),callback:function ($$v) {_vm.$set(_vm.localUnit, \"censusReasonText\", $$v)},expression:\"localUnit.censusReasonText\"}})],1)]):_vm._e(),_c('NowhowRequiredInfoline')],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\n\nimport { namespace } from 'vuex-class';\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { DISABLE_BUTTONRIGHT } from '@/store/modules/footerBar/actions';\n\n/** Proxy, welcher den Disabled-Zustand des rechts-liegenden \"Weiter\"-Button steuert\n * @devdoc Kann als Proxy in einem Validation-Slot verwendet werden, um die Buttons der Footer-Bar steuern zu können.\n */\n\n@Component\nexport default class FooterBarRightButtonProxy extends Vue {\n @footerBarModul.Action(DISABLE_BUTTONRIGHT) disableButtonRight!: Function;\n\n /** Liefert oder definiert den Status des rechts-liegenden \"Weiter\"-Button */\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n /** Behandelt die Änderung des Disabled-Property, indem der Wert auf den rechts-liegenden \"Weiter\"-Button angewendet wird.\n * @remarks Die anderen Buttons werden unverändert übernommen\n */\n @Watch('disabled', { deep: true, immediate: true })\n private onDisabledChanged(newVal) {\n console.log('FooterBarRightButtonProxy.vue::onDisabledChanged', newVal);\n //Aktion \"Weiter\" steht gemäss neuem Wert zur Verfügung\n this.disableButtonRight(newVal);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FooterBarRightButtonProxy.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FooterBarRightButtonProxy.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FooterBarRightButtonProxy.vue?vue&type=template&id=1cb0c800\"\nimport script from \"./FooterBarRightButtonProxy.vue?vue&type=script&lang=ts\"\nexport * from \"./FooterBarRightButtonProxy.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { ValidationObserver } from 'vee-validate';\nimport { namespace } from 'vuex-class';\nimport { Component } from 'vue-property-decorator';\nimport { ENTRY_WIZARD_ACTIVITY, ENTRY_WIZARD_CONFIRMATION } from '@/router';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\n//Components\nimport LocalUnitEditCensus from './LocalUnitEditCensus.vue';\n\n//Getters und Actions\nimport { CASE_FULL_DATA, CASE_LOCAL_UNIT } from '../store/getters';\nimport { ICaseFullDataViewModel, CaseStepInfoViewModel, ILocalUnitDataObject } from '@/api-viewmodel';\nimport { CensusStepIndex } from '../views/Wizard.vue';\nimport StepHeader from './StepHeader.vue';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE, DISABLE_BUTTONRIGHT } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\nimport { SUBMIT_CASE_STEPINFO } from '../store/actions';\n\nimport FooterBarRightButtonProxy from '@/components/FooterBarRightButtonProxy.vue';\n@Component({\n components: { StepHeader, LocalUnitEditCensus, FooterBarRightButtonProxy, ValidationObserver }\n})\n\n/** Census-Step im Entry Wizard\n * @remarks Implementiert den\n * {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungLocalCensusScreen}\n */\nexport default class StepCensus extends Vue {\n //Getters\n @modul.Getter(CASE_FULL_DATA) caseFullData!: ICaseFullDataViewModel;\n @modul.Getter(CASE_LOCAL_UNIT) localUnit!: ILocalUnitDataObject;\n\n //Actions\n @modul.Action(SUBMIT_CASE_STEPINFO) submitStepInfo!: Function;\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n @footerBarModul.Action(DISABLE_BUTTONRIGHT) disableButtonRight!: Function;\n\n mounted() {\n console.debug('StepCensus.vue::mounted');\n\n //Den aktuellen Step sofort melden\n this.submitStepInfo({\n caseId: this.caseFullData.caseId,\n data: new CaseStepInfoViewModel(CensusStepIndex, null)\n });\n\n this.showStepNavigation();\n }\n\n /** Definiert die Wizard-Navigations-Buttons und zeigt diese an */\n showStepNavigation() {\n console.debug('StepCensus.vue::showStepNavigation');\n const buttonLeft: Array = [\n {\n onClick: () => {\n this.gotoPreviousStep();\n },\n label: 'btn_wzrd_back',\n type: FooterButtonType.secondary\n }\n ];\n const buttonRight: Array = [\n {\n onClick: () => {\n this.gotoNextStep();\n },\n label: 'btn_wzrd_next',\n type: FooterButtonType.primary\n }\n ];\n this.closeFooterBar();\n this.newFooterBar({ buttonLeft, buttonRight });\n }\n\n /** Navigiert zum vorangehenden Step im Entry-Wizard. */\n gotoPreviousStep() {\n this.$router.push({ name: ENTRY_WIZARD_ACTIVITY });\n }\n\n /** Navigiert zum nächsten Step im Entry-Wizard. */\n gotoNextStep() {\n this.$router.push({ name: ENTRY_WIZARD_CONFIRMATION });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepCensus.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepCensus.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepCensus.vue?vue&type=template&id=4e1c69f2&scoped=true\"\nimport script from \"./StepCensus.vue?vue&type=script&lang=ts\"\nexport * from \"./StepCensus.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e1c69f2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('StepHeader',{attrs:{\"header-label\":\"page_cens_wzrdtitle\",\"help-label\":\"page_cens_help\"}}),_c('ValidationObserver',{ref:\"localUnitCensusObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid }){return [_c('LocalUnitEditCensus',{attrs:{\"local-unit\":_vm.localUnit}}),_c('FooterBarRightButtonProxy',{attrs:{\"id\":\"ButtonNextProxy\",\"disabled\":invalid}})]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport Pikaday from 'pikaday';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\n@Component\n\n/** Implementiert eine Textbox für eine Datumsangabe mit Label und kompletter Validierung\n * @remarks Rendert je eine Spalte für das Label und das Eingabefeld (sm-3 und sm-9 im Bootstrap-Grid)\n * @devdoc Verwendet die NPM Package pikaday (https://www.npmjs.com/package/pikaday) welche entweder per Javascript\n * aus dem swiss-styleguide oder als eigenständige Dependeny eingefügt werden muss\n */\nexport default class NowhowDatebox extends Vue {\n /** Validierung via Validations-Modul */\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: String, default: '' }) private placeholder!: string;\n\n @Prop({ required: false, type: String, default: '' }) private autocomplete!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n /** Wenn festgelegt, verzögert die Validierung um die angegebene Anzahl Millisekunden\n * @devdoc Kann verwendet werden, um Probleme mit Layoutverschiebungen aufgrund von Validierungs-Meldungen bei\n * Mausklicks auf andere Elemente zu entschärfen\n * @devdoc Siehe https://vee-validate.logaretm.com/v2/guide/components/validation-provider.html#props\n */\n @Prop({ required: false, type: Number, default: 0 }) private validationDelay!: number;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, default: '' }) private value!: string;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n /* eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function */\n @Prop({ required: false, type: Function, default: function() {} })\n private onEnter!: Function;\n\n private provider: any;\n\n mounted() {\n //Initialwert zuweisen\n const htmlElement = document.getElementById(String(this.id));\n const htmlInputElement = htmlElement as HTMLInputElement;\n htmlInputElement.value = this.value;\n\n this.provider = this.$refs['provider'];\n\n //Pikaday initialisieren\n new Pikaday({\n field: htmlElement,\n format: 'DD.MM.yyyy',\n firstDay: 1, // sets monday as first day\n theme: 'admin-theme',\n i18n: {\n previousMonth: this.$t('allg_previous_month').toString(),\n nextMonth: this.$t('allg_next_month').toString(),\n months: [\n this.$t('allg_january').toString(),\n this.$t('allg_february').toString(),\n this.$t('allg_march').toString(),\n this.$t('allg_april').toString(),\n this.$t('allg_may').toString(),\n this.$t('allg_june').toString(),\n this.$t('allg_july').toString(),\n this.$t('allg_august').toString(),\n this.$t('allg_september').toString(),\n this.$t('allg_october').toString(),\n this.$t('allg_november').toString(),\n this.$t('allg_december').toString()\n ],\n weekdays: [\n this.$t('allg_sunday').toString(),\n this.$t('allg_monday').toString(),\n this.$t('allg_tuesday').toString(),\n this.$t('allg_wednesday').toString(),\n this.$t('allg_thursday').toString(),\n this.$t('allg_friday').toString(),\n this.$t('allg_saturday').toString()\n ],\n weekdaysShort: [\n this.$t('allg_sunday_short').toString(),\n this.$t('allg_monday_short').toString(),\n this.$t('allg_tuesday_short').toString(),\n this.$t('allg_wednesday_short').toString(),\n this.$t('allg_thursday_short').toString(),\n this.$t('allg_friday_short').toString(),\n this.$t('allg_saturday_short').toString()\n ]\n }\n });\n }\n\n public focus() {\n (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n private onPikadayChange(event: any) {\n console.debug('pikadayChange: ', event);\n this.$emit('change', event.target.value);\n //Das pikaday-change muss auch als input event ausgestossen werden, sonst wird es nicht korrekt weiterverarbeitet\n this.$emit('input', event.target.value);\n }\n\n private onChange(value) {\n this.$emit('change', value);\n }\n\n private onFocusout(value) {\n this.$emit('focusout', value);\n }\n\n private onInput(value) {\n this.$emit('input', value);\n }\n\n @Watch('value', { deep: true, immediate: true })\n private onValueChanged() {\n this.provider = this.$refs['provider'];\n this.provider?.validate(this.value, { silent: true });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowDatebox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowDatebox.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowDatebox.vue?vue&type=template&id=67432696\"\nimport script from \"./NowhowDatebox.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowDatebox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationProvider',{ref:\"provider\",attrs:{\"rules\":_vm.validate,\"name\":_vm.label,\"vid\":_vm.id,\"debounce\":_vm.validationDelay},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, required }){return [_c('div',{class:{ 'form-group': true, 'has-warning': errors[0] }},[(_vm.label)?_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":_vm.id}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(required),expression:\"required\"}]},[_vm._v(\"*\")])]):_vm._e(),_c('div',{staticClass:\"col-sm-9\"},[_c('input',{key:_vm.id,ref:\"inputfield\",staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":_vm.id,\"name\":_vm.id,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"placeholder\":_vm.$t(_vm.placeholder),\"data-cy\":_vm.cy},domProps:{\"value\":_vm.value},on:{\"change\":_vm.onPikadayChange,\"keyup\":[_vm.onChange,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onEnter.apply(null, arguments)}],\"focusout\":_vm.onFocusout,\"input\":function($event){return _vm.onInput($event.target.value)}}}),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\n\nimport NowhowCheckbox from '@/components/NowhowCheckbox.vue';\nimport { ISelectListItem } from '@/types/clienttypes';\nimport { ProviderInstance } from 'vee-validate/dist/types/types';\n\n@Component({\n components: { NowhowCheckbox }\n})\nexport default class NowhowCheckboxList extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private inline!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, type: Array as () => Array, default: () => [] }) items!: ISelectListItem[];\n\n @Prop({\n required: false,\n type: [String, Array as () => Array, Number, Array as () => Array],\n default: ''\n })\n value!: string | string[] | number | number[];\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n private isMounted = false;\n private provider: ProviderInstance;\n private touched = false;\n\n mounted() {\n this.items.forEach(item => {\n //Selected je nach Typ unterschiedlich festlegen\n //Hinweis: Es wird erwartet dass, der Basis-Typ von checkbox.value und von value exakt der gleiche ist.\n if (Array.isArray(this.value)) {\n //Array: Prüfen, ob der Wert im Array enthalten ist\n //checkbox.selected = Array.from(this.value).includes(checkbox.value);\n if (typeof item.value === 'string') {\n item.selected = (this.value as Array).includes(item.value);\n } else if (typeof item.value === 'number') {\n item.selected = (this.value as Array).includes(item.value);\n } else {\n //Andere Typen werden nicht unterstützt\n throw new Error(`Expected string or number, got '${item.value}'.`);\n }\n } else {\n //Einzel-Wert: prüfen, ob der Wert exakt gleich ist\n item.selected = this.value === item.value;\n }\n });\n this.provider = this.$refs['provider'] as ProviderInstance;\n\n if (((this.value instanceof String || Array.isArray(this.value)) && this.value.length > 0) || this.value > 0) {\n this.onChange();\n }\n this.isMounted = true;\n }\n\n updateItems(value: string | string[] | number | number[]) {\n console.debug('NowhowCheckboxList::updateItems', value);\n if (Array.isArray(value)) {\n const valueAsStringArray = value as Array;\n //Array: Prüfen, ob der Wert im Array enthalten ist\n this.items.forEach(item => {\n const itemSelected = valueAsStringArray.includes(item.value.toString());\n item.selected = itemSelected;\n });\n } else {\n this.items.forEach(item => {\n const itemSelected = value?.toString() === item.value.toString();\n item.selected = itemSelected;\n });\n }\n this.onChange();\n }\n\n get hasErrors() {\n if (this.isMounted) {\n return this.provider.errors.length > 0;\n } else {\n return false;\n }\n }\n get required() {\n const isString = typeof this.validate === 'string' || this.validate instanceof String;\n // eslint-disable-next-line no-prototype-builtins\n return isString ? this.validate.toString().indexOf('required') >= 0 : this.validate.hasOwnProperty('required');\n }\n\n get selectedValues() {\n return this.items.filter(item => item.selected).map(item => item.value);\n }\n\n private onChange() {\n this.provider.validate(this.selectedValues).then(() => {\n this.$emit('input', this.selectedValues);\n this.$emit('change', this.selectedValues);\n this.touched = true;\n });\n }\n\n private onFocusout(value) {\n this.provider.validate(value).then(() => {\n this.$emit('focusout', value);\n });\n }\n\n @Watch('value')\n valueChanged(newVal, oldVal) {\n console.debug('NowhowCheckboxList::valueChanged', newVal, oldVal);\n this.updateItems(newVal);\n this.provider?.validate(newVal, { silent: true });\n }\n\n @Watch('items', { deep: true })\n itemsChanged(newVal, oldVal) {\n console.debug('NowhowCheckboxList::itemsChanged', newVal, oldVal);\n this.updateItems(newVal?.filter(item => item.selected).map(item => item.value));\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowCheckboxList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowCheckboxList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowCheckboxList.vue?vue&type=template&id=7d52507e\"\nimport script from \"./NowhowCheckboxList.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowCheckboxList.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:{ 'form-group': true, 'has-warning': _vm.hasErrors }},[_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"id\":_vm.id + '-group'}},[_vm._v(_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.required),expression:\"required\"}]},[_vm._v(\"*\")])]),_c('div',{staticClass:\"col-sm-9\"},[_vm._l((_vm.items),function(obj,index){return _c('div',{key:index,class:{ 'checkbox-inline': _vm.inline }},[_c('NowhowCheckbox',{attrs:{\"label\":obj.text,\"id\":_vm.id + '-' + obj.value},on:{\"change\":_vm.onChange,\"focusout\":_vm.onFocusout},model:{value:(obj.selected),callback:function ($$v) {_vm.$set(obj, \"selected\", $$v)},expression:\"obj.selected\"}})],1)}),_c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":_vm.label,\"rules\":_vm.validate,\"vid\":_vm.id,\"skip-if-empty\":!_vm.required},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],attrs:{\"type\":\"hidden\"},domProps:{\"value\":(_vm.value)},on:{\"input\":function($event){if($event.target.composing)return;_vm.value=$event.target.value}}}),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()]}}])})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\n\nimport { Component, Prop } from 'vue-property-decorator';\n\nimport NowhowCheckboxList from '@/components/NowhowCheckboxList.vue';\nimport { ISelectListItem } from '@/types/clienttypes';\n\n/** Implementiert eine Auswahl für 12 Monate (als Saison) mit Label und kompletter Validierung falls Required\n * @remarks Rendert eine Tabelle mit Quartals-Einteilung\n * @remarks Implementiert die Anforderung aus dem DatenErfassungLocalTaetigkeitScreen\n * @devdoc Verwendet intern die NowhowCheckboxList Komponente für die Funktion. Die Anzeige wird jedoch mittels\n * Buttons gelöst, um die gewünschte Darstellung zu erhalten\n */\n@Component({\n components: { NowhowCheckboxList }\n})\nexport default class NowhowSeasonPicker extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n /* Die Auswahl der 12 Monate als Saison\n * @remarks Es wird erwartet, dass exakt 12 Items übergeben werden\n */\n @Prop({ required: true, type: Array as () => Array, default: () => [] }) items!: ISelectListItem[];\n\n @Prop({\n required: false,\n type: [String, Array as () => Array, Number, Array as () => Array],\n default: []\n })\n value!: string | string[] | number | number[];\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n /** Liefert eine Zeile für die Darstellung des Zeitraums in Quartalen von je 3 Monaten */\n private getRowOfItems(rowNumber: number): Array {\n const ar = new Array();\n ar.push(this.items[0 + rowNumber]);\n ar.push(this.items[3 + rowNumber]);\n ar.push(this.items[6 + rowNumber]);\n ar.push(this.items[9 + rowNumber]);\n return ar;\n }\n\n get required() {\n const isString = typeof this.validate === 'string' || this.validate instanceof String;\n // eslint-disable-next-line no-prototype-builtins\n return isString ? this.validate.toString().indexOf('required') >= 0 : this.validate.hasOwnProperty('required');\n }\n\n mounted() {\n console.debug('NowhowSeasonPicker::mounted');\n //\n }\n\n private onChange(args) {\n this.$emit('change', args);\n }\n\n private onInput(args) {\n this.$emit('input', args);\n }\n\n private onFocusout(args) {\n this.$emit('focusout', args);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowSeasonPicker.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowSeasonPicker.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowSeasonPicker.vue?vue&type=template&id=3214eb16&scoped=true\"\nimport script from \"./NowhowSeasonPicker.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowSeasonPicker.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NowhowSeasonPicker.vue?vue&type=style&index=0&id=3214eb16&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3214eb16\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('NowhowCheckboxList',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],key:_vm.id,ref:\"seasonPicker\",attrs:{\"id\":_vm.id,\"name\":_vm.$t(_vm.label),\"readonly\":_vm.readonly,\"disabled\":_vm.disabled,\"value\":_vm.value,\"items\":_vm.items,\"validate\":_vm.validate,\"label\":_vm.label,\"data-cy\":_vm.cy,\"inline\":true},on:{\"change\":_vm.onChange,\"input\":_vm.onInput,\"focusout\":_vm.onFocusout}}),_c('div',{class:{ 'form-group': true, 'has-warning': Object.values(errors).flat().length > 0 }},[_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"id\":_vm.id + '-group'}},[_vm._v(_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.required),expression:\"required\"}]},[_vm._v(\"*\")])]),_c('div',{staticClass:\"col-sm-9\"},[_c('table',{staticClass:\"table table-naked table-slim table-season-picker\"},[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('allg_quarter1_short')))]),_c('th',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('allg_quarter2_short')))]),_c('th',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('allg_quarter3_short')))]),_c('th',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('allg_quarter4_short')))])])]),_c('tbody',_vm._l((3),function(rowNumber){return _c('tr',{key:rowNumber},_vm._l((_vm.getRowOfItems(rowNumber - 1)),function(item){return _c('td',{key:item.value},[_c('button',{class:{ btn: true, 'btn-primary': item.selected },attrs:{\"type\":\"button\"},on:{\"click\":function($event){item.selected = !item.selected}}},[_c('span',{staticClass:\"buttontext\"},[_vm._v(_vm._s(_vm.$t(item.text)))])])])}),0)}),0)]),(errors)?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},_vm._l((Object.values(errors).flat()),function(error){return _c('span',{key:error},[_vm._v(_vm._s(error))])}),0):_vm._e()])])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { cloneDeep } from 'lodash';\nimport { Component, Prop } from 'vue-property-decorator';\nimport NowhowDropdown from '@/components/NowhowDropdown.vue';\n\nimport { ISelectListItem } from '@/types/clienttypes';\n\n/** Implementiert ein Dropdown mit Label und kompletter Validierung für eine Ja/Nein/Null Auswahl\n * @remarks Rendert je eine Spalte für das Label und die Radio-Buttons (sm-3 und sm-9 im Bootstrap-Grid)\n * @devdoc Verwendet intern die NowhowDropdown Komponente\n */\n@Component({\n components: { NowhowDropdown }\n})\nexport default class NowhowDropdownYesNoNull extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String }) private name!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: String, default: 'yes' }) private labelYes!: string;\n\n @Prop({ required: false, type: String, default: 'no' }) private labelNo!: string;\n\n @Prop({ required: false, type: String, default: '' }) private labelNull!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private inline!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: false, type: [Boolean, null], default: null }) value!: boolean | null;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n dropdownyesNoNullItems = [];\n\n mounted() {\n this.dropdownyesNoNullItems = this.cloneOf(this.yesNoNullItems);\n }\n\n /** Liefert eine Kopie von SelectList-Items\n * @devdoc Löst das Problem, dass die RadioList nicht nur den Value zurückliefert sondern auch die Items verändert\n */\n cloneOf(ISelectListItem): Array {\n return cloneDeep(ISelectListItem);\n }\n\n valueAsString(): string {\n if (this.value !== null) {\n return this.value.toString();\n } else {\n return '';\n }\n }\n\n /** Liefert die zur Auswahl stehenden Optionen, inklusive einer leeren Auswahl. */\n yesNoNullItems: Array = [\n {\n /* null (as a string value to avoid ambiguity with the actual null value) */\n value: '',\n text: this.labelNull,\n selected: false,\n disabled: false\n },\n {\n /* yes */\n value: 'true',\n text: this.labelYes,\n selected: false,\n disabled: false\n },\n {\n /* no */\n value: 'false',\n text: this.labelNo,\n selected: false,\n disabled: false\n }\n ];\n\n private onFocusout(value) {\n this.$emit('focusout', value);\n }\n\n /** Gibt den geänderten Wert als nullable Boolean aus */\n onChange(newValue: string) {\n if (newValue === 'true') {\n this.$emit('change', true);\n }\n if (newValue === 'false') {\n this.$emit('change', false);\n }\n if (newValue === '') {\n this.$emit('input', null);\n }\n }\n\n /** Gibt den geänderten Wert als nullable Boolean aus */\n onInput(newValue: string) {\n if (newValue === 'true') {\n this.$emit('input', true);\n }\n if (newValue === 'false') {\n this.$emit('input', false);\n }\n if (newValue === '') {\n this.$emit('input', null);\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowDropdownYesNoNull.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowDropdownYesNoNull.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowDropdownYesNoNull.vue?vue&type=template&id=5d8a58c2\"\nimport script from \"./NowhowDropdownYesNoNull.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowDropdownYesNoNull.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NowhowDropdown',{attrs:{\"id\":_vm.id + '-yes-no-null',\"name\":_vm.name ? _vm.name : _vm.id,\"value\":_vm.valueAsString(),\"items\":_vm.yesNoNullItems,\"label\":_vm.label,\"validate\":_vm.validate,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly},on:{\"change\":_vm.onChange,\"input\":_vm.onInput,\"focusout\":_vm.onFocusout}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\n@Component\n\n/** Implementiert eine Textbox mit Label und mit kompletter Validierung für eine positive Integralzahl im 32-Bit (signed) Range\n * @remarks Rendert je eine Spalte für das Label und das Eingabefeld (sm-3 und sm-9 im Bootstrap-Grid)\n */\nexport default class NowhowUInt32Box extends Vue {\n /** Validierung via Validations-Modul */\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n @Prop({ required: true, type: String }) private id!: string;\n\n /** Label für das Eingabefeld\n * @remarks Wird zusätzlich für die Eigenschaft 'name' auf dem Eingabefeld sowie den Validation-Provider verwendet */\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: String, default: '' }) private placeholder!: string;\n\n @Prop({ required: false, type: String, default: '' }) private autocomplete!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, default: '' }) private value!: number | null;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n /* eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function */\n @Prop({ required: false, type: Function, default: function() {} })\n private onEnter!: Function;\n\n private provider: any;\n private touched = false;\n\n private MAX_INT32 = 2147483647;\n private MIN_INT32 = -2147483648;\n\n mounted() {\n const inputElement: any = document.getElementById(String(this.id));\n inputElement.value = this.value;\n\n this.provider = this.$refs['provider'];\n }\n\n /** Prüft, ob der Wertebereich eingehalten wird */\n isInRange(value): boolean {\n //Leere Eingabe erlauben\n if (value === '') {\n return true;\n }\n\n //Ziffern erzwingen\n const isnum = /^\\d+$/.test(value);\n if (!isnum) {\n //console.debug('Number is not an integer:', value);\n return false;\n }\n\n //Range erzwingen\n if (value > this.MAX_INT32) {\n console.debug('Number ist too large:', value);\n return false;\n } else if (value < this.MIN_INT32) {\n console.debug('Number ist too small:', value);\n return false;\n }\n\n return true;\n }\n\n public focus() {\n (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n private onChange(value) {\n //Nur wenn innerhalb des erlaubten Bereichs, den Wert weitergeben\n if (this.isInRange(value) === true) {\n //console.debug('emitting', value);\n this.$emit('change', value ? Number(value) : null);\n this.touched = true;\n }\n }\n\n private onFocusout(value) {\n this.$emit('focusout', value);\n this.touched = true;\n }\n\n private onInput(value) {\n //Nur wenn innerhalb des erlaubten Bereichs, den Wert weitergeben\n\n if (this.isInRange(value) === true) {\n //console.debug('emitting', value);\n this.$emit('input', value ? Number(value) : null);\n this.touched = true;\n }\n }\n\n @Watch('value', { deep: true, immediate: true })\n private onValueChanged() {\n this.provider = this.$refs['provider'];\n this.provider?.validate(this.value, { silent: true });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowUInt32Box.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowUInt32Box.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowUInt32Box.vue?vue&type=template&id=52fd6379\"\nimport script from \"./NowhowUInt32Box.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowUInt32Box.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":_vm.label,\"rules\":_vm.validate,\"vid\":_vm.id},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, required }){return [_c('div',{class:{ 'form-group': true, 'has-warning': errors[0] }},[(_vm.label)?_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":_vm.id}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(required),expression:\"required\"}]},[_vm._v(\"*\")])]):_vm._e(),_c('div',{staticClass:\"col-sm-9\"},[_c('input',{key:_vm.id,ref:\"inputfield\",staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":_vm.id,\"name\":_vm.id,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"placeholder\":_vm.$t(_vm.placeholder),\"data-cy\":_vm.cy},domProps:{\"value\":_vm.value},on:{\"keyup\":[_vm.onChange,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onEnter.apply(null, arguments)}],\"focusout\":_vm.onFocusout,\"input\":function($event){return _vm.onInput($event.target.value)}}}),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\nimport Pikaday from 'pikaday';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport NowhowDatebox from '@/components/NowhowDatebox.vue';\nimport NowhowTextline from '@/components/NowhowTextline.vue';\nimport NowhowTextarea from '@/components/NowhowTextarea.vue';\nimport NowhowRadioList from '@/components/NowhowRadioList.vue';\nimport NowhowCheckboxList from '@/components/NowhowCheckboxList.vue';\nimport NowhowSeasonPicker from '@/components/NowhowSeasonPicker.vue';\nimport NowhowDropdown from '@/components/NowhowDropdown.vue';\nimport NowhowDropdownYesNoNull from '@/components/NowhowDropdownYesNoNull.vue';\nimport NowhowUInt32Box from '@/components/NowhowUInt32Box.vue';\nimport NowhowRequiredInfoline from '@/components/NowhowRequiredInfoline.vue';\nimport { ISelectListItem } from '@/types/clienttypes';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { SUBMIT_LOCAL_UNIT_ACTIVITY_DATA, SUBMIT_LOCAL_UNIT_ADDRESS_DATA } from '../store/actions';\nimport { CASE_ID } from '../store/getters';\n\nimport { ILocalUnitDataObject, IActivityDataObject } from '@/api-viewmodel';\n\n@Component({\n components: {\n NowhowTextline,\n NowhowTextbox,\n NowhowDatebox,\n NowhowTextarea,\n NowhowRadioList,\n NowhowCheckboxList,\n NowhowSeasonPicker,\n NowhowDropdown,\n NowhowDropdownYesNoNull,\n NowhowUInt32Box,\n NowhowRequiredInfoline\n }\n})\n\n/** Bereich für die Bearbeitung der Adress-Details einer Arbeitsstätte*/\nexport default class LocalUnitEditActivity extends Vue {\n //Getters\n @modul.Getter(CASE_ID) caseId!: bigint;\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n //Actions\n @modul.Action(SUBMIT_LOCAL_UNIT_ACTIVITY_DATA) submitLocalUnitActivityData!: Function;\n @modul.Action(SUBMIT_LOCAL_UNIT_ADDRESS_DATA) submitLocalUnitAddressData!: Function;\n\n @Prop({ required: true, type: Object })\n private activity!: IActivityDataObject;\n\n @Prop({ required: true, type: Object })\n private localUnit!: ILocalUnitDataObject;\n\n dropdownDeleteReasonItems = [];\n\n mounted(): void {\n //Aktuelles Token der unveränderte Daten für die spätere, erstmalige Prüfung merken\n this.lastSubmittedActivityDataToken = this.submittableActivityDataToken;\n this.lastSubmittedLocalUnitAddressDataToken = this.submittableLocalUnitAddressDataToken;\n\n //Pikaday einrichten für das benötigte Feld\n new Pikaday({ field: document.getElementById('datepicker') });\n }\n\n beforeDestroy() {\n this.saveStepData();\n }\n\n /** Behandelt die Änderung von Feld \"Ist der Betrieb zurzeit aktiv\" auf \"Ja\"\n * @remarks Implementiert Anforderung 006 und 010 in https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungLocalTaetigkeitScreen\n * @devdoc Siehe auch Bug #14049 Datenerfassung Tätigkeit Screen: Bei Aktiv=NEIN kommt der Benutzer nicht [Weiter]\n * @devdoc Siehe auch Bug #13797 Datenerfassung Tätigkeit: Eingegebene Werte verschwinden auf dem GUI nach [WEITER] und [ZURÜCK]\n */\n @Watch('activity.isActivityBegin', { deep: false, immediate: false })\n private onIsActivityBeginChanged(newVal: boolean | null, oldVal: boolean | null) {\n console.debug(`LocalUnitEditActivity::onIsActivityBeginChanged:newVal:='${newVal}';oldVal:=${oldVal}`);\n\n //Neu auf Ja?\n if (newVal === true && oldVal !== true) {\n if (this.activity) {\n //Alles auf leer / null / zero setzen\n this.activity.inactivityReason = null;\n this.activity.activityDateMonth = null;\n this.activity.activityDateYear = null;\n this.localUnit.activityDescription = null;\n this.activity.isMerchant = null;\n this.activity.merchantKind = null;\n this.activity.isSeasonActivity = null;\n this.activity.seasonSelection = [];\n this.activity.creationReasonSelection = null;\n this.activity.creationReasonDescription = null;\n this.activity.nameActivityBefore = null;\n this.activity.kind = null;\n this.activity.foundersComposition = null;\n\n //Submit explizit forcieren\n this.lastSubmittedActivityDataToken = undefined;\n this.lastSubmittedLocalUnitAddressDataToken = undefined;\n }\n }\n //Neu auf Nein?\n if (newVal === false && oldVal !== false) {\n if (this.activity) {\n //Werte gemäss Vorgabe setzen (HINT: Eine analoge Vorgabe gibt es auch für den\n //Papierfragebogen-Import, siehe DAPA-090)\n this.activity.isMerchant = false;\n this.activity.isSeasonActivity = false;\n this.activity.creationReasonSelection = 7; //\"Andere (bitte beschreiben)\"\n this.activity.creationReasonDescription = 'no (auto text)';\n this.activity.nameActivityBefore = 'no (auto text)';\n this.activity.kind = 1; //\"Einzelbetrieb\"\n\n //Submit explizit forcieren\n this.lastSubmittedActivityDataToken = undefined;\n this.lastSubmittedLocalUnitAddressDataToken = undefined;\n }\n }\n }\n\n /** Liefert die zur Auswahl stehenden Gründe für die Aufgabe der Tätigkeit\n * @devdoc Weil diese Items hier nur einmal verwendet werden, ist kein Clone notwendig\n */\n dropdownInactivityReasonItems: Array = [\n {\n /*Default, keine Auswahl*/\n value: null,\n text: '',\n selected: false,\n disabled: false\n },\n {\n /*Tätigkeitsaufnahme geplant für ... (wenn gewählt, einblenden von Feld Datum)*/\n value: 1,\n text: 'lu_activity_option_planned_by',\n selected: false,\n disabled: false\n },\n {\n /*Aufgabe der Tätigkeit per ... (wenn gewählt, einblenden von Feld Datum)*/\n value: 2,\n text: 'lu_activity_option_cessation_by',\n selected: false,\n disabled: false\n },\n {\n /*Tätigkeitsaufnahme nicht vorgesehen*/\n value: 3,\n text: 'lu_activity_option_not_planned',\n selected: false,\n disabled: false\n }\n ];\n\n /** Liefert die zur Auswahl stehenden Handelstätigkeiten\n * @devdoc Weil diese Items hier nur einmal verwendet werden, ist kein Clone notwendig\n */\n dropdownMerchantKindItems: Array = [\n {\n /*Default, keine Auswahl*/\n value: null,\n text: '',\n selected: false,\n disabled: false\n },\n {\n /* Im Detailhandel */\n value: 1,\n text: 'lu_merchant_option_retail',\n selected: false,\n disabled: false\n },\n {\n /*Im Grosshandel*/\n value: 2,\n text: 'lu_merchant_option_wholesale',\n selected: false,\n disabled: false\n }\n ];\n\n /** Liefert die zur Auswahl stehenden Tätigkeitszeiträume\n * @devdoc Weil diese Items hier nur einmal verwendet werden, ist kein Clone notwendig\n * @devdoc Die Auswahl wird in einen Bitwise-Int umgewandelt mit 12 bits, jedes für einen Monat (Januar = 1, Etc...)\n */\n checkboxSeasonalActivityPeriodItems: Array = [\n {\n value: 'JAN',\n text: 'allg_january',\n selected: false,\n disabled: false\n },\n {\n value: 'FEB',\n text: 'allg_february',\n selected: false,\n disabled: false\n },\n {\n value: 'MRC',\n text: 'allg_march',\n selected: false,\n disabled: false\n },\n {\n value: 'APR',\n text: 'allg_april',\n selected: false,\n disabled: false\n },\n {\n value: 'MAY',\n text: 'allg_may',\n selected: false,\n disabled: false\n },\n {\n value: 'JUN',\n text: 'allg_june',\n selected: false,\n disabled: false\n },\n {\n value: 'JUL',\n text: 'allg_july',\n selected: false,\n disabled: false\n },\n {\n value: 'AUG',\n text: 'allg_august',\n selected: false,\n disabled: false\n },\n {\n value: 'SEP',\n text: 'allg_september',\n selected: false,\n disabled: false\n },\n {\n value: 'OCT',\n text: 'allg_october',\n selected: false,\n disabled: false\n },\n {\n value: 'NOV',\n text: 'allg_november',\n selected: false,\n disabled: false\n },\n {\n value: 'DEC',\n text: 'allg_december',\n selected: false,\n disabled: false\n }\n ];\n\n /** Liefert die zur Auswahl stehenden Gründe für die Erstellung\n * @devdoc Weil diese Items hier nur einmal verwendet werden, ist kein Clone notwendig\n */\n dropdownCreationReasonItems: Array = [\n {\n /*Default, keine Auswahl*/\n value: null,\n text: '',\n selected: false,\n disabled: false\n },\n {\n /* Neugründung */\n value: 1,\n text: 'lu_creation_option_startup',\n selected: false,\n disabled: false\n },\n {\n /* Rechtsformänderung */\n value: 2,\n text: 'lu_creation_option_legalchange',\n selected: false,\n disabled: false\n },\n {\n /* Übernahme / Pächterwechsel */\n value: 3,\n text: 'lu_creation_option_takeover',\n selected: false,\n disabled: false\n },\n {\n /* Reaktivierung */\n value: 4,\n text: 'lu_creation_option_reactivation',\n selected: false,\n disabled: false\n },\n {\n /* Zusammenlegung / Fusion */\n value: 5,\n text: 'lu_creation_option_merger',\n selected: false,\n disabled: false\n },\n {\n /* Aufspaltung / Splitting */\n value: 6,\n text: 'lu_creation_option_split',\n selected: false,\n disabled: false\n },\n {\n /* Andere (bitte beschreiben) (wenn gewählt, einblenden von Feld Beschreibung)\n */\n value: 7,\n text: 'lu_creation_option_other',\n selected: false,\n disabled: false\n }\n ];\n\n /** Liefert die zur Auswahl stehenden Arten der Local Unit\n * @devdoc Weil diese Items hier nur einmal verwendet werden, ist kein Clone notwendig\n */\n dropdownKindItems: Array = [\n {\n /*Default, keine Auswahl*/\n value: null,\n text: '',\n selected: false,\n disabled: false\n },\n {\n /* Einzelbetrieb */\n value: 1,\n text: 'lu_kind_option_single',\n selected: false,\n disabled: false\n },\n {\n /* Betrieb mit mehreren Arbeitsstätten */\n value: 2,\n text: 'lu_kind_option_multi',\n selected: false,\n disabled: false\n }\n ];\n\n /** Liefert die zur Auswahl stehenden Zusammensetzungen der Gründer der Local Unit\n * @devdoc Weil diese Items hier nur einmal verwendet werden, ist kein Clone notwendig\n */\n dropdownFoundersCompositionItems: Array = [\n {\n /*Default, keine Auswahl*/\n value: null,\n text: '',\n selected: false,\n disabled: false\n },\n {\n /* Ausschliesslich von einem / mehrerer Männern */\n value: 1,\n text: 'lu_founders_option_onlymen',\n selected: false,\n disabled: false\n },\n {\n /* Ausschliesslich von einer / mehreren Frauen */\n value: 2,\n text: 'lu_founders_option_onlywomen',\n selected: false,\n disabled: false\n },\n {\n /* Einem / mehreren Männern und einer / mehreren Frauen */\n value: 3,\n text: 'lu_founders_option_mixed',\n selected: false,\n disabled: false\n }\n ];\n\n /** Speichert die aktuell eingegebenen Werte auf das Backend\n * @remarks Die Daten werden nur versendet, wenn diese seit dem letzten Versand oder erstmalig geändert haben\n * Für diese Prüfung werden alle Eingabewerte dieser Komponente verwendet\n * @devdoc Diese Funktion soll beim Verlassen des Bearbeitungsformulars aufgerufen werden\n * Hinweis: Es kann aktuell nicht die Funktionalität der ValidationObserver-Komponente verwendet werden,\n * weil diese keinen zwischenzeitlichen Reset der \"Dirty-Flags\" erlaubt.\n * Hinweis2: Es wird nicht ein \"dirty-tracking\" via \"changed\"-Event implementiert, um nur zum Zeitpunkt des\n * Versandes effektiv veränderte Daten zu versenden.\n */\n saveStepData() {\n console.debug('LocalUnitEditActivity::saveStepData');\n\n const submittableActivityDataToken = this.submittableActivityDataToken;\n console.debug('LocalUnitEditActivity::submitLocalUnitActivityData', submittableActivityDataToken);\n if (submittableActivityDataToken !== this.lastSubmittedActivityDataToken) {\n this.submitLocalUnitActivityData({\n caseId: this.caseId,\n data: this.activity\n });\n this.lastSubmittedActivityDataToken = submittableActivityDataToken;\n }\n\n const submittableLocalUnitAddressDataToken = this.submittableLocalUnitAddressDataToken;\n console.debug('LocalUnitEditActivity::submitLocalUnitAddressData', submittableLocalUnitAddressDataToken);\n if (submittableLocalUnitAddressDataToken !== this.lastSubmittedLocalUnitAddressDataToken) {\n this.submitLocalUnitAddressData({\n caseId: this.caseId,\n data: this.localUnit\n });\n this.lastSubmittedLocalUnitAddressDataToken = submittableLocalUnitAddressDataToken;\n }\n }\n\n /** Zwischenspeicher für die Prüfung, ob ein erneuter Versand der Daten an den Activity-Endpunkt notwendig ist */\n lastSubmittedActivityDataToken: string = null;\n\n /** Zwischenspeicher für die Prüfung, ob ein erneuter Versand der Daten an den LocalUnitAddress-Endpunkt notwendig ist */\n lastSubmittedLocalUnitAddressDataToken: string = null;\n\n /** Liefert ein Token für die versendbaren Daten zur späteren Prüfung, ob ein erneuter Versand an den Activity-Endpunkt notwendig ist.\n * @devdoc Für den effektiven Versand an die API wird das Objekt aus dem Zustand verwendet,\n * nicht dieses interne DTO.\n */\n get submittableActivityDataToken() {\n console.debug('submittableActivityDataToken::Activity', JSON.stringify([this.activity]));\n return JSON.stringify([this.activity]);\n }\n\n /** Liefert die Validierungsregel für die Angabe des Grundes\n * @devdoc Die explizite Ausprogrammierung dieser \"required\"-Regel zusammen mit \"v-show\" statt einem einfachen \"v-if\" wird vorgenommen,\n * um einen seltsamen Validierungsfehler mit initialer Vertauschung der Fehlermeldungen zwischen der Monats- und der Jahresangabe zu umgehen\n */\n get validationIsInactivityReasonRequired() {\n if (this.isInactive) {\n return '|required';\n } else {\n return '';\n }\n }\n\n /** Liefert die Validierungsregel für den Monat\n * @remarks Abhängig von anderen Angaben muss das Datum in einem bestimmten Zeitbereich liegen\n * @remarks Implementiert die Anforderung C aus CR1010\n * @devdoc Prüft nur auf ganze Monate, gemäss Anforderung, und nur wenn das aktuelle Jahr eingegeben wurde.\n * Das Jahr selbst wird separat validiert.\n */\n get monthValidation() {\n const now = new Date();\n const thisYear = now.getFullYear();\n const thisMonth = now.getMonth() + 1; //convert to 1-based value\n //console.debug(`monthValidation:thisYear:='${thisYear}'thisMonth:='${thisMonth}'`);\n\n //Frage «Ist der Betrieb zur Zeit aktiv» = Ja, seit...\n if (this.isActive) {\n //Datum darf nicht in der Zukunft liegen\n if (this.activity.activityDateYear === thisYear) {\n return 'max_value_labeled:' + thisMonth + ',allg_validate_month_year_not_in_future';\n }\n return '';\n }\n\n //Frage «Ist der Betrieb zur Zeit aktiv» = Nein, und Tätigkeitsaufnahme geplant für...\n if (\n this.isInactive &&\n // eslint-disable-next-line eqeqeq\n this.activity.inactivityReason == 1 /*Tätigkeitsaufnahme geplant für (triple eq does not work)*/\n ) {\n //Datum muss in der Zukunft liegen\n if (this.activity.activityDateYear === thisYear) {\n //Es muss mindestens nächste Monat gewählt sein\n //(Bei Jahresende muss der Benutzer das nächste Jahr wählen)\n return 'min_value_labeled:' + (thisMonth + 1) + ',allg_validate_month_year_not_in_past';\n }\n return '';\n }\n\n //Frage «Ist der Betrieb zur Zeit aktiv» = Nein, und Aufgabe der Tätigkeit per...\n if (\n this.isInactive &&\n // eslint-disable-next-line eqeqeq\n this.activity.inactivityReason == 2 /*Aufgabe der Tätigkeit per (triple eq does not work)*/\n ) {\n //Datum darf nicht in der Zukunft liegen\n if (this.activity.activityDateYear === thisYear) {\n return 'max_value_labeled:' + thisMonth + ',allg_validate_month_year_not_in_future';\n }\n return '';\n }\n\n //Keine Einschränkung\n return '';\n }\n\n /** Liefert die Validierungsregel für das Jahr\n * @remarks Abhängig von anderen Angaben muss das Datum in einem bestimmten Zeitbereich liegen\n * @remarks Implementiert die Anforderung C aus CR1010\n * @devdoc Prüft nur auf ganze Jahre. Der Monat wird separat validiert.\n */\n get yearValidation() {\n const now = new Date();\n const thisYear = now.getFullYear();\n const thisMonth = now.getMonth() + 1; //convert to 1-based value\n //console.debug(`monthValidation:thisYear:='${thisYear}'thisMonth:='${thisMonth}'`);\n\n //Frage «Ist der Betrieb zur Zeit aktiv» = Ja, seit...\n if (this.isActive) {\n //Datum darf nicht in der Zukunft liegen\n return 'max_value_labeled:' + thisYear + ',allg_validate_month_year_not_in_future';\n }\n\n //Frage «Ist der Betrieb zur Zeit aktiv» = Nein, und Tätigkeitsaufnahme geplant für...\n if (\n this.isInactive &&\n // eslint-disable-next-line eqeqeq\n this.activity.inactivityReason == 1 /*Tätigkeitsaufnahme geplant für (triple eq does not work)*/\n ) {\n //Datum muss in der Zukunft liegen\n if (thisMonth === 12 /*letzter Monat*/) {\n return 'min_value_labeled:' + (thisYear + 1) + ',allg_validate_month_year_not_in_past';\n }\n return 'min_value_labeled:' + thisYear + ',allg_validate_month_year_not_in_past';\n }\n\n //Frage «Ist der Betrieb zur Zeit aktiv» = Nein, und Aufgabe der Tätigkeit per...\n if (\n this.isInactive &&\n // eslint-disable-next-line eqeqeq\n this.activity.inactivityReason == 2 /*Aufgabe der Tätigkeit per (triple eq does not work)*/\n ) {\n //Datum darf nicht in der Zukunft liegen\n return 'max_value_labeled:' + thisYear + ',allg_validate_month_year_not_in_future';\n }\n\n //Keine Einschränkung\n return '';\n }\n\n /** Gibt an, ob der Betrieb als nicht aktiv gemeldet ist.\n * @remarks Implementiert die Anforderung DatenErfassungLocalTaetigkeitScreen 010\n * @devdoc Wird für die Steuerung von Einblendungen sowie für das Setzen von Default-Werten verwendet.\n */\n get isInactive() {\n const isInactive = this.activity.isActivityBegin === false;\n if (!isInactive) {\n this.activity.inactivityReason = null;\n }\n return isInactive;\n }\n\n /** Gibt an, ob der Betrieb als aktiv gemeldet ist.\n * @remarks Implementiert die Anforderung DatenErfassungLocalTaetigkeitScreen 010\n * @devdoc Wird für die Steuerung von Einblendungen sowie für das Setzen von Default-Werten verwendet.\n */\n get isActive() {\n const isActive = this.activity.isActivityBegin === true;\n if (!isActive) {\n this.localUnit.activityDescription = null;\n }\n return isActive;\n }\n\n /** Gibt an, ob die Angabe eines Datums verlangt ist.\n * @remarks Implementiert die Anforderung DatenErfassungLocalTaetigkeitScreen 010 und 020\n * @devdoc Wird für die Steuerung von Einblendungen sowie für das Setzen von Default-Werten verwendet.\n */\n get isDateRequired() {\n const isDateRequired =\n this.activity.isActivityBegin != null /*Status wurde schon ausgewählt*/ &&\n (this.activity.isActivityBegin === true ||\n this.activity.inactivityReason == 1 /*Tätigkeitsaufnahme geplant für (triple eq does not work)*/ ||\n this.activity.inactivityReason == 2); /*Aufgabe der Tätigkeit per (triple eq does not work)*/\n if (!isDateRequired) {\n this.activity.activityDateMonth = null;\n this.activity.activityDateYear = null;\n }\n return isDateRequired;\n }\n\n /** Gibt an, ob es sich um einen Händler handelt.\n * @remarks Implementiert die Anforderung DatenErfassungLocalTaetigkeitScreen 050\n * @devdoc Wird für die Steuerung von Einblendungen sowie für das Setzen von Default-Werten verwendet.\n */\n get isMerchant() {\n const isMerchant = this.activity.isMerchant === true;\n\n if (!isMerchant) {\n this.activity.merchantKind = null;\n }\n return isMerchant;\n }\n\n /** Gibt an, ob es sich um eine saisonale Aktivität handelt.\n * @remarks Implementiert die Anforderung DatenErfassungLocalTaetigkeitScreen 070\n * @devdoc Wird für die Steuerung von Einblendungen sowie für das Setzen von Default-Werten verwendet.\n */\n get isSeasonActivity() {\n const isSeasonActivity = this.activity.isSeasonActivity === true;\n\n if (!isSeasonActivity) {\n this.activity.seasonSelection = null;\n }\n return isSeasonActivity;\n }\n\n /** Gibt an, ob die Angabe eines Vorgängers verlangt ist.\n * @remarks Implementiert die Anforderung DatenErfassungLocalTaetigkeitScreen 110\n * @devdoc Wird für die Steuerung von Einblendungen sowie für das Setzen von Default-Werten verwendet.\n */\n get isPredecessorRequired() {\n const isPredecessorRequired = this.activity.creationReasonSelection != 1;\n if (!isPredecessorRequired) {\n this.activity.nameActivityBefore = null;\n }\n return isPredecessorRequired;\n }\n\n /** Gibt an, ob die Angabe einer Creation Reason verlangt ist.\n * @remarks Implementiert die Anforderung DatenErfassungLocalTaetigkeitScreen 120\n * @devdoc Wird für die Steuerung von Einblendungen sowie für das Setzen von Default-Werten verwendet.\n */\n get isCreationReasonDescriptionRequired() {\n const isCreationReasonDescriptionRequired = this.activity.creationReasonSelection == 7;\n if (!isCreationReasonDescriptionRequired) {\n this.activity.creationReasonDescription = null;\n }\n return isCreationReasonDescriptionRequired;\n }\n\n /** Liefert ein Token für die versendbaren Daten zur späteren Prüfung, ob ein erneuter Versand an den LocalUnitAddress-Endpunkt notwendig ist.\n * @remarks Aus historischen Gründen werden die NOGA-Relevanten Angaben der eigentlichen LocalUnit, nicht den Aktivitätsdaten zugeordnet.\n * @devdoc Für den effektiven Versand an die API wird das Objekt aus dem Zustand verwendet,\n * nicht dieses interne DTO.\n */\n get submittableLocalUnitAddressDataToken() {\n const tokenData = {\n activityDescription: this.localUnit.activityDescription,\n mainActivityNoga2008Code: this.localUnit.mainActivityNoga2008Code,\n mainActivityNoga2025Code: this.localUnit.mainActivityNoga2025Code\n };\n console.debug('submittableLocalUnitAddressDataToken::tokenData', tokenData);\n return JSON.stringify(tokenData);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalUnitEditActivity.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalUnitEditActivity.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./LocalUnitEditActivity.vue?vue&type=template&id=a747dbce\"\nimport script from \"./LocalUnitEditActivity.vue?vue&type=script&lang=ts\"\nexport * from \"./LocalUnitEditActivity.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationObserver',{ref:\"localUnitActivityObserver\"},[_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"}},[_c('fieldset',[_c('legend',{directives:[{name:\"t\",rawName:\"v-t\",value:('edit_lu_tit_lu_activity'),expression:\"'edit_lu_tit_lu_activity'\"}]}),_c('NowhowDropdownYesNoNull',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"localUnitActivityIsActive\",\"name\":_vm.$t('lu_is_active'),\"label-yes\":\"allg_ja_since_dots\",\"label-no\":\"allg_nein\",\"label\":\"lu_is_active\",\"validate\":_vm.getValidation('activityDataObject.isActivityBegin')},model:{value:(_vm.activity.isActivityBegin),callback:function ($$v) {_vm.$set(_vm.activity, \"isActivityBegin\", $$v)},expression:\"activity.isActivityBegin\"}}),_c('NowhowDropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isInactive),expression:\"isInactive\"}],attrs:{\"id\":\"localUnitActivityInactivityReason\",\"items\":_vm.dropdownInactivityReasonItems,\"label\":\"page_muc_lunode_reason\",\"validate\":_vm.getValidation('activityDataObject.inactivityReason') + _vm.validationIsInactivityReasonRequired},model:{value:(_vm.activity.inactivityReason),callback:function ($$v) {_vm.$set(_vm.activity, \"inactivityReason\", $$v)},expression:\"activity.inactivityReason\"}}),(_vm.isDateRequired)?[_c('NowhowUInt32Box',{attrs:{\"id\":\"localUnitActivityDateMonth\",\"label\":\"allg_date_monthpart\",\"validate\":_vm.getValidation('activityDataObject.activityDateMonth') + '|' + _vm.monthValidation + '|required|'},model:{value:(_vm.activity.activityDateMonth),callback:function ($$v) {_vm.$set(_vm.activity, \"activityDateMonth\", $$v)},expression:\"activity.activityDateMonth\"}}),_c('NowhowUInt32Box',{attrs:{\"id\":\"localUnitActivityDateYear\",\"label\":\"allg_date_yearpart\",\"validate\":_vm.getValidation('activityDataObject.activityDateYear') + '|' + _vm.yearValidation + '|required'},model:{value:(_vm.activity.activityDateYear),callback:function ($$v) {_vm.$set(_vm.activity, \"activityDateYear\", $$v)},expression:\"activity.activityDateYear\"}})]:_vm._e(),(_vm.isActive)?_c('NowhowTextarea',{attrs:{\"id\":\"localUnitActivityDescription\",\"label\":\"lu_noga_descr\",\"rows\":2,\"validate\":_vm.getValidation('localUnitDataObject.activityDescription') + '|required'},model:{value:(_vm.localUnit.activityDescription),callback:function ($$v) {_vm.$set(_vm.localUnit, \"activityDescription\", $$v)},expression:\"localUnit.activityDescription\"}}):_vm._e(),_c('NowhowDropdownYesNoNull',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isInactive),expression:\"!isInactive\"}],attrs:{\"id\":\"localUnitActivityIsMerchant\",\"name\":_vm.$t('lu_is_merchant'),\"label-yes\":\"allg_ja\",\"label-no\":\"allg_nein\",\"label\":\"lu_is_merchant\",\"validate\":_vm.getValidation('activityDataObject.isMerchant')},model:{value:(_vm.activity.isMerchant),callback:function ($$v) {_vm.$set(_vm.activity, \"isMerchant\", $$v)},expression:\"activity.isMerchant\"}}),(_vm.isMerchant)?_c('NowhowDropdown',{attrs:{\"id\":\"localUnitActivityMerchantKind\",\"items\":_vm.dropdownMerchantKindItems,\"label\":\"lu_merchant_kind\",\"validate\":_vm.getValidation('activityDataObject.merchantKind') + '|required'},model:{value:(_vm.activity.merchantKind),callback:function ($$v) {_vm.$set(_vm.activity, \"merchantKind\", $$v)},expression:\"activity.merchantKind\"}}):_vm._e(),_c('NowhowDropdownYesNoNull',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isInactive),expression:\"!isInactive\"}],attrs:{\"id\":\"localUnitActivityIsSeasonalActivity\",\"name\":_vm.$t('lu_is_seasonal_activity'),\"label-yes\":\"allg_ja\",\"label-no\":\"allg_nein\",\"label\":\"lu_is_seasonal_activity\",\"validate\":_vm.getValidation('activityDataObject.isSeasonActivity')},model:{value:(_vm.activity.isSeasonActivity),callback:function ($$v) {_vm.$set(_vm.activity, \"isSeasonActivity\", $$v)},expression:\"activity.isSeasonActivity\"}}),(_vm.isSeasonActivity)?_c('NowhowSeasonPicker',{attrs:{\"id\":\"localUnitActivitySeasonalActivityPeriodPicker\",\"label\":\"lu_seasonal_activity_period\",\"items\":_vm.checkboxSeasonalActivityPeriodItems,\"validate\":'required'},model:{value:(_vm.activity.seasonSelection),callback:function ($$v) {_vm.$set(_vm.activity, \"seasonSelection\", $$v)},expression:\"activity.seasonSelection\"}}):_vm._e(),_c('NowhowDropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isInactive),expression:\"!isInactive\"}],attrs:{\"id\":\"localUnitActivityCreationReason\",\"items\":_vm.dropdownCreationReasonItems,\"label\":\"lu_creation_question\",\"validate\":_vm.getValidation('activityDataObject.creationReasonSelection') + '|required'},model:{value:(_vm.activity.creationReasonSelection),callback:function ($$v) {_vm.$set(_vm.activity, \"creationReasonSelection\", $$v)},expression:\"activity.creationReasonSelection\"}}),(_vm.isCreationReasonDescriptionRequired)?_c('NowhowTextarea',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isInactive),expression:\"!isInactive\"}],attrs:{\"id\":\"localUnitActivityOtherCreationReasonDescription\",\"label\":\"allg_beschreibung\",\"rows\":2,\"validate\":_vm.getValidation('activityDataObject.creationReasonDescription') + '|required'},model:{value:(_vm.activity.creationReasonDescription),callback:function ($$v) {_vm.$set(_vm.activity, \"creationReasonDescription\", $$v)},expression:\"activity.creationReasonDescription\"}}):_vm._e(),(_vm.isPredecessorRequired)?_c('NowhowTextarea',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isInactive),expression:\"!isInactive\"}],attrs:{\"id\":\"localUnitActivityPredecessorAddress\",\"label\":\"lu_predecessor_address\",\"rows\":3,\"validate\":_vm.getValidation('activityDataObject.nameActivityBefore') + '|required'},model:{value:(_vm.activity.nameActivityBefore),callback:function ($$v) {_vm.$set(_vm.activity, \"nameActivityBefore\", $$v)},expression:\"activity.nameActivityBefore\"}}):_vm._e(),_c('NowhowDropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isInactive),expression:\"!isInactive\"}],attrs:{\"id\":\"localUnitActivityLocalUnitKind\",\"items\":_vm.dropdownKindItems,\"label\":\"lu_kind_question\",\"validate\":_vm.getValidation('activityDataObject.kind')},model:{value:(_vm.activity.kind),callback:function ($$v) {_vm.$set(_vm.activity, \"kind\", $$v)},expression:\"activity.kind\"}}),_c('NowhowDropdown',{attrs:{\"id\":\"localUnitActivityFoundersComposition\",\"items\":_vm.dropdownFoundersCompositionItems,\"label\":\"lu_founders_question\",\"validate\":_vm.getValidation('activityDataObject.foundersComposition')},model:{value:(_vm.activity.foundersComposition),callback:function ($$v) {_vm.$set(_vm.activity, \"foundersComposition\", $$v)},expression:\"activity.foundersComposition\"}})],2),_c('NowhowRequiredInfoline')],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { ValidationObserver } from 'vee-validate';\nimport { namespace } from 'vuex-class';\nimport { Component } from 'vue-property-decorator';\nimport { ENTRY_WIZARD_CENSUS, ENTRY_WIZARD_ENTERPRISE } from '@/router';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\n//Components\nimport LocalUnitEditActivity from './LocalUnitEditActivity.vue';\n\n//Getters und Actions\nimport { CASE_FULL_DATA, CASE_ACIVITY, CASE_LOCAL_UNIT } from '../store/getters';\nimport {\n ICaseFullDataViewModel,\n CaseStepInfoViewModel,\n ILocalUnitDataObject,\n IActivityDataObject\n} from '@/api-viewmodel';\nimport { ActivityStepIndex } from '../views/Wizard.vue';\nimport StepHeader from './StepHeader.vue';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE, DISABLE_BUTTONRIGHT } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\nimport { SUBMIT_CASE_STEPINFO } from '../store/actions';\n\nimport FooterBarRightButtonProxy from '@/components/FooterBarRightButtonProxy.vue';\n@Component({\n components: { StepHeader, LocalUnitEditActivity, FooterBarRightButtonProxy, ValidationObserver }\n})\n\n/** Angaben zur Tätigkeit (eines Betriebs/LocalUnit im Entry Wizard)\n * @remarks Implementiert den\n * {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungLocalTaetigkeitScreen}\n */\nexport default class StepActivity extends Vue {\n //Getters\n @modul.Getter(CASE_FULL_DATA) caseFullData!: ICaseFullDataViewModel;\n @modul.Getter(CASE_ACIVITY) activity!: IActivityDataObject;\n @modul.Getter(CASE_LOCAL_UNIT) localUnit!: ILocalUnitDataObject;\n\n //Actions\n @modul.Action(SUBMIT_CASE_STEPINFO) submitStepInfo!: Function;\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n @footerBarModul.Action(DISABLE_BUTTONRIGHT) disableButtonRight!: Function;\n\n mounted() {\n console.debug('StepActivity.vue::mounted');\n\n //Den aktuellen Step sofort melden\n this.submitStepInfo({\n caseId: this.caseFullData.caseId,\n data: new CaseStepInfoViewModel(ActivityStepIndex, null)\n });\n\n this.showStepNavigation();\n }\n\n /** Definiert die Wizard-Navigations-Buttons und zeigt diese an */\n showStepNavigation() {\n console.debug('StepActivity.vue::showStepNavigation');\n const buttonLeft: Array = [\n {\n onClick: () => {\n this.gotoPreviousStep();\n },\n label: 'btn_wzrd_back',\n type: FooterButtonType.secondary\n }\n ];\n const buttonRight: Array = [\n {\n onClick: () => {\n this.gotoNextStep();\n },\n label: 'btn_wzrd_next',\n type: FooterButtonType.primary\n }\n ];\n this.closeFooterBar();\n this.newFooterBar({ buttonLeft, buttonRight });\n }\n\n /** Navigiert zum vorangehenden Step im Entry-Wizard. */\n gotoPreviousStep() {\n this.$router.push({ name: ENTRY_WIZARD_ENTERPRISE });\n }\n\n /** Navigiert zum nächsten Step im Entry-Wizard. */\n gotoNextStep() {\n this.$router.push({ name: ENTRY_WIZARD_CENSUS });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepActivity.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepActivity.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepActivity.vue?vue&type=template&id=1b3a7b90&scoped=true\"\nimport script from \"./StepActivity.vue?vue&type=script&lang=ts\"\nexport * from \"./StepActivity.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b3a7b90\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('StepHeader',{attrs:{\"header-label\":\"page_act_wzrdtitle\",\"help-label\":\"page_act_help\"}}),_c('ValidationObserver',{ref:\"localUnitActivityObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid }){return [_c('LocalUnitEditActivity',{attrs:{\"local-unit\":_vm.localUnit,\"activity\":_vm.activity}}),_c('FooterBarRightButtonProxy',{attrs:{\"id\":\"ButtonNextProxy\",\"disabled\":invalid}})]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { Component, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport NowhowTextline from '@/components/NowhowTextline.vue';\nimport NowhowDropdown from '@/components/NowhowDropdown.vue';\nimport NowhowTextarea from '@/components/NowhowTextarea.vue';\nimport NowhowCheckbox from '@/components/NowhowCheckbox.vue';\nimport NowhowRequiredInfoline from '@/components/NowhowRequiredInfoline.vue';\nimport FooterBarRightButtonProxy from '@/components/FooterBarRightButtonProxy.vue';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\nimport { ENTRY_WIZARD_INFO, ENTRY_WIZARD_LOCAL } from '@/router';\nimport { ISelectListItem } from '@/types/clienttypes';\nimport { ContactStepIndex } from '../views/Wizard.vue';\nimport StepHeader from './StepHeader.vue';\n\nimport { NAME as NAME_ACCOUNT } from '@/areas/account/store';\nconst accountModul = namespace(NAME_ACCOUNT);\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\n\n//Getters und Actions\nimport { ICaseContactDataViewModel, ICaseFullDataViewModel, CaseStepInfoViewModel } from '@/api-viewmodel';\nimport { SUBMIT_CASE_STEPINFO, SUBMIT_CASE_CONTACT_DATA } from '../store/actions';\nimport { CASE_FULL_DATA, CASE_CONTACT_DATA } from '../store/getters';\nimport { IS_EXTERNAL_USER, AUTHENTICATED_USERNAME } from '@/areas/account/store/getters';\n\n@Component({\n components: {\n StepHeader,\n NowhowTextbox,\n NowhowTextline,\n NowhowDropdown,\n NowhowTextarea,\n NowhowCheckbox,\n NowhowRequiredInfoline,\n FooterBarRightButtonProxy\n }\n})\n\n/** Contact-Step im Entry Wizard\n * @remarks Implementiert den {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungKontaktAngabenScreen}\n */\nexport default class StepContact extends Vue {\n //Getters\n @modul.Getter(CASE_CONTACT_DATA) caseContactData!: ICaseContactDataViewModel;\n @modul.Getter(CASE_FULL_DATA) caseFullData!: ICaseFullDataViewModel;\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n @accountModul.Getter(AUTHENTICATED_USERNAME) authenticatedUsername!: string;\n @accountModul.Getter(IS_EXTERNAL_USER) isExternalUser!: boolean;\n\n //Actions\n @modul.Action(SUBMIT_CASE_STEPINFO) submitStepInfo!: Function;\n @modul.Action(SUBMIT_CASE_CONTACT_DATA) submitCaseContactData!: Function;\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n\n mounted() {\n console.log('StepContact.vue::mounted');\n\n //Den aktuellen Step sofort melden\n this.submitStepInfo({\n caseId: this.caseFullData.caseId,\n data: new CaseStepInfoViewModel(ContactStepIndex, null)\n });\n\n this.showStepNavigation();\n\n //Aktuelles Token der unveränderte Daten für die spätere, erstmalige Prüfung merken\n this.lastSubmittedDataToken = this.submittableDataToken;\n }\n\n beforeDestroy() {\n console.log('StepContact.vue::beforeDestroy');\n this.saveStepData();\n }\n\n /** Behandelt die Änderung der \"Keine Email\" Checkbox\n * @remarks Wenn \"Keine Email\" ausgewählt wird, die allfällig vorhandene E-Mail-Adresse entfernen.\n * Siehe Anforderung 004 im DatenErfassungKontaktAngabenScreen\n */\n @Watch('caseContactData.emailAddressOverride', { deep: true, immediate: true })\n private onEmailAddressOverrideChanged(newVal: boolean) {\n if (newVal) {\n this.caseContactData.emailAddress = '';\n }\n }\n\n /** Liefert die zur Auswahl stehenden Sprachen. Per Anforderung gibt es keine leere Auswahl. Der Benutzer ist gezwungen, eine Auswahl zu treffen.\n * @remarks Gemäss Kundenwunsch stehen hier die Sprachen Rätoromanisch und Englisch nicht zur Verfügugng\n */\n dropdownLanguageItems: Array = [\n {\n /* Deutsch */\n value: 1,\n text: 'typeLanguage.1',\n selected: false,\n disabled: false\n },\n {\n /* Französisch */\n value: 2,\n text: 'typeLanguage.2',\n selected: false,\n disabled: false\n },\n {\n /* Italienisch */\n value: 3,\n text: 'typeLanguage.3',\n selected: false,\n disabled: false\n }\n ];\n\n /** Liefert die zur Auswahl stehenden Anreden. Per Anforderung gibt es keine leere Auswahl. Der Benutzer ist gezwunge, eine Auswahl zu treffen. */\n dropdownSalutationItems: Array = [\n {\n /*Herr*/\n value: 1,\n text: 'typeSalutation.1',\n selected: false,\n disabled: false\n },\n {\n /*Frau*/\n value: 2,\n text: 'typeSalutation.2',\n selected: false,\n disabled: false\n },\n {\n /*Sehr geehrte Damen und Herren*/\n value: 3,\n text: 'typeSalutation.3',\n selected: false,\n disabled: false\n }\n ];\n\n /** Definiert die Wizard-Navigations-Buttons und zeigt diese an */\n showStepNavigation() {\n console.debug('StepContact.vue::showStepNavigation');\n const buttonLeft: Array = [\n {\n onClick: () => {\n this.gotoPreviousStep();\n },\n label: 'btn_wzrd_back',\n type: FooterButtonType.secondary\n }\n ];\n const buttonRight: Array = [\n {\n onClick: () => {\n console.log('N*S');\n this.gotoNextStep();\n },\n label: 'btn_wzrd_next',\n type: FooterButtonType.primary\n }\n ];\n this.closeFooterBar();\n this.newFooterBar({ buttonLeft, buttonRight });\n }\n\n /** Navigiert zum vorangehenden Step im Entry-Wizard. */\n gotoPreviousStep() {\n this.$router.push({ name: ENTRY_WIZARD_INFO });\n }\n\n /** Navigiert zum nächsten Step im Entry-Wizard. */\n gotoNextStep() {\n this.$router.push({ name: ENTRY_WIZARD_LOCAL });\n }\n\n /** Speichert die aktuell eingegebenen Werte auf das Backend\n * @remarks Die Daten werden nur versendet, wenn diese seit dem letzten Versand oder erstmalig geändert haben\n * Für diese Prüfung werden alle Eingabewerte dieser Komponente verwendet\n * @devdoc Diese Funktion soll beim Verlassen des Bearbeitungsformulars aufgerufen werden\n * Hinweis: Es kann aktuell nicht die Funktionalität der ValidationObserver-Komponente verwendet werden,\n * weil diese keinen zwischenzeitlichen Reset der \"Dirty-Flags\" erlaubt.\n * Hinweis2: Es wird nicht ein \"dirty-tracking\" via \"changed\"-Event implementiert, um nur zum Zeitpunkt des\n * Versandes effektiv veränderte Daten zu versenden.\n */\n saveStepData() {\n console.debug('::saveStepData');\n //Sicherstellen, dass der Override für Externe Benutzer nie erlaubt ist\n if (this.isExternalUser) {\n this.caseContactData.emailAddressOverride = false;\n }\n\n const submittableDataToken = this.submittableDataToken;\n if (submittableDataToken !== this.lastSubmittedDataToken) {\n this.submitCaseContactData({\n caseId: this.caseFullData.caseId,\n data: this.caseContactData\n });\n this.lastSubmittedDataToken = submittableDataToken;\n }\n }\n\n /** Zwischenspeicher für die Prüfung, ob ein erneuter Versand der Daten notwendig ist */\n lastSubmittedDataToken: string = null;\n\n /** Liefert ein Token für die versendbaren Daten zur späteren Prüfung, ob ein erneuter Versand notwendig ist.\n * @devdoc Für den effektiven Versand an die API wird das Objekt aus dem Zustand verwendet,\n * nicht dieses interne DTO.\n */\n get submittableDataToken() {\n return JSON.stringify([\n this.caseContactData.salutationCd,\n this.caseContactData.firstName,\n this.caseContactData.lastName,\n this.caseContactData.role,\n this.caseContactData.emailAddressOverride,\n this.caseContactData.emailAddress,\n this.caseContactData.phoneNumber,\n this.caseContactData.languageCd,\n this.caseContactData.comment\n ]);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepContact.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepContact.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepContact.vue?vue&type=template&id=6e183630&scoped=true\"\nimport script from \"./StepContact.vue?vue&type=script&lang=ts\"\nexport * from \"./StepContact.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6e183630\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('StepHeader',{attrs:{\"header-label\":\"page_enc_wzrdtitle\",\"help-label\":\"page_enc_help\"}}),_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid }){return [_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"}},[_c('fieldset',[_c('legend',{directives:[{name:\"t\",rawName:\"v-t\",value:('page_enc_legendtitle'),expression:\"'page_enc_legendtitle'\"}]}),_c('div',{staticClass:\"form-group\"},[_c('NowhowDropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"caseContactDataSalutationCd\",\"items\":_vm.dropdownSalutationItems,\"label\":\"contact_salutation\",\"validate\":_vm.getValidation('contactDataObject.salutationCd')},model:{value:(_vm.caseContactData.salutationCd),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"salutationCd\", $$v)},expression:\"caseContactData.salutationCd\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"caseContactDataFirstName\",\"label\":\"contact_firstname\",\"validate\":_vm.getValidation('contactDataObject.firstName')},model:{value:(_vm.caseContactData.firstName),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"firstName\", $$v)},expression:\"caseContactData.firstName\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"caseContactDataLastName\",\"label\":\"contact_lastname\",\"validate\":_vm.getValidation('contactDataObject.lastName')},model:{value:(_vm.caseContactData.lastName),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"lastName\", $$v)},expression:\"caseContactData.lastName\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"caseContactDataRole\",\"label\":\"contact_role\",\"validate\":_vm.getValidation('contactDataObject.role')},model:{value:(_vm.caseContactData.role),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"role\", $$v)},expression:\"caseContactData.role\"}}),_c('br'),_c('NowhowTextbox',{attrs:{\"id\":\"caseContactDataPhoneNumber\",\"label\":\"contact_phone\",\"validate\":_vm.getValidation('contactDataObject.phoneNumber')},model:{value:(_vm.caseContactData.phoneNumber),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"phoneNumber\", $$v)},expression:\"caseContactData.phoneNumber\"}}),(_vm.isExternalUser || (!_vm.isExternalUser && !_vm.caseContactData.emailAddressOverride))?_c('NowhowTextbox',{attrs:{\"id\":\"caseContactDataEmailAddress\",\"label\":\"contact_email\",\"validate\":_vm.getValidation('contactDataObject.emailAddress') + '|required'},model:{value:(_vm.caseContactData.emailAddress),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"emailAddress\", $$v)},expression:\"caseContactData.emailAddress\"}}):_vm._e(),(!_vm.isExternalUser)?_c('NowhowCheckbox',{attrs:{\"id\":\"caseContactDataEmailAddressOverride\",\"label\":\"contact_hint_noemailaddress\"},model:{value:(_vm.caseContactData.emailAddressOverride),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"emailAddressOverride\", $$v)},expression:\"caseContactData.emailAddressOverride\"}}):_vm._e(),_c('br'),_c('NowhowDropdown',{attrs:{\"id\":\"caseContactDataLanguageCd\",\"items\":_vm.dropdownLanguageItems,\"label\":\"allg_language\",\"validate\":_vm.getValidation('contactDataObject.languageCd')},model:{value:(_vm.caseContactData.languageCd),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"languageCd\", $$v)},expression:\"caseContactData.languageCd\"}}),_c('br'),_c('NowhowTextarea',{attrs:{\"id\":\"caseContactDataComment\",\"label\":\"contact_comment\",\"validate\":_vm.getValidation('contactDataObject.comment')},model:{value:(_vm.caseContactData.comment),callback:function ($$v) {_vm.$set(_vm.caseContactData, \"comment\", $$v)},expression:\"caseContactData.comment\"}})],1)]),_c('NowhowRequiredInfoline')],1),_c('FooterBarRightButtonProxy',{attrs:{\"id\":\"ButtonNextProxy\",\"disabled\":invalid}})]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\n@Component\n\n/** Eine Textbox mit Label und kompletter Validierung, welche via zusätzlicher Checkbox verworfen werden kann.\n * @remarks Rendert je eine Spalte für das Label und das Eingabefeld (sm-3 und sm-9 im Bootstrap-Grid)\n * @remarks Wird die Eingabe verworfen, wird der Eingabewert auf null festgelegt (Dies setzt jedoch voraus, dass null ein gültiger Eingabewert ist)\n * und die Validierung wird ausgesetzt (d.h. ist immer erfolgreich)\n */\nexport default class NowhowDismissableTextbox extends Vue {\n /** Validierung via Validations-Modul */\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String, default: 'text' }) private inputType!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n /** Das Label für die Dismiss-Checkbox */\n @Prop({ required: false, type: String, default: '' }) private checkboxLabel!: string;\n\n @Prop({ required: false, type: String, default: '' }) private placeholder!: string;\n\n @Prop({ required: false, type: String, default: '' }) private autocomplete!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n /** Wenn festgelegt, verzögert die Validierung um die angegebene Anzahl Millisekunden\n * @devdoc Kann verwendet werden, um Probleme mit Layoutverschiebungen aufgrund von Validierungs-Meldungen bei\n * Mausklicks auf andere Elemente zu entschärfen\n * @devdoc Siehe https://vee-validate.logaretm.com/v2/guide/components/validation-provider.html#props\n */\n @Prop({ required: false, type: Number, default: 0 }) private validationDelay!: number;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: true, default: '' }) private value!: any;\n\n @Prop({ required: false, type: Boolean, default: false }) private isDismissed!: boolean;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n /* eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function */\n @Prop({ required: false, type: Function, default: function() {} })\n private onEnter!: Function;\n\n private provider: any;\n private isSelected = false;\n\n created() {\n //Den Dismissed-Zustand bereits früh zuweisen, damit die intiale Validierung bereits die zutreffenden Rules anwendet\n this.isSelected = this.isDismissed;\n }\n\n mounted() {\n const inputElement: any = document.getElementById(String(this.id));\n inputElement.value = this.value;\n\n this.provider = this.$refs['provider'];\n }\n\n /** Liefert die aktuell gültigen Validation-Rules\n * @remarks Fall dismissed, sind die Rules immer leer, sonst gelten die festgelegten Rules.\n */\n private get currentValidationRules(): string | object {\n const rules = this.isSelected ? '' : this.validate;\n //console.debug('NowhowDismissableTextbox::validationRules:rules:', rules);\n return rules;\n }\n\n public focus() {\n (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n private onChange(value) {\n this.$emit('change', value);\n }\n\n /** Behandelt das Auswählen des \"Dismissed\"-Zustandes\n * @remarks Stösst ein \"change\" und \"input\"-Event aus, wenn dissmissed auf true ist\n * @remarks Stösst ein \"dismissed\"-Event aus, mit dem dismissed-Wert als Argument\n */\n private onDismissedChange() {\n this.isSelected = !this.isSelected;\n if (this.isSelected === true) {\n this.onInput(null);\n this.onChange(null);\n }\n\n //Änderung des dismissed-Zustandes melden\n this.$emit('dismissed', this.isSelected);\n }\n\n private onFocusout(value) {\n this.$emit('focusout', value);\n }\n\n private onInput(value) {\n this.$emit('input', value);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowDismissableTextbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowDismissableTextbox.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowDismissableTextbox.vue?vue&type=template&id=5f4b33de\"\nimport script from \"./NowhowDismissableTextbox.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowDismissableTextbox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationProvider',{ref:\"provider\",attrs:{\"rules\":_vm.currentValidationRules,\"name\":_vm.label,\"vid\":_vm.id,\"debounce\":_vm.validationDelay},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, required }){return [_c('div',{class:{ 'form-group': true, 'has-warning': errors[0] }},[(_vm.label)?_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":_vm.id}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.label))+\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(required),expression:\"required\"}]},[_vm._v(\"*\")])]):_vm._e(),_c('div',{staticClass:\"col-sm-9\"},[_c('input',{key:_vm.id,ref:\"inputfield\",staticClass:\"form-control\",attrs:{\"type\":_vm.inputType,\"id\":_vm.id,\"name\":_vm.id,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabled || _vm.isSelected,\"readonly\":_vm.readonly || _vm.isSelected,\"placeholder\":_vm.$t(_vm.placeholder),\"data-cy\":_vm.cy},domProps:{\"value\":_vm.value},on:{\"keyup\":[_vm.onChange,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onEnter.apply(null, arguments)}],\"focusout\":_vm.onFocusout,\"input\":function($event){return _vm.onInput($event.target.value)}}}),_c('div',{staticClass:\"checkbox checkbox--left\"},[_c('label',{attrs:{\"id\":_vm.id + '-label',\"for\":_vm.id + '-dismissed'}},[_c('input',{key:_vm.id + '-dismissed',ref:\"checkbox\",staticClass:\"form-control\",attrs:{\"type\":\"checkbox\",\"id\":_vm.id + '-dismissed',\"name\":_vm.$t(_vm.checkboxLabel),\"readonly\":_vm.readonly,\"disabled\":_vm.disabled,\"data-cy\":_vm.cy},domProps:{\"checked\":_vm.isSelected},on:{\"change\":_vm.onDismissedChange,\"focusout\":_vm.onFocusout}}),_vm._v(\" \"+_vm._s(_vm.$t(_vm.checkboxLabel))+\" \")])]),(errors[0])?_c('span',{staticClass:\"help-block\",attrs:{\"id\":_vm.id + '-error',\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]):_vm._e()])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { cloneDeep } from 'lodash';\nimport { Component, Prop } from 'vue-property-decorator';\nimport NowhowRadioList from '@/components/NowhowRadioList.vue';\n\nimport { ISelectListItem } from '@/types/clienttypes';\n\n/** Implementiert eine Radio-Button-Group mit Label und kompletter Validierung für eine Ja/Nein Auswahl\n * @remarks Rendert je eine Spalte für das Label und die Radio-Buttons (sm-3 und sm-9 im Bootstrap-Grid)\n * @remarks Unterstützt ein 'group-focusout'-Event, welches kurz nach dem Verlassen der Gruppe feuert.\n * @devdoc Verwendet intern die NowhowRadioList Komponente\n */\n@Component({\n components: { NowhowRadioList }\n})\nexport default class NowhowRadioYesNo extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: String }) private name!: string;\n\n @Prop({ required: false, type: String, default: '' }) private label!: string;\n\n @Prop({ required: false, type: String, default: 'yes' }) private labelYes!: string;\n\n @Prop({ required: false, type: String, default: 'no' }) private labelNo!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private readonly!: boolean;\n\n @Prop({ required: false, type: Boolean, default: false }) private inline!: boolean;\n\n @Prop({ default: '', type: [String, Object] }) validate!: string | object;\n\n @Prop({ required: false, type: [Boolean], default: false }) value!: boolean;\n\n @Prop({ required: false, type: String, default: '' })\n private cy!: string;\n\n radioYesNoItems = [];\n\n mounted() {\n this.radioYesNoItems = this.cloneOf(this.yesNoItems);\n }\n\n /** Liefert eine Kopie von SelectList-Items\n * @devdoc Löst das Problem, dass die RadioList nicht nur den Value zurückliefert sondern auch die Items verändert\n */\n cloneOf(ISelectListItem): Array {\n return cloneDeep(ISelectListItem);\n }\n\n valueAsString(): string {\n if (this.value !== null) {\n return this.value.toString();\n } else {\n return null;\n }\n }\n\n /** Liefert die zur Auswahl stehenden Optionen. Per Anforderung gibt es keine leere Auswahl. Der Benutzer ist gezwungen, eine Auswahl zu treffen. */\n yesNoItems: Array = [\n {\n /* yes */\n value: 'true',\n text: this.labelYes,\n selected: false,\n disabled: false\n },\n {\n /* no */\n value: 'false',\n text: this.labelNo,\n selected: false,\n disabled: false\n }\n ];\n\n private onFocusout(value) {\n this.$emit('focusout', value);\n }\n\n private onGroupFocusout(value) {\n this.$emit('group-focusout', value);\n }\n\n /** Gibt den geänderten Wert als Boolean aus */\n onChange(newValue: string) {\n if (newValue === 'true') {\n this.$emit('change', true);\n }\n if (newValue === 'false') {\n this.$emit('change', false);\n }\n }\n\n /** Gibt den geänderten Wert als Boolean aus */\n onInput(newValue: string) {\n if (newValue === 'true') {\n this.$emit('input', true);\n }\n if (newValue === 'false') {\n this.$emit('input', false);\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowRadioYesNo.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowRadioYesNo.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowRadioYesNo.vue?vue&type=template&id=1efce629\"\nimport script from \"./NowhowRadioYesNo.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowRadioYesNo.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NowhowRadioList',{attrs:{\"id\":_vm.id + '-yes-no',\"name\":_vm.name ? _vm.name : _vm.id,\"value\":_vm.valueAsString(),\"items\":_vm.yesNoItems,\"label\":_vm.label,\"validate\":_vm.validate,\"inline\":_vm.inline,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly},on:{\"change\":_vm.onChange,\"input\":_vm.onInput,\"focusout\":_vm.onFocusout,\"group-focusout\":_vm.onGroupFocusout}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { NAME as NAME_SWISSTOPO } from '@/areas/swisstopo/store';\nimport { NAME as NAME_HEADERNOTIFICATION } from '@/store/modules/headerNotification';\nimport { Component, Watch, Prop } from 'vue-property-decorator';\nimport { NEW_SUCESS, NEW_ALERT } from '@/store/modules/headerNotification/actions';\nimport { vSelect } from '@desislavsd/vue-select';\n\nconst swisstopoArea = namespace(NAME_SWISSTOPO);\nconst headerModul = namespace(NAME_HEADERNOTIFICATION);\n\n//Getters und Actions\nimport { FEATURE_SEARCH_RESULT, SELECTED_FEATURE } from '../store/getters';\nimport { GET_FEATURE_DETAILS, SEARCH_FEATURES } from '../store/actions';\nimport { IFeature, IFeatureSearchResult } from '../api-viewmodel';\n\n@Component({\n components: {\n vSelect\n }\n})\n\n/** Eine Komponente für die Suche und Auswahl von Features via die Swisstopo-API.\n * Enthält eine Textbox mit Dropdown für die Auswahl.\n * Als Resultat wird mit dem Event @featureSelected ein ausgewähltes Feature gemeldet.\n * @remarks Siehe die {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/SwisstopoSchnittstelle}\n * @remarks Implementiert Anforderungen gemäss {@link https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungUnternehmenScreen} und weiteren\n * @devdoc Diese Komponente verwendet aktuell als einzige v-select (https://desislavsd.gitbook.io/vue-select/)\n * und verwendet deshalb die lokale Installation innerhalb nur dieser Komponente. Falls später sinnvoll, kann auch die globale Installation implementiert werden,\n * dann kann das untenstehende Original-CSS aus dieser Komponente entfernt werden. */\nexport default class SwisstopoFeatureSearch extends Vue {\n @Prop({ required: true, type: String }) private id!: string;\n\n @Prop({ required: false, type: Boolean, default: false }) private disabled!: boolean;\n\n /** Die Id des ausgewählten Features */\n selectedFeatureId: string | null = '';\n\n @headerModul.Action(NEW_SUCESS) successMessage!: Function;\n @headerModul.Action(NEW_ALERT) alertMessage!: Function;\n\n /** @devdoc Die Action SEARCH_FEATURES wird für die Verwendung mit der v-select Komponente mit einer Promise verwendet */\n @swisstopoArea.Action(SEARCH_FEATURES) searchFeatures!: Function;\n @swisstopoArea.Action(GET_FEATURE_DETAILS) getFeature!: Function;\n\n @swisstopoArea.Getter(FEATURE_SEARCH_RESULT) featureSearchResult!: IFeatureSearchResult;\n @swisstopoArea.Getter(SELECTED_FEATURE) selectedFeature!: IFeature;\n\n /** Sucht die Features mithilfe der Vuex Action, unter Zuhilfenahme einer Promise */\n async searchFeaturesWithPromise(searchText) {\n console.debug('searchText', searchText);\n return this.searchFeatures(searchText).then(\n response => {\n console.debug('Swisstopo: Features zur Anzeige erhalten');\n return this.featureSearchResult;\n },\n error => {\n //Den Fehler weitergeben (In der Anwendung soll im Fehlerfall die Manuelle Eingabe aktiviert werden)\n this.$emit('error', error);\n }\n );\n }\n\n /** Behandelt die Änderung der ausgewählten Feature-Id, indem die Details des Features geholt werden\n * @remarks Implementiert die Anforderungen gemäss DatenErfassungLocalAdresseScreen\n */\n @Watch('selectedFeatureId', { deep: false, immediate: true })\n private onSelectedFeatureIdChanged(newVal: string | null, oldVal: string | null) {\n if (newVal && newVal !== oldVal) {\n this.getFeature(newVal);\n }\n }\n\n /** Behandelt die Änderung des ausgewählten Features, indem dieses gemeldet wird\n * @remarks Implementiert die Anforderungen gemäss DatenErfassungLocalAdresseScreen und DatenErfassungUnternehmenScreen\n * @devdoc Watch non-immediate, um nur Änderungen aufgrund von Benutzereingaben (während der mounted-phase)\n * zu erfassen (nicht bei Änderungen vor der Initialisierung) */\n @Watch('selectedFeature', { deep: false, immediate: false })\n private onSelectedFeatureChanged(newVal: IFeature | null) {\n console.debug('SwisstopoFeatureSearch::onSelectedFeatureChanged', newVal);\n this.$emit('featureSelected', newVal);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwisstopoFeatureSearch.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwisstopoFeatureSearch.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SwisstopoFeatureSearch.vue?vue&type=template&id=0d0e2372&scoped=true\"\nimport script from \"./SwisstopoFeatureSearch.vue?vue&type=script&lang=ts\"\nexport * from \"./SwisstopoFeatureSearch.vue?vue&type=script&lang=ts\"\nimport style0 from \"./SwisstopoFeatureSearch.vue?vue&type=style&index=0&id=0d0e2372&prod&lang=css\"\nimport style1 from \"./SwisstopoFeatureSearch.vue?vue&type=style&index=1&id=0d0e2372&prod&lang=css&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d0e2372\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-select',{key:_vm.id,staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"disabled\":_vm.disabled,\"name\":_vm.id,\"as\":\"attrs.label:attrs.featureId:attrs.featureId\",\"from\":_vm.searchFeaturesWithPromise,\"parse\":\"results\",\"required\":\"\",\"debounce\":500,\"multiple\":false,\"placeholder\":_vm.$t('btn_search')},scopedSlots:_vm._u([{key:\"selected\",fn:function({ option }){return [_c('img',{staticStyle:{\"visibility\":\"hidden\"},attrs:{\"alt\":\"spacer\",\"width\":\"15\",\"src\":\"\"}}),_vm._v(\" \"+_vm._s(option.label)+\" \")]}}]),model:{value:(_vm.selectedFeatureId),callback:function ($$v) {_vm.selectedFeatureId=$$v},expression:\"selectedFeatureId\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { defaultTo } from 'lodash';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport NowhowDismissableTextbox from '@/components/NowhowDismissableTextbox.vue';\nimport NowhowTextline from '@/components/NowhowTextline.vue';\nimport NowhowRequiredInfoline from '@/components/NowhowRequiredInfoline.vue';\nimport NowhowTextarea from '@/components/NowhowTextarea.vue';\nimport NowhowRadioList from '@/components/NowhowRadioList.vue';\nimport NowhowRadioYesNo from '@/components/NowhowRadioYesNo.vue';\nimport NowhowUInt32Box from '@/components/NowhowUInt32Box.vue';\nimport SwisstopoFeatureSearch from '@/areas/swisstopo/components/SwisstopoFeatureSearch.vue';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { SUBMIT_LOCAL_UNIT_ADDRESS_DATA } from '../store/actions';\nimport { CASE_ID } from '../store/getters';\n\nimport { ILocalUnitDataObject, IEnterpriseUnitDataObject } from '@/api-viewmodel';\nimport { IFeature } from '@/areas/swisstopo/api-viewmodel';\n\n@Component({\n components: {\n NowhowTextline,\n NowhowRequiredInfoline,\n NowhowTextbox,\n NowhowDismissableTextbox,\n NowhowTextarea,\n NowhowRadioList,\n NowhowRadioYesNo,\n NowhowUInt32Box,\n SwisstopoFeatureSearch\n }\n})\n\n/** Bereich für die Bearbeitung der Adress-Details einer Arbeitsstätte*/\nexport default class LocalUnitEditAddress extends Vue {\n //Getters\n @modul.Getter(CASE_ID) caseId!: bigint;\n\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n //Actions\n @modul.Action(SUBMIT_LOCAL_UNIT_ADDRESS_DATA) submitLocalUnitAddressData!: Function;\n\n @Prop({ required: true, type: Object })\n private localUnit!: ILocalUnitDataObject;\n\n @Prop({ required: true, type: Object })\n private enterpriseUnit!: IEnterpriseUnitDataObject;\n\n mounted(): void {\n //Aktuelles Token der unveränderte Daten für die spätere, erstmalige Prüfung merken\n this.lastSubmittedDataToken = this.submittableDataToken;\n }\n\n /** Behandelt die Auswahl eines Features aus der Swisstopo-Komponente, indem die Adressdaten in die\n * entsprechenden Eingabefelder befüllt werden\n */\n private onLocalSwisstopoFeatureSelected(feature: IFeature): void {\n console.debug('LocalUnitEditAddress::onLocalSwisstopoFeatureSelected', feature);\n this.localUnit.street = feature.attributes.strname_deinr.replace(feature.attributes.deinr, '').trim();\n this.localUnit.houseNumber = feature.attributes.deinr;\n this.localUnit.zipCode = feature.attributes.dplz4;\n this.localUnit.town = feature.attributes.dplzname;\n this.localUnit.municipality = feature.attributes.ggdename;\n this.localUnit.canton = feature.attributes.gdekt;\n this.localUnit.egId = defaultTo(Number.parseInt(feature.attributes.egid), null);\n this.localUnit.edId = defaultTo(Number.parseInt(feature.attributes.edid), null);\n this.localUnit.esId = feature.attributes.esid;\n this.localUnit.gdeId = feature.attributes.ggdenr;\n this.localUnit.country = 'CH'; //Default-Wert für eine Swisstopo-Adresse\n }\n\n /** Behandelt den Fall, dass die Swisstopo-Schnittstelle nicht verfügbar ist\n */\n private onLocalSwisstopoUnavailable() {\n this.isLocalSwisstopoUnavailable = true;\n //Manuelle Eingabe einschalten\n this.localUnit.isSwisstopoDismissed = true;\n }\n\n /** Behandelt das Auswählen des \"Dismissed\"-Zustandes für die Swisstopo-Adresssuche\n * @remarks Steuert die manuelle Eingabemöglichkeit für die Adressfelder\n * @devdoc Die Controls müssen mit :readonly (nicht :disabled) gesteuert werden, damit die Eingabewerte\n * trotzdem weiterverarbeitet werden\n */\n private onLocalSwisstopoDismissedChange() {\n this.localUnit.isSwisstopoDismissed = !this.localUnit.isSwisstopoDismissed;\n }\n\n /** Behandelt das Auswählen des \"Dismissed\"-Zustandes für die Email-Adresse\n */\n private onEmailAddressDismissed(dismissed: boolean) {\n this.localUnit.isEmailAddressDismissed = dismissed;\n }\n\n /** Behandelt das Auswählen des \"Dismissed\"-Zustandes für die Email-Adresse\n */\n private onWebsiteAddressDismissed(dismissed: boolean) {\n this.localUnit.isWebsiteAddressDismissed = dismissed;\n }\n\n /** Behandelt das Auswählen des \"Dismissed\"-Zustandes für die Email-Adresse\n */\n private onPhoneNumberDismissed(dismissed: boolean) {\n this.localUnit.isPhoneNumberDismissed = dismissed;\n }\n\n beforeDestroy() {\n this.saveStepData();\n }\n\n /** Speichert die aktuell eingegebenen Werte auf das Backend\n * @remarks Die Daten werden nur versendet, wenn diese seit dem letzten Versand oder erstmalig geändert haben\n * Für diese Prüfung werden alle Eingabewerte dieser Komponente verwendet\n * @devdoc Diese Funktion soll beim Verlassen des Bearbeitungsformulars aufgerufen werden\n * Hinweis: Es kann aktuell nicht die Funktionalität der ValidationObserver-Komponente verwendet werden,\n * weil diese keinen zwischenzeitlichen Reset der \"Dirty-Flags\" erlaubt.\n * Hinweis2: Es wird nicht ein \"dirty-tracking\" via \"changed\"-Event implementiert, um nur zum Zeitpunkt des\n * Versandes effektiv veränderte Daten zu versenden.\n */\n saveStepData() {\n console.debug('::saveStepData');\n\n const submittableDataToken = this.submittableDataToken;\n if (submittableDataToken !== this.lastSubmittedDataToken) {\n this.submitLocalUnitAddressData({\n caseId: this.caseId,\n data: this.localUnit\n });\n this.lastSubmittedDataToken = submittableDataToken;\n }\n }\n\n /** Liefert die Validierungsregel für die gemeinesame Eingabe der Postoffice-Box-Angaben\n * @remarks Es müssen entweder alle oder keine PO-Box-Angaben gemacht werden\n * @remarks Implementiert die Anforderung D aus CR1010\n */\n get getPoBoxTogetherRule() {\n if (\n this.localUnit.postOfficeBoxNumber ||\n this.localUnit.postOfficeBoxZipCode ||\n this.localUnit.postOfficeBoxTown\n ) {\n return 'required_labeled:allg_validate_pobox_not_all_set_together';\n }\n //Keine Einschränkung\n return '';\n }\n\n /** Zwischenspeicher für die Prüfung, ob ein erneuter Versand der Daten notwendig ist */\n lastSubmittedDataToken: string = null;\n\n /** Lokales Flag, welches einen allfälligen Fehlerzustand der Swisstopo-Schnittstelle anzeigt\n * @remarks Implementiert die Anforderung zum \"Fallback\" für die Adresseingabe\n */\n isLocalSwisstopoUnavailable = false;\n\n /** Behandelt die manuelle Änderung der Adressdaten\n * @remarks Werden die Adressdaten manuell geändert, sind die Swisstopo-spezifischen Id's nicht mehr gültig.\n * Implementiert die Anforderung gemäss DatenErfassungLocalAdresseScreen-075\n * Siehe auch MapServerSwisstopoFunktion\n */\n private onManualLocalAddressInput() {\n this.localUnit.municipality = null;\n this.localUnit.canton = null;\n this.localUnit.egId = null;\n this.localUnit.edId = null;\n this.localUnit.esId = null;\n this.localUnit.gdeId = null;\n this.localUnit.country = 'CH'; //Default-Wert für eine manuell eingegebene Adresse, es werden nur Schweizer Adressen unterstützt;\n }\n\n /** Liefert ein Token für die versendbaren Daten zur späteren Prüfung, ob ein erneuter Versand notwendig ist.\n * @devdoc Für den effektiven Versand an die API wird das Objekt aus dem Zustand verwendet,\n * nicht dieses interne DTO.\n */\n get submittableDataToken() {\n return JSON.stringify([\n this.localUnit.name,\n this.localUnit.nameBusiness,\n this.localUnit.careOf,\n this.localUnit.street,\n this.localUnit.houseNumber,\n this.localUnit.additionalTxt,\n this.localUnit.zipCode,\n this.localUnit.town,\n this.localUnit.isSwisstopoDismissed,\n this.localUnit.postOfficeBoxNumber,\n this.localUnit.postOfficeBoxZipCode,\n this.localUnit.postOfficeBoxTown,\n this.localUnit.commentText,\n\n this.localUnit.municipality,\n this.localUnit.canton,\n this.localUnit.egId,\n this.localUnit.edId,\n this.localUnit.esId,\n this.localUnit.gdeId,\n this.localUnit.country,\n\n this.localUnit.websiteAddress,\n this.localUnit.phoneNumber,\n this.localUnit.emailAddress,\n this.localUnit.isWebsiteAddressDismissed,\n this.localUnit.isPhoneNumberDismissed,\n this.localUnit.isEmailAddressDismissed\n ]);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalUnitEditAddress.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalUnitEditAddress.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./LocalUnitEditAddress.vue?vue&type=template&id=6ecd843f\"\nimport script from \"./LocalUnitEditAddress.vue?vue&type=script&lang=ts\"\nexport * from \"./LocalUnitEditAddress.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ValidationObserver',{ref:\"localUnitAddressObserver\"},[_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"}},[_c('fieldset',[_c('legend',{directives:[{name:\"t\",rawName:\"v-t\",value:('page_end_editluadr_title'),expression:\"'page_end_editluadr_title'\"}]}),_c('NowhowTextline',{attrs:{\"id\":\"localDetailBurId\",\"label\":\"lu_nr\",\"text\":this.localUnit.prefixedBurLocalUnitId}}),_c('NowhowTextarea',{directives:[{name:\"focus\",rawName:\"v-focus\"}],ref:\"localDetailName\",attrs:{\"id\":\"localDetailName\",\"label\":\"lu_name\",\"rows\":2,\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.name')},model:{value:(_vm.localUnit.name),callback:function ($$v) {_vm.$set(_vm.localUnit, \"name\", $$v)},expression:\"localUnit.name\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"localDetailBusinessName\",\"label\":\"lu_busname\",\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.nameBusiness')},model:{value:(_vm.localUnit.nameBusiness),callback:function ($$v) {_vm.$set(_vm.localUnit, \"nameBusiness\", $$v)},expression:\"localUnit.nameBusiness\"}}),_c('NowhowDismissableTextbox',{attrs:{\"id\":\"localDetailPhoneNumber\",\"label\":\"lu_phonenumber\",\"checkbox-label\":\"lu_phonenumber_none\",\"is-dismissed\":_vm.localUnit.isPhoneNumberDismissed,\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.phoneNumber') + '|required'},on:{\"dismissed\":_vm.onPhoneNumberDismissed},model:{value:(_vm.localUnit.phoneNumber),callback:function ($$v) {_vm.$set(_vm.localUnit, \"phoneNumber\", $$v)},expression:\"localUnit.phoneNumber\"}}),_c('NowhowDismissableTextbox',{attrs:{\"id\":\"localDetailEmailAddress\",\"label\":\"lu_email_address\",\"checkbox-label\":\"lu_email_address_none\",\"is-dismissed\":_vm.localUnit.isEmailAddressDismissed,\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.emailAddress') + '|required'},on:{\"dismissed\":_vm.onEmailAddressDismissed},model:{value:(_vm.localUnit.emailAddress),callback:function ($$v) {_vm.$set(_vm.localUnit, \"emailAddress\", $$v)},expression:\"localUnit.emailAddress\"}}),_c('NowhowDismissableTextbox',{attrs:{\"id\":\"localDetailWebsiteAddress\",\"label\":\"lu_website_address\",\"checkbox-label\":\"lu_website_address_none\",\"is-dismissed\":_vm.localUnit.isWebsiteAddressDismissed,\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.websiteAddress') + '|required'},on:{\"dismissed\":_vm.onWebsiteAddressDismissed},model:{value:(_vm.localUnit.websiteAddress),callback:function ($$v) {_vm.$set(_vm.localUnit, \"websiteAddress\", $$v)},expression:\"localUnit.websiteAddress\"}})],1),_c('fieldset',[_c('legend',{directives:[{name:\"t\",rawName:\"v-t\",value:('allg_address'),expression:\"'allg_address'\"}]}),_c('NowhowTextbox',{attrs:{\"id\":\"localDetailCareOf\",\"label\":\"adr_adrline1\",\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.careOf')},model:{value:(_vm.localUnit.careOf),callback:function ($$v) {_vm.$set(_vm.localUnit, \"careOf\", $$v)},expression:\"localUnit.careOf\"}}),_c('br'),(!_vm.isLocalSwisstopoUnavailable)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":\"localDetailSwisstopoSearchbox\"}},[_vm._v(_vm._s(_vm.$t('address_searchbox_with_swisstopo')))]),_c('div',{staticClass:\"col-sm-9\"},[_c('SwisstopoFeatureSearch',{attrs:{\"id\":\"localDetailSwisstopoSearchbox\"},on:{\"featureSelected\":_vm.onLocalSwisstopoFeatureSelected,\"error\":_vm.onLocalSwisstopoUnavailable}}),_c('div',{staticClass:\"checkbox checkbox--left\"},[_c('label',{attrs:{\"for\":\"localDetailSwisstopoSearchbox-dismissed\"}},[_c('input',{key:\"localDetailSwisstopoSearchbox-dismissed\",ref:\"swisstopoDismissalCheckbox\",staticClass:\"form-control\",attrs:{\"type\":\"checkbox\",\"id\":\"localDetailSwisstopoSearchbox-dismissed\",\"name\":_vm.$t('address_manual_entry')},domProps:{\"checked\":_vm.localUnit.isSwisstopoDismissed},on:{\"change\":_vm.onLocalSwisstopoDismissedChange}}),_vm._v(\" \"+_vm._s(_vm.$t('address_manual_entry'))+\" \")])])],1)]):_vm._e(),_c('NowhowTextbox',{attrs:{\"id\":\"localDetailStreet\",\"label\":\"allg_street\",\"input-type\":\"text\",\"readonly\":!_vm.localUnit.isSwisstopoDismissed,\"validate\":_vm.getValidation('localUnitDataObject.street')},on:{\"input\":_vm.onManualLocalAddressInput},model:{value:(_vm.localUnit.street),callback:function ($$v) {_vm.$set(_vm.localUnit, \"street\", $$v)},expression:\"localUnit.street\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"localDetailHouseNumber\",\"label\":\"allg_street_nr\",\"input-type\":\"text\",\"readonly\":!_vm.localUnit.isSwisstopoDismissed,\"validate\":_vm.getValidation('localUnitDataObject.houseNumber')},on:{\"input\":_vm.onManualLocalAddressInput},model:{value:(_vm.localUnit.houseNumber),callback:function ($$v) {_vm.$set(_vm.localUnit, \"houseNumber\", $$v)},expression:\"localUnit.houseNumber\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"localDetailAddressAdditionalText\",\"label\":\"adr_additional_text\",\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.additionalTxt')},model:{value:(_vm.localUnit.additionalTxt),callback:function ($$v) {_vm.$set(_vm.localUnit, \"additionalTxt\", $$v)},expression:\"localUnit.additionalTxt\"}}),_c('NowhowUInt32Box',{attrs:{\"id\":\"localDetailZipCode\",\"label\":\"allg_zip\",\"readonly\":!_vm.localUnit.isSwisstopoDismissed,\"validate\":_vm.getValidation('localUnitDataObject.zipCode')},on:{\"input\":_vm.onManualLocalAddressInput},model:{value:(_vm.localUnit.zipCode),callback:function ($$v) {_vm.$set(_vm.localUnit, \"zipCode\", $$v)},expression:\"localUnit.zipCode\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"localDetailTown\",\"label\":\"allg_ort\",\"input-type\":\"text\",\"readonly\":!_vm.localUnit.isSwisstopoDismissed,\"validate\":_vm.getValidation('localUnitDataObject.town')},on:{\"input\":_vm.onManualLocalAddressInput},model:{value:(_vm.localUnit.town),callback:function ($$v) {_vm.$set(_vm.localUnit, \"town\", $$v)},expression:\"localUnit.town\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}]},[_vm._v(\" GDEID:\"+_vm._s(_vm.localUnit.gdeId)),_c('br'),_vm._v(\" EGID:\"+_vm._s(_vm.localUnit.egId)),_c('br'),_vm._v(\" EDID:\"+_vm._s(_vm.localUnit.edId)),_c('br'),_vm._v(\" ESID:\"+_vm._s(_vm.localUnit.esId)),_c('br')]),_c('br'),_c('NowhowTextbox',{attrs:{\"id\":\"localDetailPoBoxNumber\",\"label\":\"allg_postbox_nr\",\"input-type\":\"number\",\"validate\":_vm.getValidation('localUnitDataObject.postOfficeBoxNumber') + '|' + _vm.getPoBoxTogetherRule},model:{value:(_vm.localUnit.postOfficeBoxNumber),callback:function ($$v) {_vm.$set(_vm.localUnit, \"postOfficeBoxNumber\", $$v)},expression:\"localUnit.postOfficeBoxNumber\"}}),_c('NowhowUInt32Box',{attrs:{\"id\":\"localDetailPoBoxZipCode\",\"label\":\"allg_postbox_zip\",\"validate\":_vm.getValidation('localUnitDataObject.postOfficeBoxZipCode') + '|' + _vm.getPoBoxTogetherRule},model:{value:(_vm.localUnit.postOfficeBoxZipCode),callback:function ($$v) {_vm.$set(_vm.localUnit, \"postOfficeBoxZipCode\", $$v)},expression:\"localUnit.postOfficeBoxZipCode\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"localDetailPoBoxTown\",\"label\":\"allg_postbox_town\",\"input-type\":\"text\",\"validate\":_vm.getValidation('localUnitDataObject.postOfficeBoxTown') + '|' + _vm.getPoBoxTogetherRule},model:{value:(_vm.localUnit.postOfficeBoxTown),callback:function ($$v) {_vm.$set(_vm.localUnit, \"postOfficeBoxTown\", $$v)},expression:\"localUnit.postOfficeBoxTown\"}})],1),_c('NowhowRequiredInfoline')],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { ValidationObserver } from 'vee-validate';\nimport { namespace } from 'vuex-class';\nimport { Component } from 'vue-property-decorator';\nimport { ENTRY_WIZARD_ENTERPRISE, ENTRY_WIZARD_CONTACT } from '@/router';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\n//Getters und Actions\nimport { CASE_FULL_DATA, CASE_LOCAL_UNIT, CASE_ENTERPRISE_UNIT } from '../store/getters';\nimport {\n ICaseFullDataViewModel,\n CaseStepInfoViewModel,\n ILocalUnitDataObject,\n IEnterpriseUnitDataObject\n} from '@/api-viewmodel';\nimport { LocalStepIndex } from '../views/Wizard.vue';\nimport StepHeader from './StepHeader.vue';\nimport LocalUnitEditAddress from './LocalUnitEditAddress.vue';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE, DISABLE_BUTTONRIGHT } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\nimport { SUBMIT_CASE_STEPINFO } from '../store/actions';\n\nimport FooterBarRightButtonProxy from '@/components/FooterBarRightButtonProxy.vue';\n@Component({\n components: { StepHeader, LocalUnitEditAddress, FooterBarRightButtonProxy, ValidationObserver }\n})\n\n/** LocalUnit-Step im Entry Wizard\n * @remarks Implementiert die\n * {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungUnternehmenScreen}\n * {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungLocalAdresseScreen}\n * {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungLocalCensusScreen}\n */\nexport default class StepLocal extends Vue {\n //Getters\n @modul.Getter(CASE_FULL_DATA) caseFullData!: ICaseFullDataViewModel;\n @modul.Getter(CASE_LOCAL_UNIT) localUnit!: ILocalUnitDataObject;\n @modul.Getter(CASE_ENTERPRISE_UNIT) enterpriseUnit!: IEnterpriseUnitDataObject;\n\n //Actions\n @modul.Action(SUBMIT_CASE_STEPINFO) submitStepInfo!: Function;\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n @footerBarModul.Action(DISABLE_BUTTONRIGHT) disableButtonRight!: Function;\n\n /** Der aktuell gültige Identifier für den nächsten Detail-Step\n * @remarks Wird nach jeder Änderung der offenen/dargestellten Unit aktualisiert\n */\n private nextUnitIdentifier = undefined;\n\n mounted() {\n console.debug('StepLocal.vue::mounted');\n\n //Den aktuellen Step sofort melden\n this.submitStepInfo({\n caseId: this.caseFullData.caseId,\n data: new CaseStepInfoViewModel(LocalStepIndex, null)\n });\n\n this.showStepNavigation();\n }\n\n /** Definiert die Wizard-Navigations-Buttons und zeigt diese an\n * @remarks Aktualisiert auch die für die Navigation verwendeten previous/next Identifier\n */\n private showStepNavigation() {\n console.debug('StepLocal.vue::showStepNavigation');\n const buttonLeft: Array = [\n {\n onClick: () => {\n this.gotoPreviousStep();\n },\n label: 'btn_wzrd_back',\n type: FooterButtonType.secondary\n }\n ];\n const buttonRight: Array = [\n {\n onClick: () => {\n this.gotoNextStep();\n },\n label: 'btn_wzrd_next',\n type: FooterButtonType.primary\n }\n ];\n this.closeFooterBar();\n this.newFooterBar({ buttonLeft, buttonRight });\n }\n\n /** Navigiert zum vorangehenden Step im Entry-Wizard. */\n gotoPreviousStep() {\n this.$router.push({ name: ENTRY_WIZARD_CONTACT });\n }\n\n /** Navigiert zum nächsten Step im Entry-Wizard. */\n gotoNextStep() {\n console.debug('StepLocal.vue::gotoNextStep');\n\n this.$router.push({ name: ENTRY_WIZARD_ENTERPRISE });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepLocal.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepLocal.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepLocal.vue?vue&type=template&id=187e2638&scoped=true\"\nimport script from \"./StepLocal.vue?vue&type=script&lang=ts\"\nexport * from \"./StepLocal.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"187e2638\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('StepHeader',{attrs:{\"header-label\":\"page_ludt_wzrdtitle\",\"help-label\":\"page_ludt_help\"}}),_c('ValidationObserver',{ref:\"localUnitDetailsObserver\",staticClass:\"v-observer\",attrs:{\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid }){return [_c('LocalUnitEditAddress',{attrs:{\"local-unit\":_vm.localUnit,\"enterprise-unit\":_vm.enterpriseUnit}}),_c('FooterBarRightButtonProxy',{attrs:{\"id\":\"ButtonNextProxy\",\"disabled\":invalid}})]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { defaultTo } from 'lodash';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\nimport { GET_VALIDATION_KEY } from '@/store/modules/validation/getters';\n\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport NowhowTextline from '@/components/NowhowTextline.vue';\nimport NowhowRadioList from '@/components/NowhowRadioList.vue';\nimport NowhowRadioYesNo from '@/components/NowhowRadioYesNo.vue';\nimport NowhowTextarea from '@/components/NowhowTextarea.vue';\nimport NowhowUInt32Box from '@/components/NowhowUInt32Box.vue';\nimport NowhowRequiredInfoline from '@/components/NowhowRequiredInfoline.vue';\nimport SwisstopoFeatureSearch from '@/areas/swisstopo/components/SwisstopoFeatureSearch.vue';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\n\nimport { SUBMIT_ENTERPRISE_UNIT_DATA } from '../store/actions';\nimport { CASE_ID } from '../store/getters';\n\nimport { IEnterpriseUnitDataObject } from '@/api-viewmodel';\nimport { IFeature } from '@/areas/swisstopo/api-viewmodel';\n\n@Component({\n components: {\n NowhowTextline,\n NowhowRequiredInfoline,\n NowhowRadioList,\n NowhowRadioYesNo,\n NowhowTextbox,\n NowhowTextarea,\n NowhowUInt32Box,\n SwisstopoFeatureSearch\n }\n})\n\n/** Bereich für die Bearbeitung der Details eines Unternehmens */\nexport default class EnterpriseUnitEdit extends Vue {\n //Getters\n @modul.Getter(CASE_ID) caseId!: bigint;\n\n @validationModul.Getter(GET_VALIDATION_KEY) getValidation!: (key: string) => string;\n\n //Actions\n @modul.Action(SUBMIT_ENTERPRISE_UNIT_DATA) submitEnterpriseUnitData!: Function;\n\n @Prop({ required: true, type: Object })\n private enterpriseUnit!: IEnterpriseUnitDataObject;\n\n mounted() {\n //Aktuelles Token der unveränderte Datenn für die spätere, erstmalige Prüfung merken\n this.lastSubmittedDataToken = this.submittableDataToken;\n }\n\n /** Behandelt die Auswahl eines Features aus der Swisstopo-Komponente, indem die Adressdaten in die\n * entsprechenden Eingabefelder befüllt werden\n * @remarks Implementiert das Mapping gemäss https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/MappingSberNachErst#EnterpriseUnit\n */\n private onEnterpriseSwisstopoFeatureSelected(feature: IFeature): void {\n console.debug('EnterpriseUnitEdit::onEnterpriseSwisstopoFeatureSelected', feature);\n this.enterpriseUnit.street = feature.attributes.strname_deinr.replace(feature.attributes.deinr, '').trim();\n this.enterpriseUnit.houseNumber = feature.attributes.deinr;\n this.enterpriseUnit.zipCode = feature.attributes.dplz4;\n this.enterpriseUnit.town = feature.attributes.dplzname;\n this.enterpriseUnit.municipality = feature.attributes.ggdename;\n this.enterpriseUnit.canton = feature.attributes.gdekt;\n this.enterpriseUnit.egId = defaultTo(Number.parseInt(feature.attributes.egid), null);\n this.enterpriseUnit.edId = defaultTo(Number.parseInt(feature.attributes.edid), null);\n this.enterpriseUnit.esId = feature.attributes.esid;\n this.enterpriseUnit.gdeId = feature.attributes.ggdenr;\n this.enterpriseUnit.country = 'CH'; //Default-Wert für eine Swisstopo-Adresse\n }\n\n /** Behandelt den Fall, dass die Swisstopo-Schnittstelle nicht verfügbar ist\n */\n private onEnterpriseSwisstopoUnavailable() {\n this.isEnterpriseSwisstopoUnavailable = true;\n //Manuelle Eingabe einschalten\n this.enterpriseUnit.isSwisstopoDismissed = true;\n }\n\n /** Behandelt das Auswählen des \"Dismissed\"-Zustandes für die Swisstopo-Adresssuche\n * @remarks Steuert die manuelle Eingabemöglichkeit für die Adressfelder\n * @devdoc Die Controls müssen mit :readonly (nicht :disabled) gesteuert werden, damit die Eingabewerte\n * trotzdem weiterverarbeitet werden\n */\n private onEnterpriseSwisstopoDismissedChange() {\n this.enterpriseUnit.isSwisstopoDismissed = !this.enterpriseUnit.isSwisstopoDismissed;\n }\n\n beforeDestroy() {\n this.saveStepData();\n }\n\n /** Lokales Flag, welches einen allfälligen Fehlerzustand der Swisstopo-Schnittstelle anzeigt\n * @remarks Implementiert die Anforderung zum \"Fallback\" für die Adresseingabe\n */\n isEnterpriseSwisstopoUnavailable = false;\n\n /** Behandelt die manuelle Änderung der Adressdaten\n * @remarks Werden die Adressdaten manuell geändert, sind die Swisstopo-spezifischen Id's nicht mehr gültig.\n * Implementiert die Anforderung gemäss DatenErfassungUnternehmenScreen-105\n * Siehe auch MapServerSwisstopoFunktion\n */\n private onManualEnterpriseAddressInput() {\n this.enterpriseUnit.municipality = null;\n this.enterpriseUnit.canton = null;\n this.enterpriseUnit.egId = null;\n this.enterpriseUnit.edId = null;\n this.enterpriseUnit.esId = null;\n this.enterpriseUnit.gdeId = null;\n this.enterpriseUnit.country = 'CH'; //Default-Wert für eine manuell eingegebene Adresse, es werden nur Schweizer Adressen unterstützt;\n }\n\n /** Speichert die aktuell eingegebenen Werte auf das Backend\n * @remarks Die Daten werden nur versendet, wenn diese seit dem letzten Versand oder erstmalig geändert haben\n * Für diese Prüfung werden alle Eingabewerte dieser Komponente verwendet\n * @devdoc Diese Funktion soll beim Verlassen des Bearbeitungsformulars aufgerufen werden\n * Hinweis: Es kann aktuell nicht die Funktionalität der ValidationObserver-Komponente verwendet werden,\n * weil diese keinen zwischenzeitlichen Reset der \"Dirty-Flags\" erlaubt.\n * Hinweis2: Es wird nicht ein \"dirty-tracking\" via \"changed\"-Event implementiert, um nur zum Zeitpunkt des\n * Versandes effektiv veränderte Daten zu versenden.\n */\n saveStepData() {\n console.debug('EnterpriseUnitEdit::saveStepData');\n\n const submittableDataToken = this.submittableDataToken;\n if (submittableDataToken !== this.lastSubmittedDataToken) {\n this.submitEnterpriseUnitData({\n caseId: this.caseId,\n data: this.enterpriseUnit\n });\n this.lastSubmittedDataToken = submittableDataToken;\n }\n }\n\n /** Liefert die Validierungsregel für die gemeinesame Eingabe der Postoffice-Box-Angaben\n * @remarks Es müssen entweder alle oder keine PO-Box-Angaben gemacht werden\n * @remarks Implementiert die Anforderung D aus CR1010\n */\n get getPoBoxTogetherRule() {\n if (\n this.enterpriseUnit.postOfficeBoxNumber ||\n this.enterpriseUnit.postOfficeBoxZipCode ||\n this.enterpriseUnit.postOfficeBoxTown\n ) {\n return 'required_labeled:allg_validate_pobox_not_all_set_together';\n }\n //Keine Einschränkung\n return '';\n }\n\n /** Zwischenspeicher für die Prüfung, ob ein erneuter Versand der Daten notwendig ist */\n lastSubmittedDataToken: string = null;\n\n /** Liefert ein Token für die versendbaren Daten zur späteren Prüfung, ob ein erneuter Versand notwendig ist.\n * @devdoc Für den effektiven Versand an die API wird das Objekt aus dem Zustand verwendet,\n * nicht dieses interne DTO.\n */\n get submittableDataToken() {\n return JSON.stringify([\n this.enterpriseUnit.legalUnitName,\n this.enterpriseUnit.nameBusiness,\n this.enterpriseUnit.careOf,\n this.enterpriseUnit.street,\n this.enterpriseUnit.houseNumber,\n this.enterpriseUnit.additionalTxt,\n this.enterpriseUnit.zipCode,\n this.enterpriseUnit.town,\n this.enterpriseUnit.isSwisstopoDismissed,\n this.enterpriseUnit.postOfficeBoxNumber,\n this.enterpriseUnit.postOfficeBoxZipCode,\n this.enterpriseUnit.postOfficeBoxTown,\n this.enterpriseUnit.commentText,\n\n this.enterpriseUnit.municipality,\n this.enterpriseUnit.canton,\n this.enterpriseUnit.egId,\n this.enterpriseUnit.edId,\n this.enterpriseUnit.esId,\n this.enterpriseUnit.gdeId,\n this.enterpriseUnit.country\n ]);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterpriseUnitEdit.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterpriseUnitEdit.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EnterpriseUnitEdit.vue?vue&type=template&id=81f67902\"\nimport script from \"./EnterpriseUnitEdit.vue?vue&type=script&lang=ts\"\nexport * from \"./EnterpriseUnitEdit.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"}},[_c('fieldset',[_c('legend',{directives:[{name:\"t\",rawName:\"v-t\",value:('edit_eu_tit_eu'),expression:\"'edit_eu_tit_eu'\"}]}),_c('div',{staticClass:\"form-group\"},[_c('NowhowTextline',{attrs:{\"id\":\"enterpriseDetailUid\",\"label\":\"eu_uid\",\"text\":this.enterpriseUnit.uidId}}),_c('NowhowTextline',{attrs:{\"id\":\"enterpriseDetailBurId\",\"label\":\"eu_entid\",\"text\":this.enterpriseUnit.burEnterpriseUnitId}}),_c('NowhowTextbox',{directives:[{name:\"focus\",rawName:\"v-focus\"}],ref:\"enterpriseDetailName\",attrs:{\"id\":\"enterpriseDetailName\",\"label\":\"eu_name\",\"input-type\":\"text\",\"validate\":_vm.getValidation('enterpriseUnitDataObject.legalUnitName')},model:{value:(_vm.enterpriseUnit.legalUnitName),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"legalUnitName\", $$v)},expression:\"enterpriseUnit.legalUnitName\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"enterpriseDetailBusinessName\",\"label\":\"eu_busname\",\"input-type\":\"text\",\"validate\":_vm.getValidation('enterpriseUnitDataObject.nameBusiness')},model:{value:(_vm.enterpriseUnit.nameBusiness),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"nameBusiness\", $$v)},expression:\"enterpriseUnit.nameBusiness\"}})],1)]),_c('fieldset',[_c('legend',[_vm._v(_vm._s(_vm.$t('edit_eu_tit_adr')))]),_c('NowhowTextbox',{attrs:{\"id\":\"enterpriseDetailCareOf\",\"label\":\"adr_adrline1\",\"input-type\":\"text\",\"validate\":_vm.getValidation('enterpriseUnitDataObject.careOf')},model:{value:(_vm.enterpriseUnit.careOf),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"careOf\", $$v)},expression:\"enterpriseUnit.careOf\"}}),_c('br'),(!_vm.isEnterpriseSwisstopoUnavailable)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\",attrs:{\"for\":\"enterpriseDetailSwisstopoSearchbox\"}},[_vm._v(_vm._s(_vm.$t('address_searchbox_with_swisstopo')))]),_c('div',{staticClass:\"col-sm-9\"},[_c('SwisstopoFeatureSearch',{attrs:{\"id\":\"enterpriseDetailSwisstopoSearchbox\"},on:{\"featureSelected\":_vm.onEnterpriseSwisstopoFeatureSelected,\"error\":_vm.onEnterpriseSwisstopoUnavailable}}),_c('div',{staticClass:\"checkbox checkbox--left\"},[_c('label',{attrs:{\"for\":\"enterpriseDetailSwisstopoSearchbox-dismissed\"}},[_c('input',{key:\"enterpriseDetailSwisstopoSearchbox-dismissed\",ref:\"swisstopoDismissalCheckbox\",staticClass:\"form-control\",attrs:{\"type\":\"checkbox\",\"id\":\"enterpriseDetailSwisstopoSearchbox-dismissed\",\"name\":_vm.$t('address_manual_entry')},domProps:{\"checked\":_vm.enterpriseUnit.isSwisstopoDismissed},on:{\"change\":_vm.onEnterpriseSwisstopoDismissedChange}}),_vm._v(\" \"+_vm._s(_vm.$t('address_manual_entry'))+\" \")])])],1)]):_vm._e(),_c('NowhowTextbox',{attrs:{\"id\":\"enterpriseDetailStreet\",\"label\":\"allg_street\",\"input-type\":\"text\",\"readonly\":!_vm.enterpriseUnit.isSwisstopoDismissed,\"validate\":_vm.getValidation('enterpriseUnitDataObject.street')},on:{\"input\":_vm.onManualEnterpriseAddressInput},model:{value:(_vm.enterpriseUnit.street),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"street\", $$v)},expression:\"enterpriseUnit.street\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"enterpriseDetailHouseNumber\",\"label\":\"allg_street_nr\",\"input-type\":\"text\",\"readonly\":!_vm.enterpriseUnit.isSwisstopoDismissed,\"validate\":_vm.getValidation('enterpriseUnitDataObject.houseNumber')},on:{\"input\":_vm.onManualEnterpriseAddressInput},model:{value:(_vm.enterpriseUnit.houseNumber),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"houseNumber\", $$v)},expression:\"enterpriseUnit.houseNumber\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"enterpriseDetailAddressAdditionalText\",\"label\":\"adr_additional_text\",\"input-type\":\"text\",\"validate\":_vm.getValidation('enterpriseUnitDataObject.additionalTxt')},model:{value:(_vm.enterpriseUnit.additionalTxt),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"additionalTxt\", $$v)},expression:\"enterpriseUnit.additionalTxt\"}}),_c('NowhowUInt32Box',{attrs:{\"id\":\"enterpriseDetailZipCode\",\"label\":\"allg_zip\",\"readonly\":!_vm.enterpriseUnit.isSwisstopoDismissed,\"validate\":_vm.getValidation('enterpriseUnitDataObject.zipCode')},on:{\"input\":_vm.onManualEnterpriseAddressInput},model:{value:(_vm.enterpriseUnit.zipCode),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"zipCode\", $$v)},expression:\"enterpriseUnit.zipCode\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"enterpriseDetailTown\",\"label\":\"allg_ort\",\"input-type\":\"text\",\"readonly\":!_vm.enterpriseUnit.isSwisstopoDismissed,\"validate\":_vm.getValidation('enterpriseUnitDataObject.town')},on:{\"input\":_vm.onManualEnterpriseAddressInput},model:{value:(_vm.enterpriseUnit.town),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"town\", $$v)},expression:\"enterpriseUnit.town\"}}),_c('br'),_c('NowhowTextbox',{attrs:{\"id\":\"enterpriseDetailPoBoxNumber\",\"label\":\"allg_postbox_nr\",\"input-type\":\"number\",\"validate\":_vm.getValidation('enterpriseUnitDataObject.postOfficeBoxNumber') + '|' + _vm.getPoBoxTogetherRule},model:{value:(_vm.enterpriseUnit.postOfficeBoxNumber),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"postOfficeBoxNumber\", $$v)},expression:\"enterpriseUnit.postOfficeBoxNumber\"}}),_c('NowhowUInt32Box',{attrs:{\"id\":\"enterpriseDetailPoBoxZipCode\",\"label\":\"allg_postbox_zip\",\"validate\":_vm.getValidation('enterpriseUnitDataObject.postOfficeBoxZipCode') + '|' + _vm.getPoBoxTogetherRule},model:{value:(_vm.enterpriseUnit.postOfficeBoxZipCode),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"postOfficeBoxZipCode\", $$v)},expression:\"enterpriseUnit.postOfficeBoxZipCode\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"enterpriseDetailPoBoxTown\",\"label\":\"allg_postbox_town\",\"input-type\":\"text\",\"validate\":_vm.getValidation('enterpriseUnitDataObject.postOfficeBoxTown') + '|' + _vm.getPoBoxTogetherRule},model:{value:(_vm.enterpriseUnit.postOfficeBoxTown),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"postOfficeBoxTown\", $$v)},expression:\"enterpriseUnit.postOfficeBoxTown\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}]},[_vm._v(\" GDEID:\"+_vm._s(_vm.enterpriseUnit.gdeId)),_c('br'),_vm._v(\" EGID:\"+_vm._s(_vm.enterpriseUnit.egId)),_c('br'),_vm._v(\" EDID:\"+_vm._s(_vm.enterpriseUnit.edId)),_c('br'),_vm._v(\" ESID:\"+_vm._s(_vm.enterpriseUnit.esId)),_c('br')]),_c('br'),_c('NowhowTextarea',{attrs:{\"id\":\"enterpriseDetailComment\",\"label\":\"eu_comment\",\"input-type\":\"text\",\"validate\":_vm.getValidation('enterpriseUnitDataObject.commentText')},model:{value:(_vm.enterpriseUnit.commentText),callback:function ($$v) {_vm.$set(_vm.enterpriseUnit, \"commentText\", $$v)},expression:\"enterpriseUnit.commentText\"}})],1),_c('NowhowRequiredInfoline')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { ValidationObserver } from 'vee-validate';\nimport { namespace } from 'vuex-class';\nimport { Component } from 'vue-property-decorator';\nimport { ENTRY_WIZARD_ACTIVITY, ENTRY_WIZARD_CONTACT, ENTRY_WIZARD_LOCAL } from '@/router';\nimport { EnterpriseStepIndex } from '../views/Wizard.vue';\nimport StepHeader from './StepHeader.vue';\n\nimport { NAME } from '../store/index';\nconst modul = namespace(NAME);\n\n//Getters und Actions\nimport { CASE_FULL_DATA, CASE_ENTERPRISE_UNIT } from '../store/getters';\nimport EnterpriseUnitEdit from './EnterpriseUnitEdit.vue';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\nimport FooterBarRightButtonProxy from '@/components/FooterBarRightButtonProxy.vue';\nimport { SUBMIT_CASE_STEPINFO } from '../store/actions';\nimport { ICaseFullDataViewModel, CaseStepInfoViewModel, IEnterpriseUnitDataObject } from '@/api-viewmodel';\n@Component({\n components: { StepHeader, EnterpriseUnitEdit, FooterBarRightButtonProxy }\n})\nexport default class StepEnterprise extends Vue {\n //Getters\n @modul.Getter(CASE_FULL_DATA) caseFullData!: ICaseFullDataViewModel;\n @modul.Getter(CASE_ENTERPRISE_UNIT) enterpriseUnit!: IEnterpriseUnitDataObject;\n\n //Actions\n @modul.Action(SUBMIT_CASE_STEPINFO) submitStepInfo!: Function;\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n\n mounted() {\n console.log('StepEnterprise.vue::mounted');\n\n //Den aktuellen Step sofort melden\n this.submitStepInfo({\n caseId: this.caseFullData.caseId,\n data: new CaseStepInfoViewModel(EnterpriseStepIndex, null)\n });\n\n this.showStepNavigation(false);\n }\n\n /** Definiert die Wizard-Navigations-Buttons und zeigt diese an */\n showStepNavigation(disabled: boolean) {\n console.debug('StepEnterprise.vue::showStepNavigation');\n\n const buttonLeft: Array = [\n {\n onClick: () => {\n this.gotoPreviousStep();\n },\n label: 'btn_wzrd_back',\n type: FooterButtonType.secondary,\n disabled: disabled\n }\n ];\n const buttonRight: Array = [\n {\n onClick: () => {\n this.gotoNextStep();\n },\n label: 'btn_wzrd_next',\n type: FooterButtonType.primary,\n disabled: disabled\n }\n ];\n this.closeFooterBar();\n this.newFooterBar({ buttonLeft, buttonRight });\n }\n\n /** Navigiert zum vorangehenden Step im Entry-Wizard. */\n gotoPreviousStep() {\n this.$router.push({ name: ENTRY_WIZARD_LOCAL });\n }\n\n /** Navigiert zum nächsten Step im Entry-Wizard. */\n gotoNextStep() {\n this.$router.push({ name: ENTRY_WIZARD_ACTIVITY });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepEnterprise.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepEnterprise.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepEnterprise.vue?vue&type=template&id=4a8e5df2&scoped=true\"\nimport script from \"./StepEnterprise.vue?vue&type=script&lang=ts\"\nexport * from \"./StepEnterprise.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a8e5df2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('StepHeader',{attrs:{\"header-label\":\"page_eudt_wzrdtitle\",\"help-label\":\"page_eudt_help\"}}),_c('ValidationObserver',{ref:\"enterpriseUnitDetailsObserver\",staticClass:\"v-observer\",attrs:{\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid }){return [_c('EnterpriseUnitEdit',{attrs:{\"enterprise-unit\":_vm.enterpriseUnit}}),_c('FooterBarRightButtonProxy',{attrs:{\"id\":\"ButtonNextProxy\",\"disabled\":invalid}})]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\n\n//Getters und Actions\n\n@Component({})\n\n/** Finish-Step nach erfolgreichem Abschluss des Entry Wizard\n * @remarks Implementiert den {@link:https://collaboration.nowhow.ch/erst/foswiki/bin/view/Erst/DatenErfassungAbschlussBestaetigungScreen}\n */\nexport default class StepFinish extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepFinish.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StepFinish.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StepFinish.vue?vue&type=template&id=508f2ddc&scoped=true\"\nimport script from \"./StepFinish.vue?vue&type=script&lang=ts\"\nexport * from \"./StepFinish.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"508f2ddc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('page_enfinish_title')))]),_c('div',{staticClass:\"alert alert-success\",attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"success:\")]),_vm._v(\" \"+_vm._s(_vm.$t('page_enfinish_info1'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('page_enfinish_info2'))+\" \")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\n\n@Component\n\n/** Ein einfaches Overlay mit einer Text-Message und einem OK-Button zum schliessen\n * @param {boolean} value - Legt die Sichtbarkeit fest\n * @param {String} text - Die Text-Message\n */\nexport default class NowhowMessageOverlay extends Vue {\n /** Text für die Anzeige, falls nicht der Slot verwendet wird\n */\n @Prop({ required: false, type: String, default: '' }) private text!: string;\n\n /** Sichtbarkeit des Overlays\n */\n @Prop({ required: false, type: Boolean, default: true }) private value!: boolean;\n\n @Prop({ required: false, type: String, default: 'nowhowMessageOverlay' }) private id!: string;\n\n close() {\n this.$emit('input', false);\n this.$emit('change', false);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowMessageOverlay.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NowhowMessageOverlay.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NowhowMessageOverlay.vue?vue&type=template&id=0a37b85c&scoped=true\"\nimport script from \"./NowhowMessageOverlay.vue?vue&type=script&lang=ts\"\nexport * from \"./NowhowMessageOverlay.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NowhowMessageOverlay.vue?vue&type=style&index=0&id=0a37b85c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a37b85c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:_vm.value ? 'visible overlay-backdrop' : 'overlay-backdrop'},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3\"},[_c('div',{staticClass:\"overlay-window well clearfix\",attrs:{\"role\":\"overlay\"}},[_c('div',{staticClass:\"clearfix\"},[_c('form',{staticClass:\"form-horizontal\",attrs:{\"role\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.close()}}},[_c('fieldset',[_c('div',{staticClass:\"form-group\"},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"info:\")]),(_vm.text)?_c('div',[_vm._v(_vm._s(_vm.text))]):_vm._e(),(!_vm.text)?_vm._t(\"default\",function(){return [_vm._v(\" Dies ist der Standard Overlay Body \")]}):_vm._e(),_c('hr'),_c('p')],2)]),_c('fieldset',[_c('div',{staticClass:\"form-group\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\",\"name\":\"OverlayOkButton\",\"id\":_vm.id,\"role\":\"button\"}},[_vm._v(\" \"+_vm._s(_vm.$t('allg_ok'))+\" \")])])])])])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { cloneDeep } from 'lodash';\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\n\nimport { namespace } from 'vuex-class';\n\n//Footer-Bar und -Buttons\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport { NEW_BUTTON, CLOSE } from '@/store/modules/footerBar/actions';\nimport { FooterButtonType, IFooterButton } from '@/store/modules/footerBar/state';\n\nimport NowhowTextbox from '@/components/NowhowTextbox.vue';\nimport NowhowDismissableTextbox from '@/components/NowhowDismissableTextbox.vue';\nimport NowhowDatebox from '@/components/NowhowDatebox.vue';\nimport NowhowTextarea from '@/components/NowhowTextarea.vue';\nimport NowhowDropdown from '@/components/NowhowDropdown.vue';\nimport NowhowCheckbox from '@/components/NowhowCheckbox.vue';\nimport NowhowCheckboxList from '@/components/NowhowCheckboxList.vue';\nimport NowhowRadioList from '@/components/NowhowRadioList.vue';\nimport NowhowRadioYesNo from '@/components/NowhowRadioYesNo.vue';\nimport NowhowMessageOverlay from '@/components/NowhowMessageOverlay.vue';\nimport NowhowModal from '@/components/NowhowModal.vue';\nimport SwisstopoFeatureSearch from '@/areas/swisstopo/components/SwisstopoFeatureSearch.vue';\nimport { ISelectListItem } from '@/types/clienttypes';\nimport { IS_BAR_VISIBLE } from '@/store/modules/footerBar/getters';\nimport { IFeature } from '@/areas/swisstopo/api-viewmodel';\n\n@Component({\n components: {\n NowhowTextbox,\n NowhowDismissableTextbox,\n NowhowDatebox,\n NowhowTextarea,\n NowhowDropdown,\n NowhowCheckbox,\n NowhowCheckboxList,\n NowhowRadioList,\n NowhowRadioYesNo,\n NowhowMessageOverlay,\n NowhowModal,\n SwisstopoFeatureSearch\n }\n})\nexport default class Development extends Vue {\n overlayVisible = false;\n modalVisible = false;\n textarea = '';\n textbox = 'Schon mal was gesetzt';\n textbox2 = '';\n datebox = '1.1.2000';\n dropdownValue: Array = ['audi'];\n dismissableTextbox = 'Dismissable text';\n swissTopoSelectedFeature: IFeature = null;\n\n dropdownItems: Array = [\n {\n value: 'audi',\n text: 'Audi',\n selected: false,\n disabled: false\n },\n {\n value: 'bmw',\n text: 'BMW',\n selected: false,\n disabled: false\n },\n {\n value: 'mercedes',\n text: 'Mercedes',\n selected: true,\n disabled: false\n }\n ];\n checkboxFlag = false;\n\n checkboxItems: Array = [\n {\n value: 'red',\n text: 'Red',\n selected: false,\n disabled: false\n },\n {\n value: 'green',\n text: 'Green',\n selected: false,\n disabled: false\n },\n {\n value: 'blue',\n text: 'Blue',\n selected: false,\n disabled: false\n }\n ];\n checkboxItemsValue: Array = [];\n\n radioItems: Array = [\n {\n value: 'male',\n text: 'Male',\n selected: false,\n disabled: false\n },\n {\n value: 'female',\n text: 'Female',\n selected: false,\n disabled: false\n }\n ];\n radioValue = '';\n\n searchResultUniversityDegree = null;\n searchResultUniversityDegree2 = null;\n searchResultUniversityDegree3 = null;\n radiolistValuePreselected = null;\n dropdownSearchResultItems: Array = [\n {\n value: 1,\n text: 'leicht gefunden',\n selected: false,\n disabled: false\n },\n {\n value: 2,\n text: 'schwer gefunden',\n selected: false,\n disabled: false\n },\n {\n value: 3,\n text: 'nicht gefunden',\n selected: false,\n disabled: false\n },\n {\n value: 4,\n text: 'nicht gesucht',\n selected: false,\n disabled: false\n }\n ];\n\n dropdownSearchResultItemsCopy = cloneDeep(this.dropdownSearchResultItems);\n radiolistSearchItemsPreselected = cloneDeep(this.dropdownSearchResultItems);\n\n checkboxFlagValidation = false;\n\n radioYesNoValue: boolean | null = null;\n radioYesNoItems = [\n {\n value: 'true',\n text: 'YES!',\n selected: false,\n disabled: false\n },\n {\n value: 'false',\n text: 'NOOO!',\n selected: false,\n disabled: false\n }\n ];\n\n checkboxSyncValue = null;\n checkboxSyncItems = [\n {\n value: 'Montag',\n text: 'Montag',\n selected: false,\n disabled: false\n },\n {\n value: 'Dienstag',\n text: 'Dienstag',\n selected: false,\n disabled: false\n },\n {\n value: 'Mittwoch',\n text: 'Mittwoch',\n selected: false,\n disabled: false\n },\n {\n value: 'Donnerstag',\n text: 'Donnerstag',\n selected: false,\n disabled: false\n },\n {\n value: 'Freitag',\n text: 'Freitag',\n selected: false,\n disabled: false\n }\n ];\n radiolistValuePlanetItems: Array = [\n {\n value: 1,\n text: 'Merkur',\n selected: false,\n disabled: false\n },\n {\n value: 2,\n text: 'Venus',\n selected: false,\n disabled: false\n },\n {\n value: 3,\n text: 'Erde',\n selected: false,\n disabled: false\n },\n {\n value: 4,\n text: 'Mars',\n selected: false,\n disabled: false\n },\n {\n value: 5,\n text: 'Jupiter',\n selected: false,\n disabled: false\n },\n {\n value: 6,\n text: 'Saturn',\n selected: false,\n disabled: false\n },\n {\n value: 7,\n text: 'Uranus',\n selected: false,\n disabled: false\n },\n {\n value: 8,\n text: 'Neptun',\n selected: false,\n disabled: false\n },\n {\n value: null,\n text: '(keiner)',\n selected: false,\n disabled: false\n }\n ];\n radiolistValuePlanet: number = null;\n\n @footerBarModul.Action(CLOSE) closeFooterBar!: Function;\n @footerBarModul.Action(NEW_BUTTON) newFooterBar!: Function;\n @footerBarModul.Getter(IS_BAR_VISIBLE) footerBarVisible!: boolean;\n\n setPreselectedNull() {\n this.radiolistValuePreselected = null;\n }\n\n setPreselected3() {\n this.radiolistValuePreselected = 3;\n }\n\n toggleFooter() {\n if (this.footerBarVisible) {\n this.closeFooterBar();\n } else {\n const buttonLeft: Array = [\n {\n onClick: () => {\n alert('button1 clicked');\n },\n label: 'button1',\n type: FooterButtonType.primary\n }\n ];\n const buttonCenter: Array = [\n {\n onClick: (button: IFooterButton) => {\n this.logButtonClick(button);\n },\n label: 'buttonCenter primary 1',\n type: FooterButtonType.primary\n },\n {\n onClick: (button: IFooterButton) => {\n this.logButtonClick(button);\n },\n label: 'buttonCenter secondary',\n type: FooterButtonType.secondary\n }\n ];\n const buttonRight: Array = [\n {\n onClick: (button: IFooterButton) => {\n this.logButtonClick(button);\n },\n label: 'button disabled',\n type: FooterButtonType.primary,\n disabled: true\n }\n ];\n\n this.newFooterBar({ buttonLeft, buttonCenter, buttonRight });\n }\n }\n\n showOverlay() {\n this.overlayVisible = true;\n }\n\n logButtonClick(button: IFooterButton) {\n alert('button:=' + button.label + ' clicked, alert from function in vue-component');\n }\n\n onSwisstopoFeatureSelected(feature: IFeature) {\n console.debug('Development::onSwisstopoFeatureSelected', feature);\n this.swissTopoSelectedFeature = feature;\n }\n mounted() {\n // select first item in radiolist\n // this.radiolistSearchItemsPreselected[0].selected = true;\n this.radiolistValuePreselected = 2;\n // set value as String instead of Number\n //this.radiolistValuePreselected = null;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Development.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Development.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Development.vue?vue&type=template&id=00ccb21c&scoped=true\"\nimport script from \"./Development.vue?vue&type=script&lang=ts\"\nexport * from \"./Development.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Development.vue?vue&type=style&index=0&id=00ccb21c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00ccb21c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('h1',[_vm._v(\"Development Page\")]),_c('p',[_vm._v(\"On this page are examples and other parts to test the Nowhow-Components\")]),_c('NowhowMessageOverlay',{model:{value:(_vm.overlayVisible),callback:function ($$v) {_vm.overlayVisible=$$v},expression:\"overlayVisible\"}},[[_vm._v(\" BODY \"),_c('br'),_vm._v(\" Und hier noch etwas Text und ein Icon: \"),_c('p',[_c('span',{staticClass:\"icon icon--pdf\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" My document\")])]],2),_c('NowhowModal',{attrs:{\"id\":\"modal-dev\",\"visible\":_vm.modalVisible,\"title\":\"modal-title\"},on:{\"update:visible\":function($event){_vm.modalVisible=$event}}},[_c('template',{slot:\"body\"},[_vm._v(\" BODY \"),_c('br'),_vm._v(\" Und hier noch etwas Text und ein Icon: \"),_c('p',[_c('span',{staticClass:\"icon icon--pdf\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" My document\")]),_c('button',{staticClass:\"btn btn-secondary\",on:{\"click\":function($event){_vm.modalVisible = false}}},[_vm._v(\"closeModal\")])]),_c('template',{slot:\"footer\"},[_vm._v(\" footer \")])],2),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"Swisstopo Searchbox \")]),_c('div',{staticClass:\"col-sm-9\"},[_c('SwisstopoFeatureSearch',{attrs:{\"id\":\"dev-SwisstopoFeatureSearch\"},on:{\"featureSelected\":_vm.onSwisstopoFeatureSelected}}),(_vm.swissTopoSelectedFeature)?_c('div',[_vm._v(\" Ausgewählte Adresse: \"),_c('div',[_vm._v(\" Strasse/Nr: \"+_vm._s(_vm.swissTopoSelectedFeature.attributes.strname_deinr .replace(_vm.swissTopoSelectedFeature.attributes.deinr, '') .trim())+\" \"+_vm._s(_vm.swissTopoSelectedFeature.attributes.deinr)+\" \")]),_c('div',[_vm._v(\" ZIP/Ort: \"+_vm._s(_vm.swissTopoSelectedFeature.attributes.dplz4)+\" \"+_vm._s(_vm.swissTopoSelectedFeature.attributes.dplzname)+\" \")])]):_vm._e()],1)]),_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid }){return [_c('form',{staticClass:\"form-horizontal\"},[_c('fieldset',[_c('legend',[_vm._v(\"Examples for Inputfields\")]),_c('NowhowTextbox',{attrs:{\"id\":\"dev-textbox\",\"label\":\"Textbox\",\"validate\":\"required\"},model:{value:(_vm.textbox),callback:function ($$v) {_vm.textbox=$$v},expression:\"textbox\"}}),_c('NowhowTextbox',{attrs:{\"id\":\"dev-textboxClone\",\"label\":\"Textbox (Mit gleichem Model zu Testzwecken)\",\"validate\":\"required\"},model:{value:(_vm.textbox),callback:function ($$v) {_vm.textbox=$$v},expression:\"textbox\"}}),_c('NowhowDismissableTextbox',{attrs:{\"id\":\"dev-dismissableTextbox\",\"label\":\"Dismissable Textbox\",\"validate\":\"required\"},model:{value:(_vm.dismissableTextbox),callback:function ($$v) {_vm.dismissableTextbox=$$v},expression:\"dismissableTextbox\"}}),_c('NowhowTextbox',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"dev-textbox2\",\"label\":\"Textbox mit initialem Fokus\"},model:{value:(_vm.textbox2),callback:function ($$v) {_vm.textbox2=$$v},expression:\"textbox2\"}}),_c('NowhowDatebox',{attrs:{\"id\":\"dev-date\",\"label\":\"Datumseingabe\"},model:{value:(_vm.datebox),callback:function ($$v) {_vm.datebox=$$v},expression:\"datebox\"}}),_c('NowhowTextarea',{attrs:{\"id\":\"dev-textarea\",\"label\":\"Textarea\"},model:{value:(_vm.textarea),callback:function ($$v) {_vm.textarea=$$v},expression:\"textarea\"}}),_c('NowhowDropdown',{attrs:{\"id\":\"dev-dropdown\",\"items\":_vm.dropdownItems,\"validate\":\"required\",\"label\":\"Dropdown\"},model:{value:(_vm.dropdownValue),callback:function ($$v) {_vm.dropdownValue=$$v},expression:\"dropdownValue\"}}),_c('NowhowCheckbox',{attrs:{\"id\":\"dev-checkbox\",\"label\":\"single Checkbox\"},model:{value:(_vm.checkboxFlag),callback:function ($$v) {_vm.checkboxFlag=$$v},expression:\"checkboxFlag\"}}),_c('NowhowCheckboxList',{attrs:{\"id\":\"dev-checkboxlist\",\"items\":_vm.checkboxItems,\"validate\":\"required\",\"label\":\"Which color do you like\",\"inline\":false},model:{value:(_vm.checkboxItemsValue),callback:function ($$v) {_vm.checkboxItemsValue=$$v},expression:\"checkboxItemsValue\"}}),_c('NowhowRadioList',{attrs:{\"id\":\"dev-radiolist\",\"value\":_vm.radioValue,\"items\":_vm.radioItems,\"validate\":\"required\",\"label\":\"Gender\",\"inline\":false}})],1),_c('fieldset',[_c('legend',[_vm._v(\"Radiolist Items for multiple Lists\")]),_c('NowhowRadioList',{attrs:{\"id\":\"dev-radiolist-v-model\",\"items\":_vm.dropdownSearchResultItems,\"validate\":\"required|numeric\",\"label\":\"RadioList mit v-model\",\"inline\":true},model:{value:(_vm.searchResultUniversityDegree),callback:function ($$v) {_vm.searchResultUniversityDegree=$$v},expression:\"searchResultUniversityDegree\"}}),_c('NowhowRadioList',{attrs:{\"id\":\"dev-radiolist-v-model-second\",\"items\":_vm.dropdownSearchResultItems,\"validate\":\"required|numeric\",\"label\":\"RadioList mit v-model same Items other value\",\"inline\":true},model:{value:(_vm.searchResultUniversityDegree2),callback:function ($$v) {_vm.searchResultUniversityDegree2=$$v},expression:\"searchResultUniversityDegree2\"}}),_c('NowhowRadioList',{attrs:{\"id\":\"dev-radiolist-v-model-third\",\"items\":_vm.dropdownSearchResultItemsCopy,\"validate\":\"required|numeric\",\"label\":\"RadioList mit v-model copy of Items other value\",\"inline\":true},model:{value:(_vm.searchResultUniversityDegree3),callback:function ($$v) {_vm.searchResultUniversityDegree3=$$v},expression:\"searchResultUniversityDegree3\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"RadioList v-model value\")]),_c('div',{staticClass:\"col-sm-9\"},[_vm._v(\" \"+_vm._s(_vm.searchResultUniversityDegree)+\" \")])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"RadioList v-model other value\")]),_c('div',{staticClass:\"col-sm-9\"},[_vm._v(\" \"+_vm._s(_vm.searchResultUniversityDegree2)+\" \")])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"RadioList with v-model copy of Items other value\")]),_c('div',{staticClass:\"col-sm-9\"},[_vm._v(\" \"+_vm._s(_vm.searchResultUniversityDegree3)+\" \")])])],1),_c('fieldset',[_c('legend',[_vm._v(\"Radiolist change value\")]),_c('NowhowRadioList',{attrs:{\"id\":\"dev-radiolist-v-model-preselection\",\"items\":_vm.radiolistSearchItemsPreselected,\"validate\":\"required|numeric\",\"label\":\"RadioList with inital value\",\"inline\":true},model:{value:(_vm.radiolistValuePreselected),callback:function ($$v) {_vm.radiolistValuePreselected=$$v},expression:\"radiolistValuePreselected\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"RadioList with inital value\")]),_c('div',{staticClass:\"col-sm-9\"},[_vm._v(\" \"+_vm._s(_vm.radiolistValuePreselected)+\" \")])]),_c('NowhowTextbox',{attrs:{\"label\":\"Change value manually\",\"id\":\"dev-radiolist-value\"},model:{value:(_vm.radiolistValuePreselected),callback:function ($$v) {_vm.radiolistValuePreselected=$$v},expression:\"radiolistValuePreselected\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"RadioList with inital value\")]),_c('div',{staticClass:\"col-sm-9\"},[_vm._v(\" \"+_vm._s(_vm.radiolistValuePreselected)+\" \")])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"Value auf NULL setzen\")]),_c('div',{staticClass:\"col-sm-9\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.setPreselectedNull}},[_vm._v(\" Auf NULL setzen \")])])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"Value auf 3 setzen\")]),_c('div',{staticClass:\"col-sm-9\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.setPreselected3}},[_vm._v(\" Auf 3 setzen \")])])])],1),_c('fieldset',[_c('legend',[_vm._v(\"Radiolist validate tabnavigation\")]),_c('NowhowTextbox',{attrs:{\"id\":\"dummy-textbox\",\"label\":\"dummy textbox for tabnavigation\",\"value\":\"dummyvalue\"}}),_c('ValidationObserver',{ref:\"observer3\",scopedSlots:_vm._u([{key:\"default\",fn:function(observer){return [_c('NowhowRadioList',{attrs:{\"id\":\"dev-radiolist-planet\",\"items\":_vm.radiolistValuePlanetItems,\"validate\":\"required|numeric\",\"label\":\"RadioList Planets\"},model:{value:(_vm.radiolistValuePlanet),callback:function ($$v) {_vm.radiolistValuePlanet=$$v},expression:\"radiolistValuePlanet\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"RadioList value\")]),_c('div',{staticClass:\"col-sm-9\"},[_vm._v(\" \"+_vm._s(_vm.radiolistValuePlanet)+\" \")])]),_c('pre',[_vm._v(\" \"+_vm._s(observer)+\"\\n \")])]}}],null,true)})],1),_c('fieldset',[_c('legend',[_vm._v(\"Radio Yes/No Items\")]),_c('NowhowRadioYesNo',{attrs:{\"id\":\"dev-radioyesno-v-model\",\"name\":_vm.$t('lu_noga_still_valid'),\"label-yes\":\"allg_ja\",\"label-no\":\"allg_nein\",\"label\":\"RadioYesNo mit v-model\",\"validate\":\"required\",\"inline\":true},model:{value:(_vm.radioYesNoValue),callback:function ($$v) {_vm.radioYesNoValue=$$v},expression:\"radioYesNoValue\"}})],1),_c('fieldset',[_c('legend',[_vm._v(\"Checkbox change Items actualize Value and the other way\")]),_c('NowhowCheckboxList',{attrs:{\"id\":\"dev-checkbox-items-sync\",\"items\":_vm.checkboxSyncItems,\"label\":\"Checkbox sync\",\"validate\":\"required\"},model:{value:(_vm.checkboxSyncValue),callback:function ($$v) {_vm.checkboxSyncValue=$$v},expression:\"checkboxSyncValue\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"Value\")]),_c('div',{staticClass:\"col-sm-9\"},[_vm._v(\" \"+_vm._s(_vm.checkboxSyncValue)+\" \")])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"col-sm-3 control-label\"},[_vm._v(\"RadioList Items\")]),_c('div',{staticClass:\"col-sm-9\"},_vm._l((_vm.checkboxSyncItems),function(item){return _c('div',{key:item.value,staticStyle:{\"margin-bottom\":\"5px\"}},[_vm._v(\" \"+_vm._s(item.text)+\": \"+_vm._s(item.selected)+\" => \"),_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){item.selected = !item.selected}}},[_vm._v(\" invert selected \")])])}),0)])],1),_c('ValidationObserver',{ref:\"observer2\",attrs:{\"slim\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(observer){return [_c('NowhowCheckbox',{attrs:{\"id\":\"dev-checkbox-validation\",\"label\":\"Checkbox required\",\"validate\":{ required: { allowFalse: false } }},model:{value:(_vm.checkboxFlagValidation),callback:function ($$v) {_vm.checkboxFlagValidation=$$v},expression:\"checkboxFlagValidation\"}}),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-sm-offset-4 col-sm-8\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":observer.invalid}},[_vm._v(\" Next (disabled wenn initial oder invalid) \")])])])]}}],null,true)}),_c('br'),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-sm-offset-4 col-sm-8 button-group\"},[_c('button',{staticClass:\"btn btn-secondary\"},[_vm._v(\"Prev\")]),_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":invalid}},[_vm._v(\" Next (disabled wenn invalid) \")])])])],1)]}}])}),_c('div',{staticClass:\"button-group\"},[_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":_vm.toggleFooter}},[_vm._v(\"Toggle FooterBar\")]),_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":_vm.showOverlay}},[_vm._v(\"Show Overlay\")]),_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){_vm.modalVisible = true}}},[_vm._v(\"Show Modal\")])]),_c('h1',[_vm._v(\"Glyphcons\")]),_vm._m(0)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ul',[_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-asterisk\"}),_vm._v(\" asterisk\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-plus\"}),_vm._v(\" plus\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-euro\"}),_vm._v(\" euro\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-minus\"}),_vm._v(\" minus\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-cloud\"}),_vm._v(\" cloud\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-envelope\"}),_vm._v(\" envelope\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-pencil\"}),_vm._v(\" pencil\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-glass\"}),_vm._v(\" glass\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-music\"}),_vm._v(\" music\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-search\"}),_vm._v(\" search\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-heart\"}),_vm._v(\" heart\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-star\"}),_vm._v(\" star\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-star-empty\"}),_vm._v(\" star-empty\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-user\"}),_vm._v(\" user\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-film\"}),_vm._v(\" film\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-th-large\"}),_vm._v(\" th-large\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-th\"}),_vm._v(\" th\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-th-list\"}),_vm._v(\" th-list\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-ok\"}),_vm._v(\" ok\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-remove\"}),_vm._v(\" remove\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-zoom-in\"}),_vm._v(\" zoom-in\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-zoom-out\"}),_vm._v(\" zoom-out\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-off\"}),_vm._v(\" off\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-signal\"}),_vm._v(\" signal\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-cog\"}),_vm._v(\" cog\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-trash\"}),_vm._v(\" trash\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-home\"}),_vm._v(\" home\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-file\"}),_vm._v(\" file\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-time\"}),_vm._v(\" time\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-road\"}),_vm._v(\" road\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-download-alt\"}),_vm._v(\" download-alt\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-download\"}),_vm._v(\" download\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-upload\"}),_vm._v(\" upload\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-inbox\"}),_vm._v(\" inbox\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-play-circle\"}),_vm._v(\" play-circle\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-repeat\"}),_vm._v(\" repeat\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-refresh\"}),_vm._v(\" refresh\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-list-alt\"}),_vm._v(\" list-alt\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-lock\"}),_vm._v(\" lock\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-flag\"}),_vm._v(\" flag\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-headphones\"}),_vm._v(\" headphones\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-volume-off\"}),_vm._v(\" volume-off\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-volume-down\"}),_vm._v(\" volume-down\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-volume-up\"}),_vm._v(\" volume-up\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-qrcode\"}),_vm._v(\" qrcode\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-barcode\"}),_vm._v(\" barcode\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-tag\"}),_vm._v(\" tag\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-tags\"}),_vm._v(\" tags\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-book\"}),_vm._v(\" book\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-bookmark\"}),_vm._v(\" bookmark\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-print\"}),_vm._v(\" print\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-camera\"}),_vm._v(\" camera\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-font\"}),_vm._v(\" font\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-bold\"}),_vm._v(\" bold\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-italic\"}),_vm._v(\" italic\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-text-height\"}),_vm._v(\" text-height\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-text-width\"}),_vm._v(\" text-width\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-align-left\"}),_vm._v(\" align-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-align-center\"}),_vm._v(\" align-center\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-align-right\"}),_vm._v(\" align-right\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-align-justify\"}),_vm._v(\" align-justify\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-list\"}),_vm._v(\" list\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-indent-left\"}),_vm._v(\" indent-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-indent-right\"}),_vm._v(\" indent-right\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-facetime-video\"}),_vm._v(\" facetime-video\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-picture\"}),_vm._v(\" picture\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-map-marker\"}),_vm._v(\" map-marker\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-adjust\"}),_vm._v(\" adjust\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-tint\"}),_vm._v(\" tint\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-edit\"}),_vm._v(\" edit\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-share\"}),_vm._v(\" share\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-check\"}),_vm._v(\" check\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-move\"}),_vm._v(\" move\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-step-backward\"}),_vm._v(\" step-backward\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-fast-backward\"}),_vm._v(\" fast-backward\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-backward\"}),_vm._v(\" backward\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-play\"}),_vm._v(\" play\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-pause\"}),_vm._v(\" pause\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-stop\"}),_vm._v(\" stop\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-forward\"}),_vm._v(\" forward\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-fast-forward\"}),_vm._v(\" fast-forward\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-step-forward\"}),_vm._v(\" step-forward\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-eject\"}),_vm._v(\" eject\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-chevron-left\"}),_vm._v(\" chevron-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-chevron-right\"}),_vm._v(\" chevron-right\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-plus-sign\"}),_vm._v(\" plus-sign\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-minus-sign\"}),_vm._v(\" minus-sign\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-remove-sign\"}),_vm._v(\" remove-sign\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-ok-sign\"}),_vm._v(\" ok-sign\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-question-sign\"}),_vm._v(\" question-sign\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-info-sign\"}),_vm._v(\" info-sign\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-screenshot\"}),_vm._v(\" screenshot\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-remove-circle\"}),_vm._v(\" remove-circle\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-ok-circle\"}),_vm._v(\" ok-circle\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-ban-circle\"}),_vm._v(\" ban-circle\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-arrow-left\"}),_vm._v(\" arrow-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-arrow-right\"}),_vm._v(\" arrow-right\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-arrow-up\"}),_vm._v(\" arrow-up\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-arrow-down\"}),_vm._v(\" arrow-down\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-share-alt\"}),_vm._v(\" share-alt\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-resize-full\"}),_vm._v(\" resize-full\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-resize-small\"}),_vm._v(\" resize-small\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-exclamation-sign\"}),_vm._v(\" exclamation-sign\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-gift\"}),_vm._v(\" gift\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-leaf\"}),_vm._v(\" leaf\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-fire\"}),_vm._v(\" fire\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-eye-open\"}),_vm._v(\" eye-open\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-eye-close\"}),_vm._v(\" eye-close\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-warning-sign\"}),_vm._v(\" warning-sign\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-plane\"}),_vm._v(\" plane\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-calendar\"}),_vm._v(\" calendar\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-random\"}),_vm._v(\" random\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-comment\"}),_vm._v(\" comment\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-magnet\"}),_vm._v(\" magnet\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-chevron-up\"}),_vm._v(\" chevron-up\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-chevron-down\"}),_vm._v(\" chevron-down\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-retweet\"}),_vm._v(\" retweet\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-shopping-cart\"}),_vm._v(\" shopping-cart\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-folder-close\"}),_vm._v(\" folder-close\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-folder-open\"}),_vm._v(\" folder-open\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-resize-vertical\"}),_vm._v(\" resize-vertical\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-resize-horizontal\"}),_vm._v(\" resize-horizontal\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-hdd\"}),_vm._v(\" hdd\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-bullhorn\"}),_vm._v(\" bullhorn\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-bell\"}),_vm._v(\" bell\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-certificate\"}),_vm._v(\" certificate\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-thumbs-up\"}),_vm._v(\" thumbs-up\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-thumbs-down\"}),_vm._v(\" thumbs-down\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-hand-right\"}),_vm._v(\" hand-right\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-hand-left\"}),_vm._v(\" hand-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-hand-up\"}),_vm._v(\" hand-up\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-hand-down\"}),_vm._v(\" hand-down\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-circle-arrow-right\"}),_vm._v(\" circle-arrow-right \")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-circle-arrow-left\"}),_vm._v(\" circle-arrow-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-circle-arrow-up\"}),_vm._v(\" circle-arrow-up\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-circle-arrow-down\"}),_vm._v(\" circle-arrow-down\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-globe\"}),_vm._v(\" globe\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-wrench\"}),_vm._v(\" wrench\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-tasks\"}),_vm._v(\" tasks\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-filter\"}),_vm._v(\" filter\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-briefcase\"}),_vm._v(\" briefcase\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-fullscreen\"}),_vm._v(\" fullscreen\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-dashboard\"}),_vm._v(\" dashboard\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-paperclip\"}),_vm._v(\" paperclip\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-heart-empty\"}),_vm._v(\" heart-empty\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-link\"}),_vm._v(\" link\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-phone\"}),_vm._v(\" phone\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-pushpin\"}),_vm._v(\" pushpin\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-usd\"}),_vm._v(\" usd\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-gbp\"}),_vm._v(\" gbp\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sort\"}),_vm._v(\" sort\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sort-by-alphabet\"}),_vm._v(\" sort-by-alphabet\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sort-by-alphabet-alt\"}),_vm._v(\" sort-by-alphabet-alt \")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sort-by-order\"}),_vm._v(\" sort-by-order\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sort-by-order-alt\"}),_vm._v(\" sort-by-order-alt\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sort-by-attributes\"}),_vm._v(\" sort-by-attributes \")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sort-by-attributes-alt\"}),_vm._v(\" sort-by-attributes-alt \")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-unchecked\"}),_vm._v(\" unchecked\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-expand\"}),_vm._v(\" expand\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-collapse-down\"}),_vm._v(\" collapse-down\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-collapse-up\"}),_vm._v(\" collapse-up\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-log-in\"}),_vm._v(\" log-in\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-flash\"}),_vm._v(\" flash\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-log-out\"}),_vm._v(\" log-out\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-new-window\"}),_vm._v(\" new-window\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-record\"}),_vm._v(\" record\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-save\"}),_vm._v(\" save\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-open\"}),_vm._v(\" open\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-saved\"}),_vm._v(\" saved\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-import\"}),_vm._v(\" import\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-export\"}),_vm._v(\" export\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-send\"}),_vm._v(\" send\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-floppy-disk\"}),_vm._v(\" floppy-disk\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-floppy-saved\"}),_vm._v(\" floppy-saved\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-floppy-remove\"}),_vm._v(\" floppy-remove\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-floppy-save\"}),_vm._v(\" floppy-save\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-floppy-open\"}),_vm._v(\" floppy-open\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-credit-card\"}),_vm._v(\" credit-card\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-transfer\"}),_vm._v(\" transfer\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-cutlery\"}),_vm._v(\" cutlery\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-header\"}),_vm._v(\" header\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-compressed\"}),_vm._v(\" compressed\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-earphone\"}),_vm._v(\" earphone\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-phone-alt\"}),_vm._v(\" phone-alt\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-tower\"}),_vm._v(\" tower\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-stats\"}),_vm._v(\" stats\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sd-video\"}),_vm._v(\" sd-video\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-hd-video\"}),_vm._v(\" hd-video\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-subtitles\"}),_vm._v(\" subtitles\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sound-stereo\"}),_vm._v(\" sound-stereo\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sound-dolby\"}),_vm._v(\" sound-dolby\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sound-5-1\"}),_vm._v(\" sound-5-1\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sound-6-1\"}),_vm._v(\" sound-6-1\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sound-7-1\"}),_vm._v(\" sound-7-1\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-copyright-mark\"}),_vm._v(\" copyright-mark\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-registration-mark\"}),_vm._v(\" registration-mark\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-cloud-download\"}),_vm._v(\" cloud-download\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-cloud-upload\"}),_vm._v(\" cloud-upload\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-tree-conifer\"}),_vm._v(\" tree-conifer\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-tree-deciduous\"}),_vm._v(\" tree-deciduous\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-cd\"}),_vm._v(\" cd\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-save-file\"}),_vm._v(\" save-file\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-open-file\"}),_vm._v(\" open-file\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-level-up\"}),_vm._v(\" level-up\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-copy\"}),_vm._v(\" copy\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-paste\"}),_vm._v(\" paste\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-alert\"}),_vm._v(\" alert\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-equalizer\"}),_vm._v(\" equalizer\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-king\"}),_vm._v(\" king\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-queen\"}),_vm._v(\" queen\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-pawn\"}),_vm._v(\" pawn\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-bishop\"}),_vm._v(\" bishop\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-knight\"}),_vm._v(\" knight\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-baby-formula\"}),_vm._v(\" baby-formula\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-tent\"}),_vm._v(\" tent\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-blackboard\"}),_vm._v(\" blackboard\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-bed\"}),_vm._v(\" bed\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-apple\"}),_vm._v(\" apple\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-erase\"}),_vm._v(\" erase\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-hourglass\"}),_vm._v(\" hourglass\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-lamp\"}),_vm._v(\" lamp\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-duplicate\"}),_vm._v(\" duplicate\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-piggy-bank\"}),_vm._v(\" piggy-bank\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-scissors\"}),_vm._v(\" scissors\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-bitcoin\"}),_vm._v(\" bitcoin\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-btc\"}),_vm._v(\" btc\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-xbt\"}),_vm._v(\" xbt\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-yen\"}),_vm._v(\" yen\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-jpy\"}),_vm._v(\" jpy\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-ruble\"}),_vm._v(\" ruble\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-rub\"}),_vm._v(\" rub\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-scale\"}),_vm._v(\" scale\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-ice-lolly\"}),_vm._v(\" ice-lolly\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-ice-lolly-tasted\"}),_vm._v(\" ice-lolly-tasted\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-education\"}),_vm._v(\" education\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-option-horizontal\"}),_vm._v(\" option-horizontal\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-option-vertical\"}),_vm._v(\" option-vertical\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-menu-hamburger\"}),_vm._v(\" menu-hamburger\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-modal-window\"}),_vm._v(\" modal-window\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-oil\"}),_vm._v(\" oil\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-grain\"}),_vm._v(\" grain\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-sunglasses\"}),_vm._v(\" sunglasses\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-text-size\"}),_vm._v(\" text-size\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-text-color\"}),_vm._v(\" text-color\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-text-background\"}),_vm._v(\" text-background\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-object-align-top\"}),_vm._v(\" object-align-top\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-object-align-bottom\"}),_vm._v(\" object-align-bottom \")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-object-align-horizontal\"}),_vm._v(\" object-align-horizontal \")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-object-align-left\"}),_vm._v(\" object-align-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-object-align-vertical\"}),_vm._v(\" object-align-vertical \")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-object-align-right\"}),_vm._v(\" object-align-right \")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-triangle-right\"}),_vm._v(\" triangle-right\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-triangle-left\"}),_vm._v(\" triangle-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-triangle-bottom\"}),_vm._v(\" triangle-bottom\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-triangle-top\"}),_vm._v(\" triangle-top\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-console\"}),_vm._v(\" console\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-superscript\"}),_vm._v(\" superscript\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-subscript\"}),_vm._v(\" subscript\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-menu-left\"}),_vm._v(\" menu-left\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-menu-right\"}),_vm._v(\" menu-right\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-menu-down\"}),_vm._v(\" menu-down\")]),_c('li',[_c('span',{staticClass:\"glyphicon glyphicon-menu-up\"}),_vm._v(\" menu-up\")])])\n}]\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nimport VueRouter, { RouteConfig } from 'vue-router';\n\nimport { store } from '@/store';\n\nimport { NAME as NAME_ACCOUNT } from '@/areas/account/store';\nimport { IS_LOGGED_IN } from '@/areas/account/store/getters';\n\nexport const HOME = 'home';\nexport const ACCOUNT_LOGIN = 'account.login';\nexport const ACCOUNT_CONTACT = 'account.contact';\nexport const ACCOUNT_REGISTER = 'account.register';\nexport const ACCOUNT_RECOVERY = 'account.recovery';\nexport const ENTRY_WIZARD = 'entry.wizard';\n\n/** Route für den Info-Step (Index 0) im Entry-Wizard */\nexport const ENTRY_WIZARD_INFO = 'entry.wizard.info';\n\n/** Druckansicht für einen Fall.\n * @remarks Die Fall-Id wird im Query-Parameter \"CaseId\" mitgegeben\n */\nexport const ENTRY_PRINTOUT = 'entry.printout';\nexport const ENTRY_WIZARD_ENTERPRISE = 'entry.wizard.enterprise';\nexport const ENTRY_WIZARD_CONTACT = 'entry.wizard.contact';\nexport const ENTRY_WIZARD_LOCAL = 'entry.wizard.local';\nexport const ENTRY_WIZARD_CONFIRMATION = 'entry.wizard.confirmation';\nexport const ENTRY_WIZARD_ACTIVITY = 'entry.wizard.activity';\nexport const ENTRY_WIZARD_CENSUS = 'entry.wizard.census';\n\n/** Route für den Info-Screen nach erfolgreichem Abschluss des Falles im Entry-Wizard s*/\nexport const ENTRY_WIZARD_CONFIRMATION_FINISH = 'entry.wizard.confirmation.finish';\n\nexport const DEVELOPMENT = 'development';\nexport const SWISSTOPO = 'SWISSTOPO';\n\nimport Login from '@/areas/account/views/Login.vue';\nimport Contact from '@/areas/account/views/Contact.vue';\nimport Register from '@/areas/account/views/Register.vue';\nimport Recovery from '@/areas/account/views/Recovery.vue';\nimport Wizard from '@/areas/entry/views/Wizard.vue';\nimport WizardStepInfo from '@/areas/entry/components/StepInfo.vue';\nimport WizardPrintout from '@/areas/entry/components/Printout.vue';\nimport WizardStepConfirmation from '@/areas/entry/components/StepConfirmation.vue';\nimport WizardStepCensus from '@/areas/entry/components/StepCensus.vue';\nimport WizardStepActivity from '@/areas/entry/components/StepActivity.vue';\nimport WizardStepContact from '@/areas/entry/components/StepContact.vue';\nimport WizardStepLocal from '@/areas/entry/components/StepLocal.vue';\nimport WizardStepEnterprise from '@/areas/entry/components/StepEnterprise.vue';\nimport WizardStepFinish from '@/areas/entry/components/StepFinish.vue';\nimport Development from '@/areas/development/views/Development.vue';\n\nVue.use(VueRouter);\n\nconst routes: Array = [\n {\n component: Login,\n name: ACCOUNT_LOGIN,\n path: '/login'\n },\n {\n component: Register,\n name: ACCOUNT_REGISTER,\n path: '/register'\n },\n {\n component: Recovery,\n name: ACCOUNT_RECOVERY,\n path: '/recovery'\n },\n {\n component: Contact,\n name: ACCOUNT_CONTACT,\n path: '/contact',\n meta: {\n // Die Kontakt-Angaben sind öffentlich\n requiresAuth: false\n }\n },\n {\n component: Wizard,\n name: ENTRY_WIZARD,\n path: '/wizard',\n meta: {\n requiresAuth: true\n },\n children: [\n { path: '/', redirect: { name: ENTRY_WIZARD_INFO } },\n { path: 'info', name: ENTRY_WIZARD_INFO, component: WizardStepInfo, alias: '' },\n { path: 'contact', name: ENTRY_WIZARD_CONTACT, component: WizardStepContact },\n { path: 'enterprise', name: ENTRY_WIZARD_ENTERPRISE, component: WizardStepEnterprise },\n { path: 'local', name: ENTRY_WIZARD_LOCAL, component: WizardStepLocal },\n {\n path: 'activity',\n name: ENTRY_WIZARD_ACTIVITY,\n component: WizardStepActivity\n },\n {\n path: 'census',\n name: ENTRY_WIZARD_CENSUS,\n component: WizardStepCensus\n },\n {\n path: 'confirm',\n name: ENTRY_WIZARD_CONFIRMATION,\n component: WizardStepConfirmation\n }\n ]\n },\n\n /** Letzter Info-Screen nach dem Abschluss\n * @remarks Zu diesem Zeitpunkt ist der externe Benutzer bereits ausgeloggt.\n * @devdoc Ausserhalb des Wizards, weil kein eigener Step und die Wizard-Daten nicht benötigt werden\n */\n {\n path: 'wizard/finish',\n name: ENTRY_WIZARD_CONFIRMATION_FINISH,\n component: WizardStepFinish,\n meta: {\n requiresAuth: false,\n requiresMenu: false\n }\n },\n\n /** Druck-Ansicht auf dem Confirm-Step\n * @devdoc Ausserhalb des Wizards, weil kein eigener Step (Lädt die benötigten Daten selbständig)\n */\n {\n path: '/printout',\n name: ENTRY_PRINTOUT,\n component: WizardPrintout,\n meta: {\n requiresMenu: false,\n requiresServiceNavigation: false\n }\n },\n\n { name: HOME, path: '', redirect: { name: ENTRY_WIZARD } },\n { path: '*', redirect: { name: ENTRY_WIZARD } }\n];\n\nif (process.env.NODE_ENV === 'development') {\n //Testseite für Komponenten, ist nur zugänglich wen im Modus \"development\" gebuildet wird.\n routes.push({\n component: Development,\n name: DEVELOPMENT,\n path: '/development',\n meta: {\n requiresAuth: false\n }\n });\n}\n\nconst router = new VueRouter({\n routes\n});\n\nrouter.beforeEach(async (to, from, next) => {\n if (to.matched.some(record => record.meta.requiresAuth)) {\n console.debug('index::to', to);\n\n //HINT: Die Prüfung auf den Logged-In-Status wäre korrekter, wenn\n //das auth-Cookie geprüft würde, statt auf IS_LOGGED_IN im Account-Store\n //Damit würde beim Aufruf aus dem klassischen Backend für BFS-Benutzer\n //das Redirect über den Login-Screen hier entfallen, da diese ja bereits\n //eingeloggt sind (Auth-Cookie schon vorhanden)\n //Der Einfachheit halber wird dies hier jedoch aktuell nicht umgesetzt\n const loggedIn = store.getters[`${NAME_ACCOUNT}/${IS_LOGGED_IN}`];\n //Ist ein Login für die Ziel-URL nötig?\n if (!loggedIn) {\n //Das notwendige Login vornehmen und dir Rücksprung-Adresse als Query-Parameter ergänzen\n console.log('not logged in');\n\n //Die bestehende Query übernehmen und mit der returnUrl ergänzen\n const returningQuery = to.query;\n returningQuery['returnUrl'] = to.path;\n console.log('returningQuery', to.path);\n next({\n name: ACCOUNT_LOGIN,\n query: returningQuery\n });\n } else {\n next();\n }\n } else {\n next();\n }\n});\n\nexport default router;\n","\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\n\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_RESOURCE } from '@/store/modules/resource';\nconst resourceModul = namespace(NAME_RESOURCE);\nimport { SET_LANGUAGE } from '@/store/modules/resource/actions';\nimport { GET_LANGUAGE } from '@/store/modules/resource/getters';\n\nimport { NAME as NAME_ACCOUNT } from '@/areas/account/store';\nconst accountModul = namespace(NAME_ACCOUNT);\n\nimport { NAME as NAME_ENTRY } from '@/areas/entry/store';\nconst entryModul = namespace(NAME_ENTRY);\n\nimport { NAME as NAME_ENVIRONMENT } from '@/store/modules/environment';\nconst environmentModul = namespace(NAME_ENVIRONMENT);\n\nimport { VUE_APP_ENVIRONMENT } from '@/store/modules/environment/getters';\nimport { CASE_ID } from '@/areas/entry/store/getters';\nimport { IS_LOGGED_IN } from '@/areas/account/store/getters';\nimport { LOGOUT } from '@/areas/account/store/actions';\nimport { ACCOUNT_LOGIN, ACCOUNT_REGISTER, ACCOUNT_CONTACT, HOME, ENTRY_WIZARD_INFO } from '@/router';\n\n@Component({\n components: {}\n})\nexport default class Header extends Vue {\n private ACCOUNT_LOGIN = ACCOUNT_LOGIN;\n private ACCOUNT_REGISTER = ACCOUNT_REGISTER;\n private ACCOUNT_CONTACT = ACCOUNT_CONTACT;\n private ENTRY_WIZARD_INFO = ENTRY_WIZARD_INFO;\n private HOME = HOME;\n\n @resourceModul.Action(SET_LANGUAGE) setLanguage: Function;\n @accountModul.Action(LOGOUT) logout!: Function;\n @resourceModul.Getter(GET_LANGUAGE) language!: string;\n @accountModul.Getter(IS_LOGGED_IN) loggedIn!: boolean;\n @entryModul.Getter(CASE_ID) caseId!: bigint;\n @environmentModul.Getter(VUE_APP_ENVIRONMENT) vueAppEnvironment!: string;\n\n /** Führt ein Logout an der Anwendung aus\n * @remarks Für allfällig bearbeitete Daten im Wizard wird vor dem Logout noch\n * ein Speichervorgang ausgelöst.\n */\n private handleLogout() {\n //Hinweis: Die \"logout\" Route existiert nicht und ergibt eine Warnung in der Konsole\n //Die Route wird hier vor dem effentiven Logout aufgerufen, um noch vorher\n //das Speichern (via \"beforeDestroy\") im Wizard auszulösen.\n //Nach dem effektiven Logout mit dem clientseitigen\n //Entfernen der Falldaten, wäre das Speichern im Wizard nicht mehr möglich.\n this.$router.push({ name: 'logout' }).then(() => {\n this.logout().then(() => {\n this.$router.push({ name: ACCOUNT_LOGIN });\n console.info('The user has logged out');\n });\n });\n }\n\n private navigate() {\n console.debug('Header.vue::navigate');\n this.$router.push({ name: ENTRY_WIZARD_INFO });\n }\n\n private get DeCss() {\n return this.language === 'de' ? 'active' : '';\n }\n private get FrCss() {\n return this.language === 'fr' ? 'active' : '';\n }\n private get ItCss() {\n return this.language === 'it' ? 'active' : '';\n }\n\n /** Gibt an, ob die Service-Navigation (inkl. Sprachwahl) benötigt wird\n * @remarks Die Service-Navigation (inkl. Sprachwahl) wird grundsätzlich immer dargestellt.\n * Via optionales Property \"requiresServiceNavigation\" in den Metadaten der Route kann das\n * jedoch explizit übersteuert werden.\n */\n isServiceNavigationRequired(): boolean {\n //Explizit definiert?\n if (\n this.$route.meta?.requiresServiceNavigation === true ||\n this.$route.meta?.requiresServiceNavigation === false\n ) {\n console.debug('requiresServiceNavigation', this.$route.meta?.requiresServiceNavigation);\n return this.$route.meta?.requiresServiceNavigation;\n }\n //Sonst den Default verwenden\n return true;\n }\n\n private get AppVersion() {\n return process.env.VUE_APP_VERSION;\n }\n\n /** Liefert das App-Environemnt\n * @remarks Folgende Werte werden typischerweise angezeigt:\n * \"devel\" oder \"tool\" wenn bei uns auf dem \"PL\" oder Devel-Testsystem\n * \"reference\" wenn installiert auf dem Kunden-Refernzsystem\n * \"acceptance\" wenn installiert auf dem Kunden-Abnahmesystem\n * \"production\" wenn installiert auf dem produktiven System\n * (\"production\" wird in der Anzeige unterdrückt werden)\n */\n private get AppEnviroment() {\n return this.vueAppEnvironment;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=313092cb&scoped=true\"\nimport script from \"./Header.vue?vue&type=script&lang=ts\"\nexport * from \"./Header.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=313092cb&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"313092cb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('header',{staticClass:\"noselect\"},[(this.isServiceNavigationRequired())?_c('div',{staticClass:\"clearfix hidden-print\"},[_c('section',{staticClass:\"nav-services clearfix\"},[_c('h2',{staticClass:\"sr-only\"},[_vm._v(\"Sprachwahl\")]),_c('nav',{staticClass:\"nav-lang\"},[_c('ul',[_c('li',[_c('a',{class:_vm.DeCss,on:{\"click\":function($event){return _vm.setLanguage('de')}}},[_vm._v(\"DE\")])]),_c('li',[_c('a',{class:_vm.FrCss,on:{\"click\":function($event){return _vm.setLanguage('fr')}}},[_vm._v(\"FR\")])]),_c('li',[_c('a',{class:_vm.ItCss,on:{\"click\":function($event){return _vm.setLanguage('it')}}},[_vm._v(\"IT\")])])])]),_c('nav',{staticClass:\"nav-service\"},[_c('ul',[_c('li',[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_CONTACT }}},[_vm._v(\" \"+_vm._s(_vm.$t('nav_contact'))+\" \")])],1),(_vm.loggedIn)?_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.handleLogout}},[_vm._v(\" \"+_vm._s(_vm.$t('nav_logout'))+\" \")])]):_vm._e(),(!_vm.loggedIn)?_c('li',[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_LOGIN }}},[_vm._v(\" \"+_vm._s(_vm.$t('nav_login'))+\" \")])],1):_vm._e(),(!_vm.loggedIn)?_c('li',[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_REGISTER }}},[_vm._v(\" \"+_vm._s(_vm.$t('nav_register'))+\" \")])],1):_vm._e()])])])]):_vm._e(),_c('div',{staticClass:\"clearfix mod mod-logo hidden-print\"},[_c('router-link',{attrs:{\"to\":{ name: _vm.ENTRY_WIZARD_INFO }},scopedSlots:_vm._u([{key:\"default\",fn:function({ href, navigate }){return [_c('a',{staticClass:\"brand hidden-xs\",attrs:{\"href\":href,\"id\":\"logo\",\"title\":\"Startseite\"},on:{\"click\":navigate}},[_c('img',{attrs:{\"src\":require(\"../../public/swiss-styleguide/img/logo-CH.svg\")}}),_c('h1',[_vm._v(_vm._s(_vm.$t('allg_bfs_name')))])])]}}])}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.AppEnviroment !== 'production'),expression:\"AppEnviroment !== 'production'\"}],staticClass:\"environmentinfo pull-left\"},[_vm._v(_vm._s(_vm.AppEnviroment))])],1),_c('div',{staticClass:\"clearfix mod mod-logo visible-print\"},[_c('span',{staticClass:\"brand hidden-xs\",attrs:{\"id\":\"logo\"}},[_c('img',{attrs:{\"src\":require(\"../../public/swiss-styleguide/img/logo-CH.svg\")}}),_c('h1',[_vm._v(_vm._s(_vm.$t('allg_bfs_name')))])]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.AppEnviroment !== 'production'),expression:\"AppEnviroment !== 'production'\"}],staticClass:\"environmentinfo pull-left\"},[_vm._v(_vm._s(_vm.AppEnviroment))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Watch } from 'vue-property-decorator';\n\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_HEADERNOTIFICATION } from '@/store/modules/headerNotification';\nconst headerNotificationModul = namespace(NAME_HEADERNOTIFICATION);\nimport {\n GET_VISIBLE,\n GET_TYPE,\n GET_TEXT,\n GET_CLOSEDELAY,\n GET_CLOSEAFTERDELAY,\n GET_DISMISSIBLE\n} from '@/store/modules/headerNotification/getters';\n\nimport { CLOSE } from '@/store/modules/headerNotification/actions';\n\n@Component\nexport default class HeaderNotifcation extends Vue {\n @headerNotificationModul.Getter(GET_VISIBLE) alertVisible!: boolean;\n @headerNotificationModul.Getter(GET_TYPE) alertType!: string;\n @headerNotificationModul.Getter(GET_TEXT) alertText!: string;\n @headerNotificationModul.Getter(GET_CLOSEDELAY) closeDelay!: number;\n @headerNotificationModul.Getter(GET_CLOSEAFTERDELAY) closeAfterDelay!: boolean;\n @headerNotificationModul.Getter(GET_DISMISSIBLE) isDismissible!: boolean;\n\n @headerNotificationModul.Action(CLOSE) close!: Function;\n\n private get cssClass() {\n const baseCss = 'alert';\n\n if (this.alertType === 'success') {\n return baseCss + ' alert-success';\n } else if (this.alertType === 'info') {\n return baseCss + ' alert-info';\n } else if (this.alertType === 'warning') {\n return baseCss + ' alert-warning';\n } else if (this.alertType === 'danger') {\n return baseCss + ' alert-danger';\n }\n\n return baseCss;\n }\n\n @Watch('alertVisible')\n onVisibleChangedOpen() {\n if (this.alertVisible) {\n if (this.closeAfterDelay && this.closeDelay > 0) {\n setTimeout(() => {\n this.close();\n }, this.closeDelay);\n }\n }\n }\n\n alertTextLines(): string[] {\n return this.alertText.split('
');\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNotifcation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNotifcation.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./HeaderNotifcation.vue?vue&type=template&id=5b7cabdd&scoped=true\"\nimport script from \"./HeaderNotifcation.vue?vue&type=script&lang=ts\"\nexport * from \"./HeaderNotifcation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./HeaderNotifcation.vue?vue&type=style&index=0&id=5b7cabdd&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5b7cabdd\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"header-notification\"},[(_vm.alertVisible)?_c('div',{class:_vm.cssClass,attrs:{\"role\":\"alert\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.alertType)+\":\")]),_vm._l((this.alertTextLines()),function(element,index){return _c('span',{key:element},[(index !== 0)?_c('br'):_vm._e(),_vm._v(\" \"+_vm._s(element)+\" \")])}),(_vm.isDismissible)?_c('span',{staticClass:\"glyphicon pull-right glyphicon-remove\",on:{\"click\":_vm.close}}):_vm._e()],2):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Watch } from 'vue-property-decorator';\n\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_LOADINGSPINNER } from '@/store/modules/loadingSpinner';\nconst loadingSpinnerModul = namespace(NAME_LOADINGSPINNER);\nimport { GET_VISIBLE, GET_TEXT, GET_DELAY } from '@/store/modules/loadingSpinner/getters';\nimport { HIDE } from '@/store/modules/loadingSpinner/actions';\n\n@Component\nexport default class LoadingSpinner extends Vue {\n @loadingSpinnerModul.Getter(GET_VISIBLE) visible!: boolean;\n @loadingSpinnerModul.Getter(GET_TEXT) text!: string;\n @loadingSpinnerModul.Getter(GET_DELAY) delay!: number;\n @loadingSpinnerModul.Action(HIDE) hide!: Function;\n\n private timeOutChanges = [];\n private effectiveVisible = false;\n\n private get cssClass() {\n const baseCss = 'waitOverlay';\n if (this.effectiveVisible) {\n return baseCss + ' loading';\n }\n return baseCss;\n }\n\n @Watch('visible')\n onVisibleChanged(newVal) {\n if (newVal) {\n this.timeOutChanges.push(\n setTimeout(() => {\n this.effectiveVisible = true;\n }, this.delay)\n );\n return;\n }\n // clear the timeoutFunction if not called\n if (this.timeOutChanges && this.timeOutChanges.length > 0) {\n for (let index = 0, length = this.timeOutChanges.length; index < length; ++index) {\n clearTimeout(this.timeOutChanges[index]);\n }\n }\n\n this.effectiveVisible = false;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./LoadingSpinner.vue?vue&type=template&id=31339858\"\nimport script from \"./LoadingSpinner.vue?vue&type=script&lang=ts\"\nexport * from \"./LoadingSpinner.vue?vue&type=script&lang=ts\"\nimport style0 from \"./LoadingSpinner.vue?vue&type=style&index=0&id=31339858&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:_vm.cssClass},[_c('span',{staticClass:\"loader-text\"},[_vm._v(_vm._s(_vm.text))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\n\nimport { ACCOUNT_LOGIN, ACCOUNT_CONTACT } from '@/router';\n@Component\nexport default class Navigation extends Vue {\n private ACCOUNT_LOGIN = ACCOUNT_LOGIN;\n private ACCOUNT_CONTACT = ACCOUNT_CONTACT;\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=213bf626&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=ts\"\nexport * from \"./Navigation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=213bf626&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"213bf626\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('nav',{staticClass:\"nav-main yamm navbar\",attrs:{\"id\":\"main-navigation\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\n\nimport { ACCOUNT_LOGIN, ACCOUNT_REGISTER } from '@/router';\n@Component\nexport default class LeftNavigation extends Vue {\n private ACCOUNT_LOGIN = ACCOUNT_LOGIN;\n private ACCOUNT_REGISTER = ACCOUNT_REGISTER;\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftNavigation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftNavigation.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./LeftNavigation.vue?vue&type=template&id=35cf0b58&scoped=true\"\nimport script from \"./LeftNavigation.vue?vue&type=script&lang=ts\"\nexport * from \"./LeftNavigation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./LeftNavigation.vue?vue&type=style&index=0&id=35cf0b58&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35cf0b58\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"drilldown\"},[_c('div',{staticClass:\"drilldown-container\"},[_c('nav',{staticClass:\"nav-page-list\",attrs:{\"id\":\"secondary-navigation\"}},[_c('ul',[_c('li',{staticClass:\"list-emphasis\"},[_c('span',[_vm._v(_vm._s(_vm.$t('allg_application_name')))]),_c('ul',[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_LOGIN }},scopedSlots:_vm._u([{key:\"default\",fn:function({ href, navigate, isActive, isExactActive }){return [_c('li',{class:[\n isActive && 'active',\n isExactActive && 'router-link-exact-active',\n 'dropdown yamm-fw'\n ]},[_c('a',{attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(_vm._s(_vm.$t('nav_login')))])])]}}])}),_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_REGISTER }},scopedSlots:_vm._u([{key:\"default\",fn:function({ href, navigate, isActive, isExactActive }){return [_c('li',{class:[\n isActive && 'active',\n isExactActive && 'router-link-exact-active',\n 'dropdown yamm-fw'\n ]},[_c('a',{attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(_vm._s(_vm.$t('nav_register')))])])]}}])})],1)])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_SAVEINDICATOR } from '@/store/modules/saveIndicator';\nconst saveIndicatorModul = namespace(NAME_SAVEINDICATOR);\nimport { GET_ACTIVE } from '@/store/modules/saveIndicator/getters';\n\nimport { Component, Prop, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class SaveIndicator extends Vue {\n @saveIndicatorModul.Getter(GET_ACTIVE) isActive!: boolean;\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SaveIndicator.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SaveIndicator.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SaveIndicator.vue?vue&type=template&id=08d7e014&scoped=true\"\nimport script from \"./SaveIndicator.vue?vue&type=script&lang=ts\"\nexport * from \"./SaveIndicator.vue?vue&type=script&lang=ts\"\nimport style0 from \"./SaveIndicator.vue?vue&type=style&index=0&id=08d7e014&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"08d7e014\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{class:{ 'save-indicator': true, 'save-indicator-active': _vm.isActive }},[_vm._v(\" \"+_vm._s(_vm.$t('allg_saving'))+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n//Imports für dieses Modul\nimport Vue from 'vue';\nimport { namespace } from 'vuex-class';\nimport { Component } from 'vue-property-decorator';\n\nimport { NAME as NAME_ACCOUNT } from '@/areas/account/store';\nconst accountModul = namespace(NAME_ACCOUNT);\nimport {\n AUTHENTICATED_USERNAME,\n AUTHORIZED_ROLES,\n IS_EXTERNAL_USER,\n IS_LOGGED_IN\n} from '@/areas/account/store/getters';\n\nimport { NAME as NAME_ENTRY } from '@/areas/entry/store';\nconst entryModul = namespace(NAME_ENTRY);\nimport { CASE_ID, CASE_UID, CASE_NAME } from '@/areas/entry/store/getters';\nimport SaveIndicator from './SaveIndicator.vue';\n\nimport { ACCOUNT_CONTACT } from '@/router';\n\n@Component({\n components: { SaveIndicator }\n})\nexport default class Footer extends Vue {\n protected WEBFORMS_BASE_URL: string | undefined = process.env.VUE_APP_WEBFORMS_BACKEND_URL;\n\n constructor() {\n super();\n //Hint den Fallback zentral lösen\n if (!this.WEBFORMS_BASE_URL) {\n //Fallback für den Fall dass keine Backend-URL verfügbar ist\n const url = window.location.href;\n const searchParam = 'redesign/';\n const length = url.toLowerCase().indexOf(searchParam) - 1; //ohne 'redesign/' Pfad\n this.WEBFORMS_BASE_URL = url.substr(0, length);\n console.debug('Footer::constructor (with fallback URL)', this.WEBFORMS_BASE_URL);\n } else {\n console.debug('Footer::constructor', this.WEBFORMS_BASE_URL);\n }\n }\n\n @accountModul.Getter(AUTHENTICATED_USERNAME) authenticatedUsername!: string;\n @accountModul.Getter(IS_LOGGED_IN) isLoggedIn!: string;\n @accountModul.Getter(AUTHORIZED_ROLES) authorizedRoles!: string[];\n @accountModul.Getter(IS_EXTERNAL_USER) isExternalUser!: boolean;\n @entryModul.Getter(CASE_ID) caseId!: bigint;\n @entryModul.Getter(CASE_UID) caseUid!: string;\n @entryModul.Getter(CASE_NAME) caseName!: string;\n\n /** @devdoc Zwingend nötige Definition auf der Instanz, damit dieser Wert für das Rendering verfügbar ist */\n private ACCOUNT_CONTACT = ACCOUNT_CONTACT;\n\n private get AppVersion() {\n return process.env.VUE_APP_VERSION ? process.env.VUE_APP_VERSION : 'TestAppVersion';\n }\n\n /** Angaben zum Anwendungs-Status, im Footer\n * @remarks Wird aktuell für die Angabe der UID des aktuell dargestellten Falles im Entry-Wizard verwendet\n */\n private get AppState() {\n return this.caseUid;\n }\n\n /** URL für die Bearbeitung eines Falles im BFS-Backend\n * @remarks Wird nur im Entry-Wizard verwendet\n */\n private get BackendCaseDetailUrl() {\n /** Ein Fall wird im Wizard von einem BFS-Mitarbeiter bearbeitet? */\n if (this.caseId && !this.isExternalUser && this.isLoggedIn) {\n return this.WEBFORMS_BASE_URL + '/survey/ViewCase.aspx?CaseId=' + this.caseId;\n }\n return null;\n }\n\n /** Detail-Angaben zum Anwendungs-Status, im Footer als Tooltip zum Anwendungsstatus\n * @remarks Wird aktuell für Detail-Angaben zum aktuell dargestellten Fall im Entry-Wizard verwendet\n */\n private get AppStateDetails() {\n if (this.caseId) {\n return this.caseUid + ' (' + this.caseName + '), ' + this.$t('case_id') + ':' + this.caseId;\n }\n return '';\n }\n\n /** Angaben zum aktuell eingeloggten Benutzer, im Footer als Tooltip zum Anwendungsnamen\ns */\n private get UserInfo() {\n return (\n this.$t('allg_user_login_id') + ': ' + this.authenticatedUsername + ' (Role: ' + this.authorizedRoles + ')'\n );\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=dc8c8916&scoped=true\"\nimport script from \"./Footer.vue?vue&type=script&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=dc8c8916&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dc8c8916\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('footer',{staticClass:\"footer\"},[_c('div',{staticClass:\"container\"},[_c('h2',{staticClass:\"sr-only\"},[_vm._v(\" Footer \")]),_c('div',{staticClass:\"container-fluid footer-service\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('allg_bfs_name'))+\"   –   \"),_c('span',{attrs:{\"title\":_vm.UserInfo}},[_vm._v(_vm._s(_vm.$t('allg_application_name'))+\" \"+_vm._s(_vm.AppVersion))]),(_vm.AppState)?_c('span',{staticClass:\"footer-spaced-item\",attrs:{\"title\":_vm.AppStateDetails}},[_vm._v(_vm._s(_vm.AppState))]):_vm._e(),_c('SaveIndicator')],1),_c('nav',[_c('ul',[(_vm.BackendCaseDetailUrl)?_c('li',[_c('a',{staticClass:\"text-nowrap\",attrs:{\"href\":_vm.BackendCaseDetailUrl}},[_vm._v(_vm._s(_vm.$t('nav_backend')))])]):_vm._e(),_c('li',[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_CONTACT }}},[_vm._v(\" \"+_vm._s(_vm.$t('nav_contact'))+\" \")])],1),_c('li',[_c('a',{attrs:{\"href\":\"https://www.bfs.admin.ch/bfs/de/home/bfs/bundesamt-statistik/rechtliche-hinweise.html\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('nav_legal')))])])])])]),_c('div',{staticClass:\"footer-address\"},[_c('span',{staticClass:\"hidden-xs\"},[_vm._v(_vm._s(_vm.$t('allg_bfs_name'))+\"   –   \"),_c('span',{attrs:{\"title\":_vm.UserInfo}},[_vm._v(_vm._s(_vm.$t('allg_application_name'))+\" \"+_vm._s(_vm.AppVersion))]),(_vm.AppState)?_c('span',{staticClass:\"footer-spaced-item\",attrs:{\"title\":_vm.AppStateDetails}},[_vm._v(_vm._s(_vm.AppState))]):_vm._e(),_c('SaveIndicator')],1),_c('nav',{staticClass:\"hidden-xs pull-right\"},[_c('ul',[(_vm.BackendCaseDetailUrl)?_c('li',[_c('a',{staticClass:\"text-nowrap\",attrs:{\"href\":_vm.BackendCaseDetailUrl}},[_vm._v(_vm._s(_vm.$t('nav_backend')))])]):_vm._e(),_c('li',[_c('router-link',{attrs:{\"to\":{ name: _vm.ACCOUNT_CONTACT }}},[_vm._v(\" \"+_vm._s(_vm.$t('nav_contact'))+\" \")])],1),_c('li',[_c('a',{attrs:{\"href\":this.$t('legal_link_url'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('nav_legal'))+\" \")])])])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\n\nimport { namespace } from 'vuex-class';\nimport { NAME as NAME_FOOTERBAR } from '@/store/modules/footerBar';\nconst footerBarModul = namespace(NAME_FOOTERBAR);\nimport {\n IS_BAR_VISIBLE,\n GET_TEXT,\n GET_CLOSEDELAY,\n GET_CLOSEAFTERDELAY,\n GET_DISMISSIBLE,\n GET_BUTTONLEFT,\n GET_BUTTONCENTER,\n GET_BUTTONRIGHT\n} from '@/store/modules/footerBar/getters';\nimport { IFooterButton } from '@/store/modules/footerBar/state';\n\n@Component\nexport default class FooterButton extends Vue {\n @footerBarModul.Getter(IS_BAR_VISIBLE) isBarVisible!: boolean;\n @footerBarModul.Getter(GET_TEXT) label!: string;\n @footerBarModul.Getter(GET_CLOSEDELAY) closeDelay!: number;\n @footerBarModul.Getter(GET_CLOSEAFTERDELAY) closeAfterDelay!: boolean;\n @footerBarModul.Getter(GET_DISMISSIBLE) isDismissible!: boolean;\n @footerBarModul.Getter(GET_BUTTONLEFT) buttonLeft!: Array;\n @footerBarModul.Getter(GET_BUTTONCENTER) buttonCenter!: Array;\n @footerBarModul.Getter(GET_BUTTONRIGHT) buttonRight!: Array;\n\n footerClass(type: string) {\n return 'btn btn-' + type;\n }\n\n isDisabled(button: IFooterButton) {\n return button.disabled === true;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FooterBar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FooterBar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FooterBar.vue?vue&type=template&id=d4188b90&scoped=true\"\nimport script from \"./FooterBar.vue?vue&type=script&lang=ts\"\nexport * from \"./FooterBar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FooterBar.vue?vue&type=style&index=0&id=d4188b90&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d4188b90\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isBarVisible)?_c('div',{staticClass:\"footer sticky-footer\",attrs:{\"id\":\"sticky-footer\"}},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xs-3\"},[_c('div',{staticClass:\"text-left\"},[_vm._l((_vm.buttonLeft),function(button){return [(button.label && button.label.length > 0 && button.visible !== false)?_c('button',{key:button.label,class:_vm.footerClass(button.type),attrs:{\"type\":\"button\",\"disabled\":_vm.isDisabled(button),\"title\":_vm.isDisabled(button) ? _vm.$t('btn_continue_disabled_title') : ''},on:{\"click\":function($event){return button.onClick(button)}}},[_vm._v(\" \"+_vm._s(_vm.$t(button.label))+\" \")]):_vm._e()]})],2)]),_c('div',{staticClass:\"col-xs-6\"},[_c('div',{staticClass:\"text-center\"},[_vm._l((_vm.buttonCenter),function(button){return [(button.label && button.label.length > 0 && button.visible !== false)?_c('button',{key:button.label,class:_vm.footerClass(button.type),attrs:{\"type\":\"button\",\"disabled\":_vm.isDisabled(button),\"title\":_vm.isDisabled(button) ? _vm.$t('btn_continue_disabled_title') : ''},on:{\"click\":function($event){return button.onClick(button)}}},[_vm._v(\" \"+_vm._s(_vm.$t(button.label))+\" \")]):_vm._e()]})],2)]),_c('div',{staticClass:\"col-xs-3\"},[_c('div',{staticClass:\"text-right\"},[_vm._l((_vm.buttonRight),function(button){return [(button.label && button.label.length > 0 && button.visible !== false)?_c('button',{key:button.label,class:_vm.footerClass(button.type),attrs:{\"type\":\"button\",\"disabled\":_vm.isDisabled(button),\"title\":_vm.isDisabled(button) ? _vm.$t('btn_continue_disabled_title') : ''},on:{\"click\":function($event){return button.onClick(button)}}},[_vm._v(\" \"+_vm._s(_vm.$t(button.label))+\" \")]):_vm._e()]})],2)])])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component, Watch } from 'vue-property-decorator';\n\nimport { namespace } from 'vuex-class';\nimport { NAME } from '@/areas/account/store';\nconst accountModul = namespace(NAME);\nimport { IS_LOGGED_IN } from '@/areas/account/store/getters';\n\nimport Header from './Header.vue';\nimport store from '@/store';\nimport HeaderNotifcation from './HeaderNotifcation.vue';\nimport { CLOSE } from '@/store/modules/headerNotification/actions';\nimport LoadingSpinner from './LoadingSpinner.vue';\nimport Navigation from './Navigation.vue';\nimport LeftNavigation from './LeftNavigation.vue';\nimport Footer from './Footer.vue';\nimport FooterBar from './FooterBar.vue';\n\n@Component({\n components: {\n Header,\n HeaderNotifcation,\n LoadingSpinner,\n Navigation,\n LeftNavigation,\n Footer,\n FooterBar\n }\n})\n\n/** Definiert das Gesamt-Layout der Anwendung\n * @remarks stellt auch des Menu als LeftNavigation dar, wenn erforderlich.\n */\nexport default class Layout extends Vue {\n @accountModul.Getter(IS_LOGGED_IN) loggedIn!: boolean;\n\n /** Gibt an, ob das Anwendungs-Menu (für die Navigation) benötigt wird\n * @remarks Das Menu wird grundsätzlich nur im ausgeloggten Zustand dargestellt.\n * Via optionales Property \"requiresMenu\" in den Metadaten der Route kann das jedoch explizit übersteuert werden.\n */\n isMenuRequired(): boolean {\n this.$route.name === 'finish';\n\n //Explizit definiert?\n if (this.$route.meta?.requiresMenu === true || this.$route.meta?.requiresMenu === false) {\n console.debug('requiresMenu', this.$route.meta?.requiresMenu);\n return this.$route.meta?.requiresMenu;\n }\n //Sonst den Login-Zustand verwenden\n return !this.loggedIn === true;\n }\n\n /** Gibt an, ob die Service-Navigation (inkl. Sprachwahl) benötigt wird\n * @remarks Die Service-Navigation (inkl. Sprachwahl) wird grundsätzlich immer dargestellt.\n * Via optionales Property \"requiresServiceNavigation\" in den Metadaten der Route kann das\n * jedoch explizit übersteuert werden.\n */\n isServieNavigationRequired(): boolean {\n //Explizit definiert?\n if (\n this.$route.meta?.requiresServiceNavigation === true ||\n this.$route.meta?.requiresServiceNavigation === false\n ) {\n console.debug('requiresServiceNavigation', this.$route.meta?.requiresServiceNavigation);\n return this.$route.meta?.requiresServiceNavigation;\n }\n //Sonst den Default verwenden\n return true;\n }\n\n /** Behandelt die Änderung der Route\n * @remarks Fehlermeldungen sollen nur solange sichtbar sein, wie der Benutzer auf der gleichen \"Page\" bleibt.\n */\n @Watch('$route', { deep: true, immediate: true })\n onRouteChanged(to, from) {\n console.debug('Layout.vue::onRouteChanged to', to);\n\n //Allfällige Fehlermeldungen im Header entfernen\n store.dispatch('headerNotification/' + CLOSE, { root: true });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=3cab6d16\"\nimport script from \"./Layout.vue?vue&type=script&lang=ts\"\nexport * from \"./Layout.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"container container-main\"},[_c('Header'),_c('Navigation'),_c('LoadingSpinner'),_c('PortalTarget',{attrs:{\"name\":\"modals\"}}),_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},[(this.isMenuRequired())?_c('div',{staticClass:\"col-sm-4 col-md-3 col-lg-2\"},[_c('LeftNavigation')],1):_vm._e(),_c('div',{class:{\n 'col-sm-8 col-md-9 col-lg-10': this.isMenuRequired(),\n 'col-sm-12': !this.isMenuRequired()\n },attrs:{\"id\":\"content\"}},[_c('HeaderNotifcation'),_c('router-view')],1)])]),_c('FooterBar'),_c('Footer')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nimport { NAME as NAME_RESOURCE } from '@/store/modules/resource';\nconst resourceModul = namespace(NAME_RESOURCE);\nimport { INITIALIZE_LANGUAGE } from '@/store/modules/resource/actions';\n\nimport { NAME as NAME_VALIDATION } from '@/store/modules/validation';\nconst validationModul = namespace(NAME_VALIDATION);\nimport { LOAD_VALIDATION } from '@/store/modules/validation/actions';\n\nimport { NAME as NAME_ACCOUNT } from '@/areas/account/store';\nconst accountModul = namespace(NAME_ACCOUNT);\nimport { LOGEDIN_CHECK } from '@/areas/account/store/actions';\n\nimport { NAME as NAME_ENVIRONMENT } from '@/store/modules/environment';\nconst environmentModul = namespace(NAME_ENVIRONMENT);\nimport { GET_ENVIRONMENT } from '@/store/modules/environment/actions';\n\nimport Layout from './components/Layout.vue';\n@Component({\n components: {\n Layout\n }\n})\nexport default class App extends Vue {\n @resourceModul.Action(INITIALIZE_LANGUAGE) initializeLanguage!: Function;\n @validationModul.Action(LOAD_VALIDATION) loadValidation!: Function;\n @accountModul.Action(LOGEDIN_CHECK) logedinCheck!: Function;\n @environmentModul.Action(GET_ENVIRONMENT) getEnvironment!: Function;\n\n async created() {\n console.log('App.vue::created');\n await this.getEnvironment();\n await this.logedinCheck();\n this.loadValidation();\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=f84e2b4a\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=f84e2b4a&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Layout')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//Element Fokusieren, nachdem dies eingefügt wurde.\nexport default {\n // When the bound element is inserted into the DOM...\n inserted: function (element) {\n // Focus the element\n if (element && element.__vue__ && element.__vue__.focus) {\n const func = element.__vue__.focus;\n //Focus mit Zeitverzögerung aufrufen, weil der Focus erst zu einem Zeitpunkt nach dem Rendern gesetzt werden kann\n setTimeout(\n elem => {\n //Hier die Prüfung auf Existenz und Zustand wiederholen, da inzwischen das Element wieder aus dem DOM entfernt oder verändert worden sein könnte.\n if (elem.offsetParent !== null) {\n func();\n }\n },\n 200,\n element\n );\n }\n // Focus on Html-Element\n if (element && element.focus) {\n element.focus();\n }\n }\n};\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport i18n from \"./plugins/i18n\";\nimport axios from \"axios\";\n\n//-------------------------------\n//----------- axios -------------\n//-------------------------------\nimport {\n NEW_ERRORMESSAGES,\n CLOSE,\n} from \"./store/modules/headerNotification/actions\";\nimport { HIDE } from \"./store/modules/loadingSpinner/actions\";\nimport { LOGOUT } from \"@/areas/account/store/actions\";\nimport { ACCOUNT_LOGIN } from \"@/router\";\n\n/** Behandlung von Requests zu axios-Calls\n */\naxios.interceptors.request.use(\n async (request) => {\n //Allfällige Fehlermeldung eines früheren Requests entfernen\n store.dispatch(\"headerNotification/\" + CLOSE, { root: true });\n\n request.headers[\"X-Requested-With\"] = \"XMLHttpRequest\";\n\n console.info(`API ${request.method} ${request.url}`, request.data);\n return request;\n },\n (error) => {\n return Promise.reject(error);\n }\n);\n\n/** Behandlung von Responses zu axios-Calls\n */\naxios.interceptors.response.use(\n /** Behandelt generell eine erhaltene API-Response */\n (Response) => {\n console.debug(\"API response \", {\n for: Response.config.url,\n response: Response,\n });\n\n //Prüfen, ob die API einen Request (möglicherweise aufgrund Session Timeout) mit einem Redirect auf eine Login-Page (HTML) beantwortet.\n if (Response.headers) {\n const contentType = Response.headers[\"content-type\"];\n if (contentType) {\n if (contentType.includes(\"text/html\")) {\n if (Response.status === 200 /* OK*/) {\n console.debug(\n \"router.currentRoute\",\n router.currentRoute\n );\n\n //Spezialfälle mit erwarteten HTML-Antworten ausscheiden\n if (\n Response.config.url.includes(\n \"DataSetPrintableView.aspx\"\n )\n ) {\n return Response;\n }\n if (Response.config.url.includes(\"/account/logout\")) {\n return Response;\n }\n\n if (router.currentRoute.name !== ACCOUNT_LOGIN) {\n //Clientseitig das Logout und Redirect nachführen\n console.log(\n \"Possible HTML for login page received, now redirecting to client login page\"\n );\n store.dispatch(\"account/\" + LOGOUT).then(() => {\n router.push({ name: ACCOUNT_LOGIN });\n });\n }\n }\n }\n }\n }\n return Response;\n },\n\n /** Behandelt den Fehlerfall */\n (error) => {\n store.dispatch(\"loadingSpinner/\" + HIDE, {}, { root: true });\n\n //Hinweis: Für Controllers in ERST wird serverseitig sichergestellt, dass bei API-Calls im Fehlerfall immer mindestens eine Message verfügbar ist.\n const errorMessageTexts = new Array(0);\n\n if (\n error &&\n error.response &&\n error.response.data &&\n error.response.data.errorMessages\n ) {\n for (const [key, value] of Object.entries(\n error.response.data.errorMessages\n )) {\n //Fehlermeldungen holen (Erwartungsgemäss werden Keys geliefert)\n const errorMessageKey = `${value}`;\n //Fehlermeldungen internationalisiert ausgeben, wenn möglich (\"te\" prüft auf Existenz)\n if (i18n.te(errorMessageKey)) {\n //Internationalisierten Text ausgeben\n errorMessageTexts.push(i18n.t(errorMessageKey));\n } else {\n //Fallback: Vorhandene Message im Original ausgeben\n errorMessageTexts.push(errorMessageKey);\n }\n }\n } else if (\n error &&\n error.response &&\n error.response.data &&\n error.response.data.code &&\n error.response.data.description\n ) {\n //Hier handelt es sich um einen HTTP-Statuscode mit Description\n errorMessageTexts.push(\n `${error.response.data.code} ${error.response.data.description}`\n );\n } else if (error && error.response && error.response.data) {\n //Hier handelt es sich um ein unbekanntes Objekt\n if (\n error.response.headers[\"content-type\"].startsWith(\"text/html\")\n ) {\n //Ganze WebForms-HTML-Pages nicht ausgeben, sondern generisch melden\n errorMessageTexts.push(i18n.t(\"page_error_verarbeitung\"));\n } else {\n //Ansonsten: Der Einfachheit halber einfach das Objekt anzeigen\n errorMessageTexts.push(error.response.data);\n }\n } else if (error && error.response) {\n //Fehlermeldungen holen (Erwartungsgemäss werden Keys geliefert)\n const errorMessageKey = error.response;\n //Fehlermeldungen internationalisiert ausgeben, wenn möglich (\"te\" prüft auf Existenz)\n if (i18n.te(errorMessageKey)) {\n //Internationalisierten Text ausgeben\n errorMessageTexts.push(i18n.t(errorMessageKey));\n } else {\n //Fallback: Vorhandene Message im Original ausgeben\n errorMessageTexts.push(errorMessageKey);\n }\n } else if (error && error.response && error.response.status >= 400) {\n // \"Hässliche generelle BIT-Fehlerseiten\" übersteuern mit generischer Fehlermeldung\n console.log(\n \"HTML error page received, showing generic error message\"\n );\n } else {\n console.debug(\"error\", error);\n //Fehlermeldungen holen (Erwartungsgemäss werden Keys geliefert)\n const errorMessageKey = error;\n //Fehlermeldungen internationalisiert ausgeben, wenn möglich (\"te\" prüft auf Existenz)\n if (i18n.te(errorMessageKey)) {\n //Internationalisierten Text ausgeben\n errorMessageTexts.push(i18n.t(errorMessageKey));\n } else {\n //Fallback: Vorhandene Message im Original ausgeben\n errorMessageTexts.push(errorMessageKey);\n }\n }\n\n //Meldungen separiert anzeigen (Mehrzeilige Ausgabe mit // wird aktuell unterstüzt)\n store.dispatch(\n \"headerNotification/\" + NEW_ERRORMESSAGES,\n { errorMessages: errorMessageTexts.join(\" // \") },\n { root: true }\n );\n\n return Promise.reject(error);\n }\n);\n\n//-------------------------------\n//------------ Vue --------------\n//-------------------------------\nVue.config.productionTip = false;\n\n// Direktiven\nimport focus from \"@/directives/focus-directive\";\nVue.directive(\"focus\", focus);\n\nimport PortalVue from \"portal-vue\";\nVue.use(PortalVue);\n\n// VeeValidate\nimport VeeValidate from \"@/plugins/VeeValidate\";\nimport { INITIALIZE_LANGUAGE } from \"./store/modules/resource/actions\";\nnew VeeValidate();\n\nstore.dispatch(\"resource/\" + INITIALIZE_LANGUAGE).then(() => {\n new Vue({\n router,\n store,\n i18n,\n render: (h) => h(App),\n }).$mount(\"#app\");\n});\n","/* eslint-disable @typescript-eslint/camelcase */\n/* eslint-disable camelcase */\nimport Vue from 'vue';\nimport i18n from '@/plugins/i18n';\n\nimport { extend, ValidationObserver, ValidationProvider } from 'vee-validate';\nimport {\n is,\n regex,\n required,\n email,\n min,\n max,\n numeric,\n double,\n confirmed,\n min_value,\n max_value\n} from 'vee-validate/dist/rules';\n\n/** Validierungsfunktionen für Vee-Validate\n * @devdoc Der Name des Feldes wird aktuell nicht in allen Meldung ausgegeben. Falls gewünscht, müssen die Ressourcen-Texte einen Platzhalter beinhalten\n\n*/\nexport default class VeeValidate {\n constructor() {\n this.extendIs();\n this.extendRegex();\n this.extendRequired();\n this.extendEmail();\n this.extendMin();\n this.extendMax();\n this.extendMinValue();\n this.extendMaxValue();\n this.extendNumeric();\n this.extendDouble();\n this.extendDecimalNumber();\n this.extendConfirmed();\n\n //Mit Angabe eines Custom-Labels\n this.extendLabeledMinValue();\n this.extendLabeledMaxValue();\n this.extendLabeledRequired();\n this.extendLabeledRegex();\n\n this.initializeComponents();\n }\n\n private extendIs() {\n extend('is', {\n ...is,\n message: (_field_, args) => i18n.t('validations.is', [i18n.t(_field_), args.other]) as string\n });\n }\n\n /** Validierung mit einem Regex\n */\n private extendRegex() {\n extend('regex', {\n ...regex,\n message: (_field_, args) => i18n.t('allg_validate_invalidchars', [i18n.t(_field_), args.regex]) as string\n });\n }\n\n private extendMin() {\n //HINT: Für Textfelder wird die Angabe als Textlänge angenommen, für numerische Felder als Wert.\n extend('min', {\n ...min,\n message: (_field_, args) => i18n.t('allg_validate_min_length', [i18n.t(_field_), args.length]) as string\n });\n }\n\n private extendMax() {\n //HINT: Für Textfelder wird die Angabe als Textlänge angenommen, für numerische Felder als Wert.\n extend('max', {\n ...max,\n message: (_field_, args) => i18n.t('allg_validate_max_length', [i18n.t(_field_), args.length]) as string\n });\n }\n\n private extendMinValue() {\n extend('min_value', {\n ...min_value,\n message: (_field_, args) => i18n.t('allg_validate_min_value', [i18n.t(_field_), args.min]) as string\n });\n }\n\n private extendMaxValue() {\n extend('max_value', {\n ...max_value,\n message: (_field_, args) => i18n.t('allg_validate_max_value', [i18n.t(_field_), args.max]) as string\n });\n }\n\n private extendNumeric() {\n extend('numeric', {\n ...numeric,\n message: (_field_, args) => i18n.t('allg_validate_number', [i18n.t(_field_), args.length]) as string\n });\n }\n\n /** Valdiert einen Double-Wert */\n private extendDouble() {\n extend('double', {\n ...double,\n message: (_field_, args) => i18n.t('allg_validate_number', [i18n.t(_field_), args.length]) as string\n });\n }\n\n /** Validiert eine Dezimalzahl, mit zusätlich erlaubtem Ganzzahligem Wert (ohne Dezimalstellen) */\n private extendDecimalNumber() {\n extend('decimalNumber', {\n message: (_field_, args) => i18n.t('allg_validate_number', [i18n.t(_field_), args.length]) as string,\n validate: (value, params) => {\n const isDouble = double.validate(value, params);\n if (isDouble === false) {\n //Als numeric (Ganzzahl)\n return numeric.validate(value);\n }\n return isDouble;\n }\n });\n }\n private extendRequired() {\n extend('required', {\n ...required,\n message: _field_ => i18n.t('allg_validate_pflichtfeld', [i18n.t(_field_)]) as string\n });\n }\n\n private extendEmail() {\n extend('email', {\n ...email,\n message: _field_ => i18n.t('allg_validate_email', [i18n.t(_field_)]) as string\n });\n }\n\n private extendConfirmed() {\n extend('confirmed', {\n ...confirmed,\n message: (_field_, args) =>\n i18n.t('allg_validate_password_not_equal', [i18n.t(_field_), args.other]) as string\n });\n }\n\n /** Validierung auf einen Maximalwert, mit Angabe eines eigenen Labels (ohne Platzhalter) für die Fehlermeldung.\n */\n private extendLabeledMaxValue() {\n extend('max_value_labeled', {\n ...max_value,\n message: (_field_, args) => i18n.t(args.label, [i18n.t(_field_), args.max]) as string,\n params: ['max', 'label']\n });\n }\n\n /** Validierung auf einen Minimalwert, mit Angabe eines eigenen Labels (ohne Platzhalter) für die Fehlermeldung.\n */\n private extendLabeledMinValue() {\n extend('min_value_labeled', {\n ...min_value,\n message: (_field_, args) => i18n.t(args.label, [i18n.t(_field_), args.min]) as string,\n params: ['min', 'label']\n });\n }\n\n /** Validierung auf ein Pflichtfeld, mit Angabe eines eigenen Labels (ohne Platzhalter) für die Fehlermeldung.\n */\n private extendLabeledRequired() {\n extend('required_labeled', {\n ...required,\n message: (_field_, args) => i18n.t(args.label) as string,\n params: ['label']\n });\n }\n\n /** Validierung auf einen Regex, mit Angabe eines eigenen Labels (ohne Platzhalter) für die Fehlermeldung.\n */\n private extendLabeledRegex() {\n extend('regex_labeled', {\n ...regex,\n message: (_field_, args) => i18n.t(args.label) as string,\n params: ['regex', 'label'],\n validate: (value, params) => {\n const regex = params['regex'];\n return new RegExp(regex).test(value);\n }\n });\n }\n\n private initializeComponents() {\n Vue.component('ValidationObserver', ValidationObserver);\n Vue.component('ValidationProvider', ValidationProvider);\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/lib/loaders/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/lib/index.js??vue-loader-options!./Wizard.vue?vue&type=style&index=0&id=17b0c3b3&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./HeaderNotifcation.vue?vue&type=style&index=0&id=5b7cabdd&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./StepHeader.vue?vue&type=style&index=0&id=a3f8f288&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./NowhowSeasonPicker.vue?vue&type=style&index=0&id=3214eb16&prod&scoped=true&lang=css\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./SwisstopoFeatureSearch.vue?vue&type=style&index=0&id=0d0e2372&prod&lang=css\""],"sourceRoot":""}