{"version":3,"file":"main.fd02c4311565288f.js","mappings":"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N0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,CAAC;QACN0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,CAAC;QACN0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,CAAC;QACN0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,CAAC;QACN0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,CAAC;QACN0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,CAAC;QACN0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,CAAC;QACN0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;QACE1D,GAAG,EAAE,EAAE;QACP0D,KAAK,EAAE;OACR,EACD;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","sources":["./src/app/department/department-profile/editPasswordPopup/editPasswordPopup.component.ts","./src/app/department/department-profile/editPasswordPopup/editPasswordPopup.component.html","./src/app/share/components/autocompletebox-osm/autocompletebox-osm.component.ts","./src/app/share/components/autocompletebox-osm/autocompletebox-osm.component.html","./src/app/share/components/bgb-person-search-popup/bgb-person-edit-popup/bgb-person-edit-popup.component.ts","./src/app/share/components/bgb-person-search-popup/bgb-person-edit-popup/bgb-person-edit-popup.component.html","./src/app/share/components/bgb-person-search-popup/bgb-person-search-popup.component.ts","./src/app/share/components/bgb-person-search-popup/bgb-person-search-popup.component.html","./src/app/share/components/bilder/bilder-edit/bilder-edit.component.ts","./src/app/share/components/bilder/bilder-edit/bilder-edit.component.html","./src/app/share/components/bilder/bilder.component.ts","./src/app/share/components/bilder/bilder.component.html","./src/app/share/components/columnChooser/columnChooser.component.ts","./src/app/share/components/columnChooser/columnChooser.component.html","./src/app/share/components/docX-multi-preview-popup/docX-multi-preview-popup.component.ts","./src/app/share/components/docX-multi-preview-popup/docX-multi-preview-popup.component.html","./src/app/share/components/dokumente/dokumente-edit/dokumente-edit.component.ts","./src/app/share/components/dokumente/dokumente-edit/dokumente-edit.component.html","./src/app/share/components/dokumente/dokumente.component.ts","./src/app/share/components/dokumente/dokumente.component.html","./src/app/share/components/einkommensrechner/einkommensrechner.component.ts","./src/app/share/components/einkommensrechner/einkommensrechner.component.html","./src/app/share/components/error-box/error-box.component.ts","./src/app/share/components/error-box/error-box.component.html","./src/app/share/components/ewo-person-search-popup/ewo-person-search-popup.component.ts","./src/app/share/components/ewo-person-search-popup/ewo-person-search-popup.component.html","./src/app/share/components/imprint/imprint.component.ts","./src/app/share/components/imprint/imprint.component.html","./src/app/share/components/loginCodePopup/loginCodePopup.component.ts","./src/app/share/components/loginCodePopup/loginCodePopup.component.html","./src/app/share/components/map-osm/map-osm.component.ts","./src/app/share/components/map-osm/map-osm.component.html","./src/app/share/components/menu-sidebar/menu-sidebar.component.ts","./src/app/share/components/menu-sidebar/menu-sidebar.component.html","./src/app/share/components/privacy/privacy.component.ts","./src/app/share/components/privacy/privacy.component.html","./src/app/share/components/stapelBearbeitungPopup/stapelBearbeitungPopup.component.ts","./src/app/share/components/stapelBearbeitungPopup/stapelBearbeitungPopup.component.html","./src/app/share/components/table-container/table-container.component.ts","./src/app/share/components/table-container/table-container.component.html","./src/app/share/components/vorlagenPopup/vorlagenPopup.component.ts","./src/app/share/components/vorlagenPopup/vorlagenPopup.component.html","./src/app/share/components/wiedervorlagenEditPopup/wiedervorlagenEditPopup.component.ts","./src/app/share/components/wiedervorlagenEditPopup/wiedervorlagenEditPopup.component.html","./src/app/share/components/wiedervorlagenGridPopup/wiedervorlagenGridPopup.component.ts","./src/app/share/components/wiedervorlagenGridPopup/wiedervorlagenGridPopup.component.html","./src/app/share/guards/auth.guard.ts","./src/app/share/guards/canDeactivate.guard.ts","./src/app/share/guards/rollen.guard.ts","./src/app/share/helper/route-keys.helper.ts","./src/app/share/components/docX-preview-popup/docX-preview-popup.component.ts","./src/app/share/components/docX-preview-popup/docX-preview-popup.component.html","./src/app/share/components/einkommensrechner/einkommensrechner-search/einkommensrechner-search.component.ts","./src/app/share/components/einkommensrechner/einkommensrechner-search/einkommensrechner-search.component.html","./src/app/share/injection/injector.module.ts","./src/app/share/pipes/secure.pipe.ts","./src/app/share/services/api.service.ts","./src/app/share/services/auth.service.ts","./src/app/share/services/config-extern.service.ts","./src/app/share/services/config.service.ts","./src/app/share/services/language.service.ts","./src/app/share/services/menu-sidebar.service.ts","./src/app/share/services/poll.service.ts","./src/app/share/services/popup.service.ts","./src/app/share/services/storage.service.ts","./src/app/share/services/url.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/share/interceptors/auth.interceptor.ts","./src/app/share/interceptors/error.interceptor.ts","./src/app/share/helper/error.handler.ts","./src/app/app.module.ts","./src/environments/environment.prod.ts","./src/main.ts"],"sourcesContent":["import { Component, ViewChild } from '@angular/core';\r\nimport { DxFormComponent } from 'devextreme-angular/ui/form';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport notify from 'devextreme/ui/notify';\r\nimport { RouteKeys } from 'src/app/share/helper/route-keys.helper';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\nimport { ConfigService } from 'src/app/share/services/config.service';\r\n\r\nexport interface IPassword {\r\n id: number;\r\n altPasswort: string;\r\n passwort: string;\r\n passwortConfirm: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-editPasswordPopup',\r\n templateUrl: './editPasswordPopup.component.html',\r\n styleUrls: ['./editPasswordPopup.component.scss']\r\n})\r\n\r\nexport class EditPasswordPopupComponent {\r\n\r\n @ViewChild('editPasswordPopup', { static: false }) editPasswordPopup: DxPopupComponent;\r\n @ViewChild('editDataForm', { static: false }) editDataForm: DxFormComponent;\r\n\r\n popupVisible: boolean;\r\n dataSource: IPassword;\r\n msg: string;\r\n isLoading: boolean = false;\r\n\r\n constructor(private apiService: ApiService, public configService: ConfigService) {\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onClickSave = this.onClickSave.bind(this);\r\n this.passwordComparison = this.passwordComparison.bind(this);\r\n this.open = this.open.bind(this);\r\n }\r\n\r\n open(userID: number) {\r\n this.dataSource = {id: userID, altPasswort: '', passwort: '', passwortConfirm: ''};\r\n this.popupVisible=true;\r\n this.msg = '';\r\n }\r\n\r\n passwordComparison() {\r\n return this.dataSource?.passwort;\r\n }\r\n\r\n onClickSave() {\r\n const validationFromResult = this.editDataForm.instance.validate();\r\n\r\n if (validationFromResult.isValid) {\r\n this.isLoading = true;\r\n this.apiService.post(RouteKeys.Option.Benutzer.set_password, this.dataSource).subscribe(response => { \r\n \r\n this.popupVisible=false;\r\n \r\n notify({\r\n message: 'Erfolgreich gespeichert.',\r\n }, 'success');\r\n this.isLoading = false;\r\n }, err => {\r\n if (err.status === 400) {\r\n this.msg = 'Das aktuelle Passwort ist nicht korrekt!';\r\n }\r\n else {\r\n notify({\r\n message: 'Es ist ein Fehler aufgetreten. Bitte wenden Sie sich an Ihren Administrator!',\r\n }, 'error');\r\n }\r\n this.isLoading = false;\r\n throw err;\r\n });\r\n }\r\n else {\r\n this.msg = 'Bitte überprüfen Sie die eingegebenen Daten!';\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n onClickClose() {\r\n this.msg='';\r\n this.popupVisible=false;\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{msg}}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n
","import DataSource from 'devextreme/data/data_source';\r\nimport { Component, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { DxAutocompleteComponent } from 'devextreme-angular/ui/autocomplete';\r\n\r\n@Component({\r\n selector: 'app-autocompletebox-osm',\r\n templateUrl: './autocompletebox-osm.component.html',\r\n styleUrls: ['./autocompletebox-osm.component.scss'],\r\n})\r\nexport class AutocompleteboxOsmComponent {\r\n @ViewChild('ac', { static: false }) ac: DxAutocompleteComponent;\r\n\r\n @Input() valueType: string = 'address';\r\n @Input() placeholder: string;\r\n @Input() searchTimeout: number = 500;\r\n @Input() minSearchLength: number = 3;\r\n @Input() centerLat: number;\r\n @Input() centerLng: number;\r\n @Input() whiteListType: string = 'all_address';\r\n @Input() value: any;\r\n @Input() readOnly: boolean = false;\r\n @Input() isRequired: boolean = false;\r\n @Input() validationMessage: string = '';\r\n @Output() onSelected: EventEmitter = new EventEmitter();\r\n @Output() onChange: EventEmitter = new EventEmitter();\r\n\r\n autoCompleteDataSource: DataSource;\r\n\r\n private whiteLists: any = {\r\n private_address: {\r\n whiteList_countrycode: ['de'],\r\n whiteList_key: ['highway', 'place', 'building'],\r\n whiteList_value: ['residential', 'house', 'unclassified', 'apartments', 'detached', 'yes', 'secondary', 'track', 'living_street'],\r\n whiteList_type: ['house', 'street'],\r\n },\r\n insttution_address: {\r\n whiteList_countrycode: ['de'],\r\n whiteList_key: ['highway', 'amenity', 'building'],\r\n whiteList_value: ['kindergarten', 'residential', 'house', 'unclassified', 'apartments', 'detached', 'yes', 'secondary', 'track'],\r\n whiteList_type: ['house', 'street'],\r\n },\r\n all_address: {\r\n whiteList_countrycode: ['de'],\r\n whiteList_key: ['highway', 'place', 'amenity', 'building'],\r\n whiteList_value: [\r\n 'kindergarten',\r\n 'residential',\r\n 'house',\r\n 'unclassified',\r\n 'apartments',\r\n 'detached',\r\n 'yes',\r\n 'secondary',\r\n 'track',\r\n 'office',\r\n 'service',\r\n 'path',\r\n 'footway',\r\n 'tertiary',\r\n 'living_street',\r\n 'school',\r\n ],\r\n whiteList_type: ['house', 'street'],\r\n },\r\n };\r\n\r\n constructor(private apiService: ApiService, public element: ElementRef) {\r\n this.getLatLonFromAddress = this.getLatLonFromAddress.bind(this);\r\n\r\n this.autoCompleteDataSource = new DataSource({\r\n key: 'place_id',\r\n load: (loadOptions) => {\r\n if (!loadOptions.searchValue) {\r\n return null;\r\n }\r\n\r\n const url = 'https://photon.komoot.io/api?q=' + loadOptions.searchValue + '&lang=de&lat=' + this.centerLat + '&lon=' + this.centerLng;\r\n\r\n return this.apiService\r\n .get(url)\r\n .toPromise()\r\n .then((response) => {\r\n const results: any[] = [];\r\n\r\n response.features.forEach((element) => {\r\n const newResult = this.mapSearchResults(element);\r\n\r\n if (newResult !== undefined && newResult !== null) {\r\n const exist = results.find((x) => x.display_name === newResult.display_name);\r\n if (exist === undefined || exist === null) {\r\n results.push(newResult);\r\n }\r\n }\r\n });\r\n return results;\r\n });\r\n },\r\n });\r\n }\r\n\r\n getLatLonFromAddress(addr: string, cb: (addr: any) => void) {\r\n const url = 'https://photon.komoot.io/api?q=' + addr;\r\n\r\n this.apiService.get(url).subscribe((response) => {\r\n if (response && response.features && response.features.length > 0) {\r\n const result = this.mapSearchResults(response.features[0]);\r\n if (result !== undefined && result !== null && cb !== undefined && cb !== null) {\r\n cb(result);\r\n }\r\n }\r\n });\r\n }\r\n\r\n mapSearchResults(item) {\r\n if (item == undefined || item == null) {\r\n return null;\r\n }\r\n if (\r\n item.properties.countrycode &&\r\n !this.whiteLists[this.whiteListType].whiteList_countrycode.includes(item.properties.countrycode.toLowerCase())\r\n ) {\r\n return null;\r\n }\r\n\r\n if (item.properties.type && !this.whiteLists[this.whiteListType].whiteList_type.includes(item.properties.type)) {\r\n return null;\r\n }\r\n\r\n if (item.properties.osm_key && !this.whiteLists[this.whiteListType].whiteList_key.includes(item.properties.osm_key)) {\r\n return null;\r\n }\r\n\r\n if (item.properties.osm_value && !this.whiteLists[this.whiteListType].whiteList_value.includes(item.properties.osm_value)) {\r\n return null;\r\n }\r\n\r\n let result: any = {\r\n place_id: item.properties.osm_id,\r\n display_name: '',\r\n lon: item.geometry.coordinates[0],\r\n lat: item.geometry.coordinates[1],\r\n org: item.properties,\r\n district:\r\n item.properties.district !== undefined &&\r\n item.properties.district !== null &&\r\n item.properties.district.length > 0 &&\r\n item.properties.district !== item.properties.city\r\n ? item.properties.district\r\n : '',\r\n locality:\r\n item.properties.locality !== undefined &&\r\n item.properties.locality !== null &&\r\n item.properties.locality.length > 0 &&\r\n item.properties.locality !== item.properties.city &&\r\n item.properties.locality !== item.properties.district\r\n ? item.properties.locality\r\n : '',\r\n };\r\n\r\n const street = item.properties.street !== undefined ? item.properties.street : null;\r\n const housenumberString = item.properties.housenumber !== undefined ? item.properties.housenumber : null;\r\n const postcode = item.properties.postcode !== undefined ? item.properties.postcode : null;\r\n const city = item.properties.city !== undefined ? item.properties.city : null;\r\n const state = item.properties.state !== undefined ? item.properties.state : null;\r\n const name = item.properties.name !== undefined ? item.properties.name : null;\r\n\r\n switch (item.properties.type) {\r\n case 'street':\r\n result.display_name = name;\r\n result.street = name;\r\n\r\n if (housenumberString !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n\r\n let housenumber = housenumberString.match(/\\d+/g);\r\n if (housenumber !== undefined && housenumber !== null && housenumber.length > 0) {\r\n housenumber = housenumber[0];\r\n } else {\r\n housenumber = null;\r\n }\r\n\r\n let housenumberSupplement = housenumberString.match(/[a-zA-Z]+/g);\r\n if (housenumberSupplement !== undefined && housenumberSupplement !== null && housenumberSupplement.length > 0) {\r\n housenumberSupplement = housenumberSupplement[0];\r\n } else {\r\n housenumberSupplement = null;\r\n }\r\n\r\n result.display_name += housenumberString;\r\n result.housenumber = housenumber;\r\n result.supplement = housenumberSupplement;\r\n } else {\r\n result.housenumber = null;\r\n }\r\n\r\n if (postcode !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ', ';\r\n }\r\n result.display_name += postcode;\r\n result.postcode = postcode;\r\n } else {\r\n result.postcode = null;\r\n }\r\n\r\n if (city !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n result.display_name += city;\r\n result.city = city;\r\n\r\n if (result.district !== undefined && result.district !== null && result.district.length > 0) {\r\n result.display_name += ' - ' + result.district;\r\n }\r\n } else if (state !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n if (result.district !== undefined && result.district !== null && result.district.length > 0) {\r\n result.city = result.district;\r\n result.display_name += result.district;\r\n if (result.locality !== undefined && result.locality !== null && result.locality.length > 0) {\r\n result.display_name += ' - ' + result.locality;\r\n result.district = result.locality;\r\n } else {\r\n result.district = '';\r\n }\r\n } else {\r\n result.display_name += state;\r\n result.city = state;\r\n }\r\n } else {\r\n result.city = null;\r\n }\r\n\r\n break;\r\n case 'house':\r\n if (street !== null) {\r\n result.display_name = street;\r\n result.street = street;\r\n } else {\r\n result.street = null;\r\n }\r\n\r\n if (housenumberString !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n\r\n let housenumber = housenumberString.match(/\\d+/g);\r\n if (housenumber !== undefined && housenumber !== null && housenumber.length > 0) {\r\n housenumber = housenumber[0];\r\n } else {\r\n housenumber = null;\r\n }\r\n\r\n let housenumberSupplement = housenumberString.match(/[a-zA-Z]+/g);\r\n if (housenumberSupplement !== undefined && housenumberSupplement !== null && housenumberSupplement.length > 0) {\r\n housenumberSupplement = housenumberSupplement[0];\r\n } else {\r\n housenumberSupplement = null;\r\n }\r\n\r\n result.display_name += housenumberString;\r\n result.housenumber = housenumber;\r\n result.supplement = housenumberSupplement;\r\n } else {\r\n result.housenumber = null;\r\n }\r\n\r\n if (postcode !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ', ';\r\n }\r\n result.display_name += postcode;\r\n result.postcode = postcode;\r\n } else {\r\n result.postcode = null;\r\n }\r\n\r\n if (city !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n result.display_name += city;\r\n result.city = city;\r\n\r\n if (result.district !== undefined && result.district !== null && result.district.length > 0) {\r\n result.display_name += ' - ' + result.district;\r\n }\r\n } else if (state !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n result.display_name += state;\r\n result.city = state;\r\n\r\n if (result.district !== undefined && result.district !== null && result.district.length > 0) {\r\n result.display_name += ' - ' + result.district;\r\n }\r\n } else {\r\n result.city = null;\r\n }\r\n break;\r\n default:\r\n console.warn('Unbekannter Type: ' + item.properties.type, item);\r\n result = null;\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n onSelectionChanged(e) {\r\n if (e && e.selectedItem !== undefined && e.selectedItem !== null) {\r\n if (this.valueType === 'street') {\r\n setTimeout(() => {\r\n this.value = e.selectedItem.street;\r\n this.ac.instance.option('value', e.selectedItem.street);\r\n }, 10);\r\n }\r\n\r\n this.onSelected.next(e.selectedItem);\r\n }\r\n }\r\n\r\n onValueChange(e) {\r\n if (this.isRequired) {\r\n this.value = e.value;\r\n this.validate();\r\n }\r\n this.onChange.next(e);\r\n }\r\n\r\n validate(): any {\r\n if (this.value !== undefined && this.value !== null && this.value.length > 0) {\r\n this.ac.isValid = true;\r\n return {\r\n state: true,\r\n };\r\n } else {\r\n this.ac.isValid = false;\r\n return {\r\n state: false,\r\n message: this.validationMessage,\r\n };\r\n }\r\n }\r\n}\r\n","\r\n","import { Component, ViewChild, OnDestroy } from '@angular/core';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { RouteKeys } from 'src/app/share/helper/route-keys.helper';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { DxFormComponent } from 'devextreme-angular/ui/form';\r\nimport { Router } from '@angular/router';\r\nimport { PopupService } from 'src/app/share/services/popup.service';\r\nimport { ConfigService } from 'src/app/share/services/config.service';\r\n\r\n@Component({\r\n selector: 'app-bgb-person-edit-popup',\r\n templateUrl: './bgb-person-edit-popup.component.html',\r\n styleUrls: ['./bgb-person-edit-popup.component.scss']\r\n})\r\nexport class BgbPersonEditPopupComponent implements OnDestroy {\r\n\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('form', { static: false }) form: DxFormComponent;\r\n\r\n onClose: (e) => void;\r\n formData: any;\r\n subscription_get_PopupAsObservable: Subscription;\r\n isLoading: boolean = false;\r\n contextData: any;\r\n\r\n constructor(private apiService: ApiService, private popupService: PopupService, public configService: ConfigService, private router: Router) {\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onClickSave = this.onClickSave.bind(this);\r\n\r\n this.subscription_get_PopupAsObservable = this.popupService.get_bgbPersonEditPopupAsObservable.subscribe(context => {\r\n if (context !== null && context !== undefined && context.open === true) {\r\n this.formData = null;\r\n this.onClose = context.closeCb;\r\n this.contextData = context.data;\r\n\r\n if (this.contextData.isNew === true) {\r\n this.formData = {\r\n anredeId: null,\r\n geschlechtId: null,\r\n nachname: null,\r\n vorname: null,\r\n geburtsdatum: null,\r\n titelId: null,\r\n staatsangehoerigkeitId: null,\r\n telefon1: null,\r\n telefon2: null,\r\n eMail: null,\r\n };\r\n this.popup.instance.show();\r\n\r\n }\r\n else {\r\n this.load();\r\n }\r\n }\r\n else {\r\n this.contextData = null;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n load() {\r\n this.apiService.post(RouteKeys.Bgb.person_get, { id: this.contextData.entityId }).subscribe((response) => {\r\n this.formData = response;\r\n this.popup.instance.show();\r\n });\r\n }\r\n\r\n onClickSave(e) {\r\n var validationResult = this.form.instance.validate();\r\n if (validationResult.isValid) {\r\n this.isLoading = true;\r\n this.apiService.post(RouteKeys.Bgb.person_save, this.formData).subscribe((response) => {\r\n this.isLoading = false;\r\n\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose({\r\n state: 1,\r\n data: response\r\n });\r\n }\r\n this.popup.instance.hide();\r\n\r\n }, err => {\r\n this.isLoading = false;\r\n throw err;\r\n });\r\n }\r\n }\r\n\r\n onClickClose(e) {\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose({\r\n state: 2\r\n });\r\n }\r\n this.popup.instance.hide();\r\n }\r\n}\r\n","\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { Subscription } from 'rxjs';\r\nimport { PopupService } from '../../services/popup.service';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { RouteKeys } from '../../helper/route-keys.helper';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { ColumnChooserComponent } from '../columnChooser/columnChooser.component';\r\n\r\n@Component({\r\n selector: 'app-bgb-person-search-popup',\r\n templateUrl: './bgb-person-search-popup.component.html',\r\n styleUrls: ['./bgb-person-search-popup.component.scss'],\r\n})\r\nexport class BgbPersonSearchPopupComponent implements OnInit, OnDestroy {\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('dataGrid', { static: false }) dataGrid: DxDataGridComponent;\r\n @ViewChild('columnChooser', { static: false }) columnChooser: ColumnChooserComponent;\r\n\r\n subscription_get_PopupAsObservable: Subscription;\r\n contextData: any;\r\n onClose: (e) => void;\r\n init: boolean = false;\r\n isLoading: boolean = false;\r\n selectedItem: any = null;\r\n dataSource: DataSource;\r\n\r\n focusedRowKey: number;\r\n\r\n constructor(private popupService: PopupService, private apiService: ApiService, public configService: ConfigService) {\r\n this.onClickOk = this.onClickOk.bind(this);\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onClickEdit = this.onClickEdit.bind(this);\r\n\r\n this.subscription_get_PopupAsObservable = this.popupService.get_bgbPersonSearchPopupAsObservable.subscribe((e) => this.onPersonSearchEvent(e));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource = new DataSource({\r\n key: 'id',\r\n load: (loadOptions) => {\r\n loadOptions.userData.selector = this.contextData.selector;\r\n loadOptions.userData.haushaltId = this.contextData.hhId;\r\n return this.apiService\r\n .post(RouteKeys.Bgb.person_search, loadOptions)\r\n .toPromise()\r\n .then((response) => {\r\n this.init = true;\r\n return {\r\n data: response.data,\r\n totalCount: response.totalCount,\r\n summary: response.summary,\r\n groupCount: response.groupCount,\r\n };\r\n })\r\n .catch((err) => {\r\n throw err.message;\r\n });\r\n },\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n onClickOk(e) {\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose({\r\n status: 1,\r\n selectedItem: this.selectedItem,\r\n });\r\n }\r\n this.dataGrid.instance.clearSelection();\r\n this.popup.instance.hide();\r\n }\r\n\r\n onClickClose(e) {\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose({\r\n status: 2,\r\n });\r\n }\r\n this.dataGrid.instance.clearSelection();\r\n this.popup.instance.hide();\r\n }\r\n\r\n onPersonSearchEvent(e: any): void {\r\n if (e !== null && e !== undefined && e.open === true) {\r\n this.onClose = e.closeCb;\r\n this.contextData = e.data;\r\n this.selectedItem = null;\r\n\r\n setTimeout(() => {\r\n this.init = true;\r\n }, 0);\r\n\r\n if (this.dataGrid) {\r\n this.dataGrid.instance.clearFilter();\r\n this.dataGrid.instance.clearSorting();\r\n }\r\n\r\n this.dataSource.reload();\r\n this.popup.instance.show();\r\n } else {\r\n this.contextData = null;\r\n }\r\n }\r\n\r\n onContentReady(e) {\r\n e.component.columnOption('command:select', {\r\n visibleIndex: 1,\r\n fixedPosition: 'right',\r\n visibleWidth: 70,\r\n });\r\n\r\n if (\r\n this.contextData !== undefined &&\r\n this.contextData !== null &&\r\n this.contextData.selected !== undefined &&\r\n this.contextData.selected !== null &&\r\n this.contextData.selected > 0\r\n ) {\r\n this.dataGrid.instance.selectRows([this.contextData.selected], false);\r\n this.focusedRowKey = this.contextData.selected;\r\n }\r\n }\r\n\r\n onToolbarPreparing(e) {\r\n const columnChooserButton = e.toolbarOptions.items.find((x) => x.name === 'columnChooserButton');\r\n if (columnChooserButton) {\r\n columnChooserButton.locateInMenu = 'never';\r\n columnChooserButton.showText = 'never';\r\n columnChooserButton.options.visible = false;\r\n }\r\n\r\n var searchPanel = e.toolbarOptions.items.filter((item) => item.name === 'searchPanel');\r\n if (searchPanel && searchPanel[0]) {\r\n searchPanel[0].location = 'before';\r\n }\r\n\r\n e.toolbarOptions.items.push({\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'undo',\r\n hint: 'Filter zurücksetzen',\r\n onClick: (event) => {\r\n this.dataGrid.instance.clearFilter();\r\n this.dataGrid.instance.clearSorting();\r\n this.dataGrid.instance.clearSelection();\r\n },\r\n },\r\n });\r\n\r\n e.toolbarOptions.items.push({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'columnchooser',\r\n hint: 'Spaltenauswahl',\r\n onClick: (e) => {\r\n this.columnChooser.open();\r\n },\r\n },\r\n });\r\n\r\n // e.toolbarOptions.items.push({\r\n // location: 'after',\r\n // widget: 'dxButton',\r\n // options: {\r\n // stylingMode: 'contained',\r\n // type: 'default',\r\n // icon: 'add',\r\n // text: 'Neu',\r\n // onClick: this.onClickNew.bind(this),\r\n // },\r\n // });\r\n }\r\n\r\n onSelectionChanged(e) {\r\n var deselectRowKeys = [];\r\n if (e.selectedRowKeys && e.selectedRowKeys[0]) {\r\n let rowData = e.selectedRowsData[0];\r\n if (rowData !== undefined && rowData !== null) {\r\n if (this.contextData !== undefined && this.contextData !== null) {\r\n if (this.contextData.blocked.includes(rowData.id)) {\r\n deselectRowKeys.push(e.selectedRowKeys[0]);\r\n } else {\r\n this.selectedItem = rowData;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (deselectRowKeys.length) {\r\n this.selectedItem = null;\r\n e.component.deselectRows(deselectRowKeys);\r\n }\r\n }\r\n\r\n onClickNew(e) {\r\n this.popupService.showBgbPersonEditPopup({ isNew: true }, (e) => {\r\n this.handleEditCloseEvent(e);\r\n });\r\n }\r\n\r\n onClickEdit(e) {\r\n if (e.row !== undefined && e.row !== null) {\r\n this.popupService.showBgbPersonEditPopup({ isNew: false, entityId: e.row.data.id }, (e) => {\r\n this.handleEditCloseEvent(e);\r\n });\r\n } else {\r\n this.popupService.showBgbPersonEditPopup({ isNew: false, entityId: e.data.id }, (e) => {\r\n this.handleEditCloseEvent(e);\r\n });\r\n }\r\n }\r\n\r\n handleEditCloseEvent(e: any) {\r\n if (e.state === 1) {\r\n this.dataGrid.instance.refresh().then(() => {\r\n this.dataGrid.instance.selectRows([e.data.id], false);\r\n this.selectedItem = this.dataGrid.instance.getSelectedRowsData()[0];\r\n this.focusedRowKey = this.dataGrid.instance.getSelectedRowKeys()[0];\r\n });\r\n }\r\n }\r\n\r\n onRowPrepared(e) {\r\n if (e.rowType === 'data') {\r\n if (\r\n this.contextData !== undefined &&\r\n this.contextData !== null &&\r\n this.contextData.blocked !== undefined &&\r\n this.contextData.blocked !== null &&\r\n this.contextData.blocked.length > 0\r\n ) {\r\n if (this.contextData.blocked.includes(e.data.id)) {\r\n e.rowElement.style.color = 'rgb(128 128 128 / 75%)';\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import { Component, EventEmitter, Output, ViewChild } from '@angular/core';\r\nimport { DxFileUploaderComponent } from 'devextreme-angular/ui/file-uploader';\r\nimport { DxFormComponent } from 'devextreme-angular/ui/form';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { RouteKeys } from 'src/app/share/helper/route-keys.helper';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\n\r\n@Component({\r\n selector: 'bilder-edit',\r\n templateUrl: './bilder-edit.component.html',\r\n styleUrls: ['./bilder-edit.component.scss']\r\n})\r\nexport class BilderEditComponent {\r\n\r\n @Output() onClose: EventEmitter = new EventEmitter(false);\r\n\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('form', { static: false }) form: DxFormComponent;\r\n @ViewChild('fileUploader', { static: false }) fileUploader: DxFileUploaderComponent;\r\n\r\n maxFileSize: number = 10485760;\r\n\r\n allowedMimeTypes = allowed_MimeTypes;\r\n allowedFileExtensions = allowed_FileExtensions;\r\n\r\n formData: any;\r\n filesToUpload: any[];\r\n error: string = null;\r\n title: string = 'bearbeiten';\r\n isSaving: boolean = false;\r\n saveCounter: number = 0;\r\n\r\n constructor(private apiService: ApiService) {\r\n this.onClickSave = this.onClickSave.bind(this);\r\n this.onClickClose = this.onClickClose.bind(this);\r\n }\r\n\r\n\r\n openNew(type: string, entityId: number) {\r\n this.filesToUpload = null;\r\n\r\n if (this.fileUploader) {\r\n this.fileUploader.instance.reset();\r\n }\r\n\r\n this.formData = {\r\n type: type,\r\n id: null,\r\n entityId: entityId,\r\n };\r\n\r\n this.popup.instance.show();\r\n }\r\n\r\n onValueChanged(e) {\r\n this.error = null;\r\n if (e.value.length > 0) {\r\n this.filesToUpload = e.value;\r\n }\r\n else {\r\n this.filesToUpload = null;\r\n }\r\n \r\n }\r\n\r\n onClickSave() {\r\n this.saveCounter = 0;\r\n \r\n if (this.filesToUpload !== null && this.filesToUpload.length > 0) {\r\n this.isSaving = true;\r\n for (let index = 0; index < this.filesToUpload.length; index++) {\r\n const file = this.filesToUpload[index];\r\n if (file !== undefined && file !== null) {\r\n const validateResult = this.validateFile(file);\r\n if (validateResult.isValid !== true) {\r\n this.error = validateResult.error;\r\n this.isSaving = false;\r\n return;\r\n }\r\n }\r\n }\r\n \r\n this.save();\r\n }\r\n }\r\n\r\n private save() {\r\n const file = this.filesToUpload[this.saveCounter];\r\n\r\n let input = new FormData();\r\n input.append('file', file);\r\n input.append('vievmodel', JSON.stringify(this.formData));\r\n\r\n this.apiService.upload(RouteKeys.Bilder.add, input, (response) => {\r\n this.saveCounter++;\r\n\r\n if (this.saveCounter < this.filesToUpload.length) {\r\n this.save();\r\n }\r\n else {\r\n this.onClose.next(true);\r\n this.popup.instance.hide();\r\n this.isSaving = false;\r\n }\r\n }, err => {\r\n this.isSaving = false;\r\n throw err;\r\n });\r\n }\r\n\r\n private validateFile(file) {\r\n\r\n let validateResult = {\r\n isValid: true,\r\n error: ''\r\n };\r\n\r\n if (file.size > this.maxFileSize) {\r\n validateResult.isValid = false;\r\n validateResult.error = 'Datei ist zu groß, die maximale Dateigröße beträgt ' + this.maxFileSize / 1024 / 1024 + ' Megabyte! (' + file.name + ')';\r\n }\r\n\r\n const fileNameParts = file.name.split('.');\r\n const toFind = '.' + fileNameParts[fileNameParts.length - 1];\r\n const allowedExt = this.allowedFileExtensions.find(x => x.toLowerCase() === toFind.toLowerCase());\r\n if (!allowedExt) {\r\n validateResult.isValid = false;\r\n validateResult.error = 'Unzulässiger Dateityp! (' + file.name + ')';\r\n }\r\n\r\n return validateResult;\r\n }\r\n\r\n onClickClose() {\r\n this.popup.instance.hide();\r\n }\r\n\r\n}\r\n\r\n\r\nconst allowed_FileExtensions: string[] = [\r\n '.bmp',\r\n '.gif',\r\n '.jpeg',\r\n '.jpg',\r\n '.jpe',\r\n '.png',\r\n '.tif',\r\n '.tiff'\r\n];\r\n\r\nconst allowed_MimeTypes: string = 'image/*,';","\r\n
\r\n \r\n \r\n \r\n 0\" class=\"fileUploadMsg color-error\">{{error}}\r\n 0)\"\r\n class=\"fileUploadMsg\">{{filesToUpload.length}} Bilder ausgewählt...\r\n {{saveCounter}}/{{filesToUpload.length}} Bilder hochgeladen...\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n
","import { Component, Input, ViewChild } from '@angular/core';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { RouteKeys } from '../../helper/route-keys.helper';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { BilderEditComponent } from './bilder-edit/bilder-edit.component';\r\nimport { confirm } from 'devextreme/ui/dialog';\r\n\r\n@Component({\r\n selector: 'app-bilder',\r\n templateUrl: './bilder.component.html',\r\n styleUrls: ['./bilder.component.scss']\r\n})\r\nexport class BilderComponent {\r\n\r\n @ViewChild('bilderEditPopup', { static: false }) bilderEditPopup: BilderEditComponent;\r\n @ViewChild('bilderDataGrid', { static: false }) bilderDataGrid: DxDataGridComponent;\r\n\r\n\r\n @Input() type: string = null;\r\n @Input() readOnly: boolean = false;\r\n\r\n _entityId?: number = null;\r\n @Input() set entityId(id: number) {\r\n this._entityId = id;\r\n\r\n if (id !== null) {\r\n this.load();\r\n }\r\n else {\r\n this._entityId = null;\r\n this.dataSource = [];\r\n }\r\n }\r\n\r\n dataSource: any[] = [];\r\n selectedItem: any = null;\r\n\r\n constructor(private apiService: ApiService) {\r\n this.onClickEdit = this.onClickEdit.bind(this);\r\n this.onClickDelete = this.onClickDelete.bind(this);\r\n this.onReorder = this.onReorder.bind(this);\r\n }\r\n\r\n load() {\r\n this.apiService.post(RouteKeys.Bilder.getAll, { type: this.type, entityId: this._entityId }).subscribe((response) => {\r\n this.dataSource = response;\r\n }, err => {\r\n throw err;\r\n });\r\n }\r\n\r\n onRowUpdated(e) {\r\n const bild = JSON.parse(JSON.stringify(e.data));\r\n bild.type = this.type;\r\n\r\n this.apiService.post(RouteKeys.Bilder.update, bild).subscribe((response) => {\r\n this.load();\r\n }, err => {\r\n throw err;\r\n });\r\n }\r\n\r\n onSelectionChanged(e) {\r\n this.selectedItem = e.selectedRowsData[0];\r\n }\r\n\r\n onRowPrepared(e){ \r\n e.rowElement.style.height = '65px'; \r\n}\r\n\r\n onToolbarPreparing(e) {\r\n var searchPanel = e.toolbarOptions.items.filter(item => item.name === 'searchPanel');\r\n if (searchPanel && searchPanel[0]) {\r\n searchPanel[0].location = 'before';\r\n }\r\n\r\n e.toolbarOptions.items.push({\r\n location: 'after',\r\n widget: 'dxButton',\r\n cssClass: 'datagridToolbarNewBtn',\r\n options: {\r\n disabled: this.readOnly,\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'add',\r\n text: 'Hinzufügen',\r\n onClick: this.onClickNew.bind(this)\r\n }\r\n });\r\n }\r\n\r\n onContentReady(e) {\r\n this.bilderDataGrid.instance.clearSelection();\r\n\r\n e.component.columnOption('command:select', {\r\n visibleIndex: 1,\r\n fixedPosition: 'right',\r\n visibleWidth: 70\r\n });\r\n }\r\n\r\n onReorder(e) {\r\n var visibleRows = e.component.getVisibleRows();\r\n var toIndex = this.dataSource.indexOf(visibleRows[e.toIndex].data);\r\n var fromIndex = this.dataSource.indexOf(e.itemData);\r\n\r\n this.dataSource.splice(fromIndex, 1);\r\n this.dataSource.splice(toIndex, 0, e.itemData);\r\n\r\n for (let index = 0; index < this.dataSource.length; index++) {\r\n const element = this.dataSource[index];\r\n element.orderIndex = index;\r\n }\r\n\r\n this.apiService.post(RouteKeys.Bilder.reOrder, { type: this.type, items: this.dataSource}).subscribe((response) => {\r\n this.load();\r\n }, err => {\r\n throw err;\r\n });\r\n }\r\n\r\n onClickNew(e) {\r\n this.bilderEditPopup.openNew(this.type, this._entityId);\r\n }\r\n\r\n onClickDelete(e) {\r\n let result = confirm('Wollen Sie das Bild wirklich löschen?', 'Bestätigung');\r\n result.then((dialogResult) => {\r\n if (dialogResult) {\r\n this.apiService.post(RouteKeys.Bilder.remove, { type: this.type, id: e.row.data.id }).subscribe((response) => {\r\n this.load();\r\n }, err => {\r\n throw err;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onEditClose(e) {\r\n this.load();\r\n }\r\n\r\n onClickEdit(e) {\r\n e.component.editRow(e.row.rowIndex);\r\n }\r\n}","\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\n\r\n@Component({\r\n selector: 'app-columnChooser',\r\n templateUrl: './columnChooser.component.html',\r\n styleUrls: ['./columnChooser.component.scss']\r\n})\r\nexport class ColumnChooserComponent {\r\n\r\n @Input() dataGrid : DxDataGridComponent;\r\n popupVisible: boolean;\r\n shadow_columns: any[] = [];\r\n\r\n constructor() {\r\n this.onClickUebernehmen = this.onClickUebernehmen.bind(this);\r\n this.onClickClose = this.onClickClose.bind(this);\r\n }\r\n\r\n open() {\r\n this.popupVisible = true;\r\n }\r\n\r\n onShowingPopup(e) {\r\n this.shadow_columns = [];\r\n for (var i = 0; i < this.dataGrid.instance.columnCount(); i++) {\r\n var c = this.dataGrid.instance.columnOption(i);\r\n if (c.caption !== undefined && c.caption !== null && c.caption.length > 0 && c.showInColumnChooser === true) {\r\n this.shadow_columns.push({\r\n key: c.caption,\r\n name: c.caption,\r\n visible: c.visible\r\n });\r\n }\r\n }\r\n }\r\n\r\n onHiddenPopup(e) {\r\n this.shadow_columns = [];\r\n }\r\n\r\n onClickUebernehmen(e) {\r\n for (var i = 0; i < this.shadow_columns.length; i++) {\r\n this.dataGrid.instance.columnOption(this.shadow_columns[i].key, 'visible', this.shadow_columns[i].visible);\r\n }\r\n this.popupVisible = false;\r\n }\r\n\r\n onClickClose(e) {\r\n this.popupVisible = false;\r\n }\r\n\r\n onClickAllOn() {\r\n for (var i = 0; i < this.shadow_columns.length; i++) {\r\n this.shadow_columns[i].visible = true;\r\n }\r\n }\r\n\r\n onClickAllOff() {\r\n for (var i = 0; i < this.shadow_columns.length; i++) {\r\n this.shadow_columns[i].visible = false;\r\n }\r\n }\r\n}\r\n","\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n","import { Component, ElementRef, OnDestroy, ViewChild, Input, EventEmitter, Output } from '@angular/core';\r\nimport { ContextMenuCommandId, create, createOptions, FileTabItemId, Options, Ribbon, RibbonTabType, RichEdit } from 'devexpress-richedit';\r\nimport { DocumentFormatApi } from 'devexpress-richedit/lib/model-api/formats/enum';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { RouteKeys } from '../../helper/route-keys.helper';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { PopupService } from '../../services/popup.service';\r\nimport { PdfJsViewerComponent } from 'ng2-pdfjs-viewer';\r\nimport notify from 'devextreme/ui/notify';\r\n\r\n@Component({\r\n selector: 'app-docX-multi-preview-popup',\r\n templateUrl: './docX-multi-preview-popup.component.html',\r\n styleUrls: ['./docX-multi-preview-popup.component.scss'],\r\n})\r\nexport class DocxMultiPreviewPopupComponent implements OnDestroy {\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('richContainer') richContainerElement: ElementRef;\r\n @ViewChild('pdfViewer') pdfViewer: PdfJsViewerComponent;\r\n\r\n @Input() type: string = null;\r\n\r\n @Output() onPlatzhalter = new EventEmitter();\r\n\r\n onClose: (e, data: any) => void;\r\n\r\n docs: any[] = [];\r\n currentDocIndex: number = 0;\r\n currentDocName: string = '';\r\n docType: string = '';\r\n imageSrc: any;\r\n textSrc: SafeHtml = '';\r\n fileContent: any;\r\n isReadOnly: boolean = true;\r\n isVorlage: boolean = false;\r\n isLoading: boolean = false;\r\n\r\n private rich: RichEdit;\r\n\r\n subscription_get_PopupAsObservable: Subscription;\r\n\r\n constructor(private apiService: ApiService, private sanitizer: DomSanitizer, private popupService: PopupService) {\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.load = this.load.bind(this);\r\n this.openBlob = this.openBlob.bind(this);\r\n this.onClickPlatzhalterliste = this.onClickPlatzhalterliste.bind(this);\r\n\r\n setTimeout(() => {\r\n if (this.type !== 'Vorlage') {\r\n this.subscription_get_PopupAsObservable = this.popupService.get_dokumentEditPopupAsObservable.subscribe((context) => {\r\n if (context !== null && context !== undefined && context.open === true) {\r\n this.type = context.data.type !== null ? context.data.type : this.type;\r\n this.onClose = context.closeCb;\r\n this.isReadOnly = context.data.readOnly;\r\n\r\n if (!this.isReadOnly && context.data.doc !== undefined) {\r\n this.openDoc(context.data.doc);\r\n } else if (context.data.doc !== undefined) {\r\n this.load(context.data.doc);\r\n }\r\n }\r\n });\r\n }\r\n }, 10);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.rich) {\r\n this.rich.dispose();\r\n this.rich = null;\r\n }\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n openBlob(blob: Blob, fileName: string, format: number) {\r\n this.isLoading = true;\r\n this.popup.instance.show().then(() => {\r\n if (!this.rich) {\r\n this.rich = create(this.richContainerElement.nativeElement, this.getOptions(fileName));\r\n }\r\n this.rich.readOnly = this.isReadOnly;\r\n this.rich.openDocument(blob, fileName, format, (e) => {\r\n if (!this.isReadOnly) {\r\n setTimeout(() => {\r\n this.rich.hasUnsavedChanges = true;\r\n }, 50);\r\n }\r\n this.isLoading = false;\r\n });\r\n });\r\n }\r\n\r\n openDoc(doc: any) {\r\n if (doc !== null && doc !== undefined) {\r\n this.currentDocName = doc.docName;\r\n this.docType = 'doc';\r\n this.openBlob(doc.blob, doc.docName, DocumentFormatApi.OpenXml);\r\n }\r\n }\r\n\r\n openMulti(docs: any[], index: number = 0) {\r\n this.currentDocName = '';\r\n this.docs = docs || [];\r\n this.currentDocIndex = index;\r\n this.docType = '';\r\n this.imageSrc = null;\r\n this.textSrc = null;\r\n this.isReadOnly = true;\r\n\r\n if (this.docs.length > 0) {\r\n this.load(this.docs[index]);\r\n }\r\n }\r\n\r\n load(doc: any) {\r\n this.currentDocName = doc.fileName;\r\n if (doc.dokumentId === null || doc.dokumentId === undefined || doc.dokumentId < 0) {\r\n return;\r\n }\r\n if (doc.mimeType === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document') {\r\n this.docType = 'doc';\r\n this.apiService.postDownloadAsBlob(\r\n RouteKeys.Dokumente.download,\r\n doc.fileName,\r\n { type: this.type, dokumentId: doc.dokumentId, fileName: doc.fileName },\r\n (blob) => {\r\n this.openBlob(blob, doc.fileName, DocumentFormatApi.OpenXml);\r\n },\r\n (err) => this.errorMessage(err)\r\n );\r\n } else if (doc.mimeType === 'application/msword') {\r\n this.docType = 'doc';\r\n this.apiService.postDownloadAsBlob(\r\n RouteKeys.Dokumente.download,\r\n doc.fileName,\r\n { type: this.type, dokumentId: doc.dokumentId, fileName: doc.fileName },\r\n (blob) => {\r\n this.openBlob(blob, doc.fileName, DocumentFormatApi.Rtf);\r\n },\r\n (err) => this.errorMessage(err)\r\n );\r\n } else if (doc.mimeType === 'application/pdf') {\r\n this.apiService.postDownloadAsBlob(\r\n RouteKeys.Dokumente.download,\r\n doc.fileName,\r\n { type: this.type, dokumentId: doc.dokumentId, fileName: doc.fileName },\r\n (blob) => {\r\n this.docType = 'pdf';\r\n // this.popup.instance.show().then(() => {\r\n // setTimeout(() => {\r\n // this.pdfViewer.pdfSrc = blob;\r\n // this.pdfViewer.refresh();\r\n // }, 10);\r\n // });\r\n this.popup.instance.show();\r\n setTimeout(() => {\r\n this.pdfViewer.pdfSrc = blob;\r\n this.pdfViewer.refresh();\r\n }, 10);\r\n },\r\n (err) => this.errorMessage(err)\r\n );\r\n } else if (doc.mimeType.startsWith('image/')) {\r\n this.apiService.postDownloadAsObjectURL(\r\n RouteKeys.Dokumente.download,\r\n doc.fileName,\r\n { type: this.type, dokumentId: doc.dokumentId, fileName: doc.fileName },\r\n (objectURL) => {\r\n this.imageSrc = this.sanitizer.bypassSecurityTrustUrl(objectURL);\r\n this.docType = 'image';\r\n this.popup.instance.show();\r\n },\r\n (err) => this.errorMessage(err)\r\n );\r\n } else if (doc.mimeType.startsWith('text/')) {\r\n this.apiService.postDownloadAsBlob(\r\n RouteKeys.Dokumente.download,\r\n doc.fileName,\r\n { type: this.type, dokumentId: doc.dokumentId, fileName: doc.fileName },\r\n (blob) => {\r\n this.docType = 'text';\r\n blob.text().then((x) => {\r\n this.textSrc = this.sanitizer.bypassSecurityTrustHtml(x.replace(/(?:\\r\\n|\\r|\\n)/g, '
'));\r\n this.popup.instance.show();\r\n });\r\n },\r\n (err) => this.errorMessage(err)\r\n );\r\n } else {\r\n this.docType = null;\r\n }\r\n }\r\n\r\n onClickClose() {\r\n this.fileContent = null;\r\n if (!this.isReadOnly && this.rich !== null && this.rich !== undefined) {\r\n this.rich.hasUnsavedChanges = false;\r\n }\r\n this.popup.instance.hide();\r\n }\r\n\r\n getOptions(fileName: string): Options {\r\n const options = createOptions();\r\n options.width = '100%';\r\n options.height = '100%';\r\n options.readOnly = this.isReadOnly;\r\n\r\n const fileTab = options.ribbon.getTab(RibbonTabType.File);\r\n fileTab.removeItem(FileTabItemId.CreateNewDocument);\r\n fileTab.removeItem(FileTabItemId.OpenDocument);\r\n // fileTab.removeItem(FileTabItemId.ExportDocument);\r\n\r\n // options.ribbon.clearTabs();\r\n // options.ribbon.insertTab(fileTab, 0);\r\n options.ribbon.activeTabIndex = 0;\r\n\r\n this.removeContextMenuItems(options);\r\n\r\n options.events.saving = (s, e) => {\r\n e.handled = true;\r\n this.fileContent = e;\r\n if (this.fileContent !== null && this.fileContent !== undefined) {\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose({ docContentBase64: this.fileContent.base64, docName: this.currentDocName }, true);\r\n }\r\n }\r\n this.popup.instance.hide();\r\n };\r\n return options;\r\n }\r\n\r\n removeContextMenuItems(options: Options) {\r\n for (let index = 0; index < options.contextMenu.items.length; index++) {\r\n const element = options.contextMenu.items[index];\r\n if (element.id !== ContextMenuCommandId.Copy) {\r\n options.contextMenu.removeItem(element);\r\n }\r\n }\r\n\r\n if (options.contextMenu.items.length > 1) {\r\n this.removeContextMenuItems(options);\r\n }\r\n }\r\n\r\n loadVorlage(doc: any) {\r\n this.isVorlage = true;\r\n this.currentDocName = doc.fileName;\r\n this.isReadOnly = false;\r\n if (doc.vorlagenId > 0) {\r\n this.docType = 'doc';\r\n this.apiService.postDownloadAsBlob(\r\n RouteKeys.Option.Vorlagenverwaltung.download,\r\n doc.fileName,\r\n { type: this.type, vorlagenId: doc.vorlagenId, fileName: doc.fileName },\r\n (blob) => {\r\n this.openBlob(blob, doc.fileName, DocumentFormatApi.OpenXml);\r\n }\r\n );\r\n } else {\r\n this.docType = null;\r\n }\r\n }\r\n\r\n onClickPlatzhalterliste(e) {\r\n this.onPlatzhalter.emit('');\r\n }\r\n\r\n private errorMessage(err: any) {\r\n if (err) {\r\n notify(\r\n {\r\n message: 'Die Datei wurde nicht gefunden!',\r\n },\r\n 'error',\r\n 4000\r\n );\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n Dieses Format kann nicht angezeigt werden!\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n
\r\n {{currentDocName}}\r\n
\r\n
\r\n\r\n \r\n \r\n
","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { DxFileUploaderComponent } from 'devextreme-angular/ui/file-uploader';\r\nimport { DxFormComponent } from 'devextreme-angular/ui/form';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\n\r\n@Component({\r\n selector: 'dokumente-edit',\r\n templateUrl: './dokumente-edit.component.html',\r\n styleUrls: ['./dokumente-edit.component.scss'],\r\n})\r\nexport class DokumenteEditComponent {\r\n @Input() allowedFileExtensions: any[] = [];\r\n @Output() onAddClose: EventEmitter = new EventEmitter(null);\r\n\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('form', { static: false }) form: DxFormComponent;\r\n @ViewChild('fileUploader', { static: false }) fileUploader: DxFileUploaderComponent;\r\n\r\n maxFileSize: number = 10485760;\r\n\r\n allowedMimeTypes = allowed_MimeTypes;\r\n\r\n filesToUpload: any[];\r\n error: string = null;\r\n title: string = 'bearbeiten';\r\n disableUpload: boolean = true;\r\n\r\n constructor(private apiService: ApiService) {\r\n this.onClickSave = this.onClickSave.bind(this);\r\n this.onClickClose = this.onClickClose.bind(this);\r\n }\r\n\r\n openNew() {\r\n this.disableUpload = true;\r\n this.filesToUpload = null;\r\n if (this.allowedFileExtensions.length === 0) {\r\n this.allowedFileExtensions = allowed_FileExtensions;\r\n }\r\n if (this.fileUploader) {\r\n this.fileUploader.instance.reset();\r\n }\r\n\r\n this.popup.instance.show();\r\n }\r\n\r\n onValueChanged(e) {\r\n this.error = null;\r\n this.filesToUpload = e.value;\r\n if (this.filesToUpload != undefined && this.filesToUpload != null && this.filesToUpload.length > 0) {\r\n this.disableUpload = false;\r\n } else {\r\n this.disableUpload = true;\r\n }\r\n }\r\n\r\n onClickSave() {\r\n for (let index = 0; index < this.filesToUpload.length; index++) {\r\n const file = this.filesToUpload[index];\r\n if (file !== undefined && file !== null) {\r\n const validateResult = this.validateFile(file);\r\n if (validateResult.isValid !== true) {\r\n this.error = validateResult.error;\r\n return;\r\n }\r\n }\r\n }\r\n\r\n this.onAddClose.next(this.filesToUpload);\r\n this.popup.instance.hide();\r\n }\r\n\r\n private validateFile(file) {\r\n let validateResult = {\r\n isValid: true,\r\n error: '',\r\n };\r\n\r\n if (file.size > this.maxFileSize) {\r\n validateResult.isValid = false;\r\n validateResult.error =\r\n 'Datei ist zu groß, die maximale Dateigröße beträgt ' + this.maxFileSize / 1024 / 1024 + ' Megabyte! (' + file.name + ')';\r\n }\r\n\r\n const fileNameParts = file.name.split('.');\r\n const toFind = '.' + fileNameParts[fileNameParts.length - 1];\r\n const allowedExt = this.allowedFileExtensions.find((x) => x.toLowerCase() === toFind.toLowerCase());\r\n if (!allowedExt) {\r\n validateResult.isValid = false;\r\n validateResult.error = 'Unzulässiger Dateityp! (' + file.name + ')';\r\n }\r\n\r\n return validateResult;\r\n }\r\n\r\n onClickClose() {\r\n this.disableUpload = true;\r\n this.popup.instance.hide();\r\n }\r\n}\r\n\r\nconst allowed_FileExtensions: string[] = [\r\n '.txt',\r\n '.rtf',\r\n '.rtx',\r\n '.pdf',\r\n '.doc',\r\n '.dot',\r\n '.docx',\r\n '.dotx',\r\n '.docm',\r\n '.dotm',\r\n '.xls',\r\n '.xlt',\r\n '.xla',\r\n '.xlsx',\r\n '.xltx',\r\n '.xlsm',\r\n '.xltm',\r\n '.xlam',\r\n '.xlsb',\r\n '.bmp',\r\n '.gif',\r\n '.jpeg',\r\n '.jpg',\r\n '.jpe',\r\n '.png',\r\n '.tif',\r\n '.tiff',\r\n '.csv',\r\n '.msg',\r\n '.eml',\r\n];\r\n\r\nconst allowed_MimeTypes: string =\r\n 'image/*,' +\r\n 'text/plain,' +\r\n 'text/rtf,' +\r\n 'text/richtext,' +\r\n 'application/pdf,' +\r\n 'application/rtf,' +\r\n 'application/msexcel,' +\r\n 'application/vnd.ms-excel,' +\r\n 'application/vnd.ms-outlook,' +\r\n 'application/msword,' +\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document,' +\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template,' +\r\n 'application/vnd.ms-word.document.macroEnabled.12,' +\r\n 'application/vnd.ms-word.template.macroEnabled.12,' +\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,' +\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template,' +\r\n 'application/vnd.ms-excel.sheet.macroEnabled.12,' +\r\n 'application/vnd.ms-excel.template.macroEnabled.12,' +\r\n 'application/vnd.ms-excel.addin.macroEnabled.12,' +\r\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12,' +\r\n 'message/rfc822';\r\n","\r\n
\r\n \r\n \r\n \r\n\r\n 0\" class=\"fileUploadMsg color-error\">{{ error }}\r\n 0\" class=\"fileUploadMsg\"\r\n >{{ filesToUpload.length }} Dateien ausgewählt...\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n","import { Component, Input, ViewChild } from '@angular/core';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { RouteKeys } from '../../helper/route-keys.helper';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { DokumenteEditComponent } from './dokumente-edit/dokumente-edit.component';\r\nimport { confirm } from 'devextreme/ui/dialog';\r\nimport notify from 'devextreme/ui/notify';\r\nimport { formatDate } from 'devextreme/localization';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { PopupService } from '../../services/popup.service';\r\n\r\n@Component({\r\n selector: 'app-dokumente',\r\n templateUrl: './dokumente.component.html',\r\n styleUrls: ['./dokumente.component.scss'],\r\n})\r\nexport class DokumenteComponent {\r\n @ViewChild('dokumenteEditPopup', { static: false }) dokumenteEditPopup: DokumenteEditComponent;\r\n @ViewChild('dokumenteDataGrid', { static: false }) dokumenteDataGrid: DxDataGridComponent;\r\n // @ViewChild('multiRichEditPopup', { static: false }) multiRichEditPopup: DocxMultiPreviewPopupComponent;\r\n\r\n @Input() type: string = null;\r\n @Input() readOnly: boolean = false;\r\n\r\n @Input() set id(id: number) {\r\n if (id !== null) {\r\n this.entityId = id;\r\n this.load(id);\r\n } else {\r\n this.dataSource = null;\r\n }\r\n }\r\n\r\n entityId: number;\r\n dataSource: any[] = [];\r\n selectedItem: any = null;\r\n filesToUpload: any[] = [];\r\n counter_crud: number = 0;\r\n old_dataSource: string;\r\n\r\n get hasFilesToUpload(): boolean {\r\n return this.filesToUpload !== undefined && this.filesToUpload !== null && this.filesToUpload.length > 0;\r\n }\r\n\r\n constructor(private apiService: ApiService, public configService: ConfigService, public popupService: PopupService) {\r\n this.onClickDelete = this.onClickDelete.bind(this);\r\n this.onClickDownload = this.onClickDownload.bind(this);\r\n this.onClickNew = this.onClickNew.bind(this);\r\n this.onClickEdit = this.onClickEdit.bind(this);\r\n this.reload = this.reload.bind(this);\r\n this.onClickVorschau = this.onClickVorschau.bind(this);\r\n this.checkIsVorschauDisabled = this.checkIsVorschauDisabled.bind(this);\r\n }\r\n\r\n load(entityId: number) {\r\n this.apiService.post(RouteKeys.Dokumente.getAll, { type: this.type, id: entityId }).subscribe(\r\n (response) => {\r\n this.dataSource = response;\r\n this.old_dataSource = JSON.stringify(this.dataSource);\r\n this.dokumenteDataGrid.instance.refresh();\r\n },\r\n (err) => {\r\n throw err.message;\r\n }\r\n );\r\n }\r\n\r\n reload() {\r\n this.load(this.entityId);\r\n }\r\n\r\n onSelectionChanged(e) {\r\n this.selectedItem = e.selectedRowsData[0];\r\n }\r\n\r\n onToolbarPreparing(e) {\r\n var searchPanel = e.toolbarOptions.items.filter((item) => item.name === 'searchPanel');\r\n if (searchPanel && searchPanel[0]) {\r\n searchPanel[0].location = 'before';\r\n }\r\n\r\n e.toolbarOptions.items.push({\r\n location: 'after',\r\n widget: 'dxButton',\r\n cssClass: 'datagridToolbarNewBtn',\r\n options: {\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'add',\r\n text: 'Hinzufügen',\r\n onClick: this.onClickNew.bind(this),\r\n },\r\n });\r\n }\r\n\r\n onContentReady(e) {\r\n e.component.filter([['toDelete', '=', false], 'or', ['toDelete', '=', undefined], 'or', ['toDelete', '=', null]]);\r\n this.dokumenteDataGrid.instance.clearSelection();\r\n\r\n e.component.columnOption('command:select', {\r\n visibleIndex: 1,\r\n fixedPosition: 'right',\r\n visibleWidth: 70,\r\n });\r\n }\r\n\r\n isDisabled(e) {\r\n if (e.row.data.toAdd !== undefined && e.row.data.toAdd !== null && e.row.data.toAdd === true) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n onClickNew(e) {\r\n this.dokumenteEditPopup.openNew();\r\n }\r\n\r\n onClickDelete(e) {\r\n let result = confirm('Wollen Sie das Dokument wirklich löschen?', 'Bestätigung');\r\n result.then((dialogResult) => {\r\n if (dialogResult) {\r\n if (e.row.data.toAdd !== undefined && e.row.data.toAdd !== null && e.row.data.toAdd === true) {\r\n this.filesToUpload = this.filesToUpload.filter((x) => x.id !== e.row.data.dokumentId);\r\n this.dataSource = this.dataSource.filter((x) => x.dokumentId !== e.row.data.dokumentId);\r\n } else {\r\n const exist = this.dataSource.find((x) => x.dokumentId === e.row.data.dokumentId);\r\n if (exist !== undefined && exist !== null) {\r\n exist.toDelete = true;\r\n this.dokumenteDataGrid.instance.refresh();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n onClickDownload(e) {\r\n this.apiService.postDownload(\r\n RouteKeys.Dokumente.download,\r\n e.row.data.fileName,\r\n { type: this.getType(e.row.data.bereich), dokumentId: e.row.data.dokumentId, fileName: e.row.data.fileName },\r\n (err) => {\r\n if (err) {\r\n notify(\r\n {\r\n message: 'Die Datei wurde nicht gefunden!',\r\n },\r\n 'error'\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n onAddClose(e) {\r\n if (this.dataSource === null) {\r\n this.dataSource = [];\r\n }\r\n const id_index = this.dataSource.length;\r\n\r\n for (let index = 0; index < e.length; index++) {\r\n const element = e[index];\r\n const newId = (id_index + index + 1) * -1; // z.B. Das vierte Dokument ist dann ID -4 . Damit die ID immer neu ist, damit es im Datagrid nicht beim Laden zu Fehlern kommt\r\n\r\n this.filesToUpload.push({\r\n id: newId,\r\n file: element,\r\n });\r\n\r\n this.dataSource.push({\r\n dokumentId: newId,\r\n bereich: this.type === 'Haushalt' ? 'Haushalt' : '',\r\n bezeichnung: element.name,\r\n fileName: element.name,\r\n datum: new Date(),\r\n istVomBuerger: false,\r\n toAdd: true,\r\n });\r\n }\r\n\r\n this.dokumenteDataGrid.instance.refresh();\r\n setTimeout(() => {\r\n if (this.dokumenteDataGrid.instance.totalCount() > 0) {\r\n this.dokumenteDataGrid.instance.editRow(this.dokumenteDataGrid.instance.totalCount() - 1);\r\n }\r\n }, 600);\r\n }\r\n\r\n onClickEdit(e) {\r\n e.component.editRow(e.row.rowIndex);\r\n }\r\n\r\n updateRow(e) {\r\n if (e.key.toAdd !== undefined && e.key.toAdd !== null && e.key.toAdd === true) {\r\n return;\r\n }\r\n e.newData.toEdit = true;\r\n }\r\n\r\n save(entityId: number, cb: () => void = null) {\r\n this.counter_crud = 0;\r\n\r\n if (this.dataSource == null || this.dataSource.length < 1) {\r\n if (cb !== undefined && cb !== null) {\r\n cb();\r\n }\r\n } else {\r\n const count = this.dataSource.filter(\r\n (ds) =>\r\n (ds.toDelete !== undefined && ds.toDelete !== null && ds.toDelete === true) ||\r\n (ds.toEdit !== undefined && ds.toEdit !== null && ds.toEdit === true) ||\r\n (ds.toAdd !== undefined && ds.toAdd !== null && ds.toAdd === true)\r\n ).length;\r\n this.counter_crud = count;\r\n\r\n if (count < 1) {\r\n if (cb !== undefined && cb !== null) {\r\n cb();\r\n }\r\n }\r\n\r\n for (let index = 0; index < this.dataSource.length; index++) {\r\n const ds = this.dataSource[index];\r\n if (ds.toDelete !== undefined && ds.toDelete !== null && ds.toDelete === true) {\r\n this.toDelete(entityId, ds.dokumentId, cb);\r\n } else if (ds.toEdit !== undefined && ds.toEdit !== null && ds.toEdit === true) {\r\n this.toEdit(entityId, ds.dokumentId, ds.bezeichnung, ds.dokumentenArtId, cb);\r\n } else if (ds.toAdd !== undefined && ds.toAdd !== null && ds.toAdd === true) {\r\n const fileToUpload = this.filesToUpload.find((x) => x.id === ds.dokumentId);\r\n this.toAdd(entityId, ds, fileToUpload.file, cb);\r\n }\r\n }\r\n }\r\n }\r\n\r\n toAdd(entityId: number, ds, file, cb: () => void = null) {\r\n const toSend = {\r\n entityId: entityId,\r\n type: this.type,\r\n bezeichnung: ds.bezeichnung,\r\n fileName: ds.fileName,\r\n dokumentenArtId: ds.dokumentenArtId,\r\n };\r\n\r\n let input = new FormData();\r\n input.append('file', file);\r\n input.append('vievmodel', JSON.stringify(toSend));\r\n\r\n this.apiService.upload(\r\n RouteKeys.Dokumente.save,\r\n input,\r\n (response) => {\r\n this.finish_crud(entityId, cb);\r\n },\r\n (err) => {\r\n throw err;\r\n }\r\n );\r\n }\r\n\r\n toEdit(entityId: number, dokumentId, bezeichnung, art, cb: () => void = null) {\r\n const toSend = { type: this.type, dokumentId: dokumentId, bezeichnung: bezeichnung, dokumentenArtId: art };\r\n\r\n this.apiService.post(RouteKeys.Dokumente.update, toSend).subscribe(\r\n (response) => {\r\n this.finish_crud(entityId, cb);\r\n },\r\n (err) => {\r\n throw err;\r\n }\r\n );\r\n }\r\n\r\n toDelete(entityId: number, dokumentId, cb: () => void = null) {\r\n const toSend = { type: this.type, dokumentId: dokumentId };\r\n\r\n this.apiService.post(RouteKeys.Dokumente.remove, toSend).subscribe(\r\n (response) => {\r\n this.finish_crud(entityId, cb);\r\n },\r\n (err) => {\r\n throw err;\r\n }\r\n );\r\n }\r\n\r\n finish_crud(entityId: number, cb: () => void = null) {\r\n this.counter_crud--;\r\n if (this.counter_crud === 0) {\r\n this.load(entityId);\r\n if (cb !== undefined && cb !== null) {\r\n cb();\r\n }\r\n }\r\n }\r\n\r\n calculateDatum(e) {\r\n if (e.toAdd !== undefined && e.toAdd !== null && e.toAdd === true) {\r\n return 'Neu';\r\n } else {\r\n return formatDate(new Date(e.datum), 'dd.MM.yyyy');\r\n }\r\n }\r\n\r\n onRowDblClick(e) {\r\n if (e.data.bereich === 'Haushalt') {\r\n this.dokumenteDataGrid.instance.editRow(e.rowIndex);\r\n }\r\n }\r\n\r\n onClickVorschau(e) {\r\n const results: any[] = [];\r\n for (let index = 0; index < this.dataSource.length; index++) {\r\n const ds = this.dataSource[index];\r\n const exist = this.filesToUpload.find((x) => x.id === ds.dokumentId);\r\n if (exist === undefined) {\r\n results.push(ds);\r\n }\r\n }\r\n\r\n const index = results.findIndex((result) => {\r\n return result.dokumentId === e.row.data.dokumentId;\r\n });\r\n\r\n // this.multiRichEditPopup.openMulti(results, index);\r\n this.popupService.showDokumentEditPopup({ type: this.getType(e.row.data.bereich), doc: e.row.data, readOnly: true }, (c) => {});\r\n }\r\n\r\n onEditClose(e) {\r\n if (e.file !== undefined && e.file !== null) {\r\n const exist_filesToUpload = this.filesToUpload.find((x) => x.id === e.id);\r\n if (exist_filesToUpload !== undefined && exist_filesToUpload !== null) {\r\n exist_filesToUpload.file = e.file;\r\n } else {\r\n this.filesToUpload.push({\r\n id: e.id,\r\n file: e.file,\r\n });\r\n }\r\n\r\n const exist_dataSource = this.dataSource.find((x) => x.dokumentId === e.id);\r\n if (exist_dataSource !== undefined && exist_dataSource !== null) {\r\n exist_dataSource.bezeichnung = e.bezeichnung;\r\n exist_dataSource.fileName = e.file.name;\r\n if (exist_dataSource.toAdd !== true) {\r\n exist_dataSource.toEdit = true;\r\n }\r\n }\r\n } else {\r\n const exist_dataSource = this.dataSource.find((x) => x.dokumentId === e.id);\r\n if (exist_dataSource !== undefined && exist_dataSource !== null) {\r\n exist_dataSource.bezeichnung = e.bezeichnung;\r\n if (exist_dataSource.toAdd !== true) {\r\n exist_dataSource.toEdit = true;\r\n }\r\n }\r\n }\r\n\r\n this.dokumenteDataGrid.instance.refresh();\r\n }\r\n\r\n // disabledFileExtensions: string[] = ['msg', 'xlsx', 'xls'];\r\n enabledFileExtensions: string[] = ['pdf', 'doc', 'docx', 'txt', 'rtf', 'jpeg', 'jpg', 'bmp', 'png', 'gif'];\r\n\r\n checkIsVorschauDisabled(e: any) {\r\n if (e.row.data.toAdd !== undefined && e.row.data.toAdd !== null && e.row.data.toAdd === true) {\r\n return true;\r\n }\r\n\r\n const fileName = e.row.data.fileName;\r\n const fileExtensionArray = fileName.split('.');\r\n const fileExtension = fileExtensionArray[fileExtensionArray.length - 1];\r\n if (!this.enabledFileExtensions.includes(fileExtension)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getIsChanged(): boolean {\r\n if (JSON.stringify(this.dataSource) !== this.old_dataSource) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isNotHaushalt(e) {\r\n return this.type === 'Haushalt' && e.row.data.bereich !== 'Haushalt';\r\n }\r\n\r\n private getType(bereich: string) {\r\n if (this.type !== 'Haushalt') {\r\n return this.type;\r\n } else {\r\n if (bereich === 'Haushalt') {\r\n return 'Haushalt';\r\n } else if (bereich.startsWith('Vertrag')) {\r\n return 'Vertrag';\r\n } else if (bereich.startsWith('Antrag')) {\r\n return 'Antrag';\r\n } else {\r\n return '';\r\n }\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { DxFormComponent } from 'devextreme-angular/ui/form';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { confirm } from 'devextreme/ui/dialog';\r\n\r\nexport interface ekRechnerFormData {\r\n hhaId: number;\r\n modus: string;\r\n hhaPersonen: any[];\r\n ekBerechnung: ekBerechnung;\r\n}\r\n\r\nexport interface ekBerechnung {\r\n id: number;\r\n datumBerechnung: Date;\r\n datumNachweis?: Date | null;\r\n rechtsgrundlage: number;\r\n bemerkung: string;\r\n ekPersonId_1: number;\r\n ekPersonId_2: number;\r\n ekPersonId_3: number;\r\n ekDetails?: ekPosition[];\r\n betragJahr?: number;\r\n betragMonat?: number;\r\n}\r\n\r\nexport interface ekPosition {\r\n id: number;\r\n einkommenstyp: string;\r\n einkommensartId: number;\r\n frequenz: number;\r\n betrag_1: number;\r\n betrag_2: number;\r\n betrag_3: number;\r\n}\r\n\r\nexport interface ekPerson {\r\n index: number;\r\n hhaAngehoerigerId: number;\r\n name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-einkommensrechner',\r\n templateUrl: './einkommensrechner.component.html',\r\n styleUrls: ['./einkommensrechner.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class EinkommensrechnerComponent {\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('form', { static: false }) form: DxFormComponent;\r\n\r\n @Input() formData: ekRechnerFormData;\r\n @Output() onClose: EventEmitter = new EventEmitter(null);\r\n\r\n titel: string = '';\r\n isLoading: boolean = false;\r\n dsRechtsgrundlagen: any[] = this.configService.getEinkommenRechtsgrundlagen();\r\n\r\n dsEkPerioden: any[] = [\r\n { id: 1, name: 'jährlich' },\r\n { id: 2, name: 'monatlich' },\r\n ];\r\n\r\n dsEinnahmen: any[] = this.configService.getKatalog('EinkommensartKatalog').filter((x) => x.einkommenstyp === 'einnahme');\r\n dsAbzuege: any[] = this.configService.getKatalog('EinkommensartKatalog').filter((x) => x.einkommenstyp === 'abzug');\r\n\r\n ekEinnahmen: any[] = [];\r\n ekAbzuege: any[] = [];\r\n\r\n gesamtEinnahmen1: number = 0;\r\n gesamtAbzuege1: number = 0;\r\n gesamtEinnahmen2: number = 0;\r\n gesamtAbzuege2: number = 0;\r\n gesamtEinnahmen3: number = 0;\r\n gesamtAbzuege3: number = 0;\r\n\r\n selectedGrundlage: any;\r\n\r\n betragMonat: number = 0;\r\n betragJahr: number = 0;\r\n\r\n ekPerson_1: ekPerson = null;\r\n ekPerson_2: ekPerson = null;\r\n ekPerson_3: ekPerson = null;\r\n\r\n isDisabled: boolean = true;\r\n\r\n anzahlSpalten: number = 11;\r\n\r\n constructor(private configService: ConfigService) {\r\n this.showEkRechner = this.showEkRechner.bind(this);\r\n this.onClickSave = this.onClickSave.bind(this);\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onChangeEinkommen = this.onChangeEinkommen.bind(this);\r\n this.einkommenBerechnen = this.einkommenBerechnen.bind(this);\r\n this.onChangePerson = this.onChangePerson.bind(this);\r\n this.onClickNeuePerson = this.onClickNeuePerson.bind(this);\r\n this.onChangeValuePerson = this.onChangeValuePerson.bind(this);\r\n }\r\n\r\n showEkRechner() {\r\n this.ekPerson_1 = this.formData.hhaPersonen.find((x) => x.hhaAngehoerigerId === this.formData.ekBerechnung.ekPersonId_1);\r\n this.ekPerson_2 = this.formData.hhaPersonen.find((x) => x.hhaAngehoerigerId === this.formData.ekBerechnung.ekPersonId_2);\r\n this.ekPerson_3 = this.formData.hhaPersonen.find((x) => x.hhaAngehoerigerId === this.formData.ekBerechnung.ekPersonId_3);\r\n if (this.ekPerson_3 === undefined) {\r\n this.ekPerson_3 = null;\r\n }\r\n if (this.ekPerson_3 !== null) {\r\n this.anzahlSpalten = 13;\r\n } else {\r\n this.anzahlSpalten = 11;\r\n }\r\n\r\n this.popup.title =\r\n 'Einkommensberechnung für ' +\r\n (this.ekPerson_1 !== null && this.ekPerson_1 !== undefined ? this.ekPerson_1.name : '') +\r\n (this.ekPerson_2 !== null && this.ekPerson_2 !== undefined ? ' und ' + this.ekPerson_2.name : '');\r\n this.fillForm();\r\n setTimeout(() => {\r\n if (this.form !== undefined) {\r\n // this.form.instance._refresh();\r\n this.form.instance.repaint();\r\n }\r\n this.popup.instance.show();\r\n }, 10);\r\n }\r\n\r\n onClickSave() {\r\n const validationResult = this.form.instance.validate();\r\n\r\n if (validationResult.isValid) {\r\n this.onClose.next(this.formData);\r\n this.popup.instance.hide();\r\n }\r\n }\r\n\r\n onClickClose() {\r\n this.popup.instance.hide();\r\n }\r\n\r\n onChangeEinkommen(e) {\r\n this.einkommenBerechnen();\r\n }\r\n\r\n onChangeEinkommensArt(e) {\r\n this.refreshDsEinkommensArten();\r\n this.einkommenBerechnen();\r\n }\r\n\r\n private refreshDsEinkommensArten() {\r\n this.dsEinnahmen.forEach((item) => {\r\n item.disabled = this.formData.ekBerechnung.ekDetails.find((x) => x.einkommensartId === item.id) !== undefined;\r\n });\r\n this.dsAbzuege.forEach((item) => {\r\n item.disabled = this.formData.ekBerechnung.ekDetails.find((x) => x.einkommensartId === item.id) !== undefined;\r\n });\r\n }\r\n\r\n private einkommenBerechnen() {\r\n let einnahmen1 = 0;\r\n let abzuege1 = 0;\r\n let einnahmen2 = 0;\r\n let abzuege2 = 0;\r\n let einnahmen3 = 0;\r\n let abzuege3 = 0;\r\n let gesamt = 0;\r\n if (\r\n this.formData.ekBerechnung.ekDetails !== null &&\r\n this.formData.ekBerechnung.ekDetails !== undefined &&\r\n this.formData.ekBerechnung.ekDetails.length > 0\r\n ) {\r\n // ek_berechnung.istBerechnet = true;\r\n for (let x = 0; x < this.formData.ekBerechnung.ekDetails.length; x++) {\r\n let item = this.formData.ekBerechnung.ekDetails[x];\r\n\r\n if (item.einkommenstyp === 'einnahme' && item.einkommensartId > 0) {\r\n if (item.frequenz === 2) {\r\n einnahmen1 += item.betrag_1 * 12;\r\n einnahmen2 += item.betrag_2 * 12;\r\n einnahmen3 += item.betrag_3 * 12;\r\n } else {\r\n einnahmen1 += item.betrag_1;\r\n einnahmen2 += item.betrag_2;\r\n einnahmen3 += item.betrag_3;\r\n }\r\n } else if (item.einkommenstyp === 'abzug' && item.einkommensartId > 0) {\r\n if (item.frequenz === 2) {\r\n abzuege1 += item.betrag_1 * 12;\r\n abzuege2 += item.betrag_2 * 12;\r\n abzuege3 += item.betrag_3 * 12;\r\n } else {\r\n abzuege1 += item.betrag_1;\r\n abzuege2 += item.betrag_2;\r\n abzuege3 += item.betrag_3;\r\n }\r\n }\r\n }\r\n }\r\n this.gesamtEinnahmen1 = einnahmen1;\r\n this.gesamtEinnahmen2 = einnahmen2;\r\n this.gesamtEinnahmen3 = einnahmen3;\r\n this.gesamtAbzuege1 = abzuege1;\r\n this.gesamtAbzuege2 = abzuege2;\r\n this.gesamtAbzuege3 = abzuege3;\r\n gesamt = einnahmen1 + einnahmen2 + einnahmen3 - abzuege1 - abzuege2 - abzuege3;\r\n\r\n if (gesamt > 0) {\r\n this.formData.ekBerechnung.betragJahr = gesamt;\r\n } else {\r\n this.formData.ekBerechnung.betragJahr = 0;\r\n }\r\n this.formData.ekBerechnung.betragMonat = this.formData.ekBerechnung.betragJahr / 12;\r\n this.formData.ekBerechnung.betragMonat = Math.round(this.formData.ekBerechnung.betragMonat * 100) / 100;\r\n\r\n this.betragMonat = this.formData.ekBerechnung.betragMonat;\r\n this.betragJahr = this.formData.ekBerechnung.betragJahr;\r\n }\r\n\r\n onClickAddEinkommenDetails(e, typ) {\r\n this.addEinkommenDetails(typ);\r\n }\r\n\r\n addEinkommenDetails(typ) {\r\n let idNeu = -1;\r\n if (this.formData.ekBerechnung.ekDetails !== null && this.formData.ekBerechnung.ekDetails !== undefined) {\r\n for (let i = 0; i < this.formData.ekBerechnung.ekDetails.length; i++) {\r\n if (this.formData.ekBerechnung.ekDetails[i].id <= idNeu) {\r\n idNeu = this.formData.ekBerechnung.ekDetails[i].id - 1;\r\n }\r\n }\r\n }\r\n\r\n this.formData.ekBerechnung.ekDetails.push({\r\n id: idNeu,\r\n einkommenstyp: typ,\r\n einkommensartId: null,\r\n betrag_1: 0,\r\n betrag_2: 0,\r\n betrag_3: 0,\r\n frequenz: 1,\r\n });\r\n this.fillForm();\r\n }\r\n\r\n onClickRemoveEinkommenDetails(e, ek) {\r\n this.formData.ekBerechnung.ekDetails = this.formData.ekBerechnung.ekDetails.filter((x) => x.id !== ek.id);\r\n this.fillForm();\r\n this.einkommenBerechnen();\r\n }\r\n\r\n onClickHifsrechner(e, ekPosition) {}\r\n\r\n private fillForm() {\r\n if (this.formData.ekBerechnung.ekDetails !== null && this.formData.ekBerechnung.ekDetails !== undefined) {\r\n this.ekEinnahmen = this.formData.ekBerechnung.ekDetails.filter((x) => x.einkommenstyp === 'einnahme');\r\n this.ekAbzuege = this.formData.ekBerechnung.ekDetails.filter((x) => x.einkommenstyp === 'abzug');\r\n }\r\n }\r\n\r\n onClickNeuePerson(e) {\r\n if (this.ekPerson_3 === null) {\r\n this.ekPerson_3 = undefined;\r\n this.anzahlSpalten = 13;\r\n } else {\r\n this.ekPerson_3 = null;\r\n this.anzahlSpalten = 11;\r\n this.formData.ekBerechnung.ekPersonId_3 = null;\r\n this.betraegeLoeschen(3);\r\n this.einkommenBerechnen();\r\n }\r\n }\r\n\r\n onChangePerson(e, index) {\r\n if (index === 1) {\r\n this.ekPerson_1 = this.formData.hhaPersonen.find((x) => x.hhaAngehoerigerId === this.formData.ekBerechnung.ekPersonId_1);\r\n } else if (index === 2) {\r\n this.ekPerson_2 = this.formData.hhaPersonen.find((x) => x.hhaAngehoerigerId === this.formData.ekBerechnung.ekPersonId_2);\r\n } else if (index === 3) {\r\n this.ekPerson_3 = this.formData.hhaPersonen.find((x) => x.hhaAngehoerigerId === this.formData.ekBerechnung.ekPersonId_3);\r\n }\r\n }\r\n\r\n onChangeValuePerson(e, index) {\r\n if (e.value === null) {\r\n confirm('Alle Einkünfte und Abzüge für diese Person werden gelöscht. Fortrsetzen?', 'Bestätigen').then((resolve) => {\r\n if (resolve === true) {\r\n this.betraegeLoeschen(index);\r\n this.form.instance.repaint();\r\n this.einkommenBerechnen();\r\n } else {\r\n e.component.option('value', e.previousValue);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private betraegeLoeschen(index) {\r\n this.formData.ekBerechnung.ekDetails.forEach((pos) => {\r\n if (index === 1) {\r\n pos.betrag_1 = null;\r\n } else if (index === 2) {\r\n pos.betrag_2 = null;\r\n } else if (index === 3) {\r\n pos.betrag_3 = null;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n 0\">\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n 2\">\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n 0\" itemType=\"group\" [colCount]=\"anzahlSpalten\">\r\n \r\n \r\n Frequenz\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n Einnahmen gesamt:\r\n \r\n \r\n {{gesamtEinnahmen1 | currency:'EUR'}} / Jahr\r\n \r\n \r\n {{gesamtEinnahmen2 | currency:'EUR'}} / Jahr\r\n \r\n \r\n {{gesamtEinnahmen3 | currency:'EUR'}} / Jahr\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n 0\" itemType=\"group\" [colCount]=\"anzahlSpalten\">\r\n \r\n \r\n Frequenz\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n Abzüge gesamt:\r\n \r\n \r\n {{gesamtAbzuege1 | currency:'EUR'}} / Jahr\r\n \r\n \r\n {{gesamtAbzuege2 | currency:'EUR'}} / Jahr\r\n \r\n \r\n {{gesamtAbzuege3 | currency:'EUR'}} / Jahr\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Maßgebliches Einkommen pro Monat:\r\n {{betragMonat | currency : 'EUR'}}\r\n Maßgebliches Einkommen pro Jahr:\r\n {{betragJahr | currency : 'EUR'}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { DxScrollViewComponent } from 'devextreme-angular/ui/scroll-view';\r\nimport { IErrorItemInterface } from '../../interfaces/ErrorBox/IErrorBoxItems';\r\n\r\n@Component({\r\n selector: 'app-error-box',\r\n templateUrl: 'error-box.component.html',\r\n styleUrls: ['error-box.component.scss'],\r\n})\r\nexport class ErrorBoxComponent implements OnChanges {\r\n @Input() isVisible: boolean;\r\n @Input() title: string;\r\n @Input() items: IErrorItemInterface[];\r\n @Input() scrollView: DxScrollViewComponent;\r\n\r\n constructor() {}\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.isVisible !== undefined && changes.isVisible !== null) {\r\n let element = document.getElementById('errorBox');\r\n if (element !== undefined && element !== null) {\r\n if (changes.isVisible.currentValue) {\r\n element.classList.remove('hidden');\r\n } else {\r\n element.classList.add('hidden');\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n {{error.category}}
\r\n {{error.message}}\r\n
\r\n
\r\n
\r\n
","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { Subscription } from 'rxjs';\r\nimport { PopupService } from '../../services/popup.service';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { RouteKeys } from '../../helper/route-keys.helper';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { ColumnChooserComponent } from '../columnChooser/columnChooser.component';\r\n\r\n@Component({\r\n selector: 'app-ewo-person-search-popup',\r\n templateUrl: './ewo-person-search-popup.component.html',\r\n styleUrls: ['./ewo-person-search-popup.component.scss'],\r\n})\r\nexport class EwoPersonSearchPopupComponent implements OnInit, OnDestroy {\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('dataGrid', { static: false }) dataGrid: DxDataGridComponent;\r\n @ViewChild('columnChooser', { static: false }) columnChooser: ColumnChooserComponent;\r\n\r\n subscription_get_PopupAsObservable: Subscription;\r\n protected _data: any;\r\n set contextData(data) {\r\n this._data = JSON.parse(JSON.stringify(data));\r\n }\r\n\r\n get contextData() {\r\n return this._data;\r\n }\r\n\r\n onClose: (e) => void;\r\n init: boolean = false;\r\n isLoading: boolean = false;\r\n selectedItem: any = null;\r\n dataSource: DataSource;\r\n addressLat: number;\r\n addressLon: number;\r\n\r\n focusedRowKey: number;\r\n addSorgebrechtigte: boolean = false;\r\n\r\n constructor(private popupService: PopupService, private apiService: ApiService, public configService: ConfigService) {\r\n this.onClickOk = this.onClickOk.bind(this);\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.getGeschlechtText = this.getGeschlechtText.bind(this);\r\n this.onSelectAddSorgeberechtigte = this.onSelectAddSorgeberechtigte.bind(this);\r\n this.setInitialCurrentPos();\r\n this.subscription_get_PopupAsObservable = this.popupService.get_ewoPersonSearchPopupAsObservable.subscribe((e) => this.onPersonSearchEvent(e));\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.dataSource = new DataSource({\r\n // key: 'id',\r\n // load: (loadOptions) => {\r\n // return this.apiService.post(RouteKeys.Bgb.person_search, loadOptions)\r\n // .toPromise()\r\n // .then(response => {\r\n // this.init = true;\r\n // return {\r\n // data: response.data,\r\n // totalCount: response.totalCount,\r\n // summary: response.summary,\r\n // groupCount: response.groupCount\r\n // };\r\n // }).catch(err => {\r\n // throw err.message;\r\n // });\r\n // }\r\n // });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n onClickOk(e) {\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose({\r\n status: 1,\r\n selectedItem: this.selectedItem,\r\n addSorgeberechtigte: this.addSorgebrechtigte,\r\n });\r\n }\r\n this.dataGrid.instance.clearSelection();\r\n this.popup.instance.hide();\r\n }\r\n\r\n onSelectAddSorgeberechtigte(e) {\r\n this.addSorgebrechtigte = e.value;\r\n }\r\n\r\n onClickClose(e) {\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose({\r\n status: 2,\r\n });\r\n }\r\n this.dataGrid.instance.clearSelection();\r\n this.popup.instance.hide();\r\n }\r\n\r\n onPersonSearchEvent(e: any): void {\r\n if (e !== null && e !== undefined && e.open === true) {\r\n this.onClose = e.closeCb;\r\n this.contextData = e.data;\r\n this.selectedItem = null;\r\n this.dataSource = e.data.persons;\r\n\r\n setTimeout(() => {\r\n this.init = true;\r\n }, 0);\r\n\r\n if (this.dataGrid) {\r\n this.dataGrid.instance.clearFilter();\r\n this.dataGrid.instance.clearSorting();\r\n }\r\n\r\n // this.dataSource.reload();\r\n this.popup.instance.show();\r\n } else {\r\n this.contextData = null;\r\n }\r\n }\r\n\r\n onContentReady(e) {\r\n e.component.columnOption('command:select', {\r\n visibleIndex: 1,\r\n fixedPosition: 'right',\r\n visibleWidth: 70,\r\n });\r\n\r\n if (\r\n this.contextData !== undefined &&\r\n this.contextData !== null &&\r\n this.contextData.selected !== undefined &&\r\n this.contextData.selected !== null &&\r\n this.contextData.selected > 0\r\n ) {\r\n this.dataGrid.instance.selectRows([this.contextData.selected], false);\r\n this.focusedRowKey = this.contextData.selected;\r\n }\r\n }\r\n\r\n onToolbarPreparing(e) {\r\n const columnChooserButton = e.toolbarOptions.items.find((x) => x.name === 'columnChooserButton');\r\n if (columnChooserButton) {\r\n columnChooserButton.locateInMenu = 'never';\r\n columnChooserButton.showText = 'never';\r\n columnChooserButton.options.visible = false;\r\n }\r\n\r\n var searchPanel = e.toolbarOptions.items.filter((item) => item.name === 'searchPanel');\r\n if (searchPanel && searchPanel[0]) {\r\n searchPanel[0].location = 'before';\r\n }\r\n\r\n e.toolbarOptions.items.push({\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'undo',\r\n hint: 'Filter zurücksetzen',\r\n onClick: (event) => {\r\n this.dataGrid.instance.clearFilter();\r\n this.dataGrid.instance.clearSorting();\r\n this.dataGrid.instance.clearSelection();\r\n },\r\n },\r\n });\r\n\r\n e.toolbarOptions.items.push({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'columnchooser',\r\n hint: 'Spaltenauswahl',\r\n onClick: (e) => {\r\n this.columnChooser.open();\r\n },\r\n },\r\n });\r\n }\r\n\r\n onSelectionChanged(e) {\r\n var deselectRowKeys = [];\r\n if (e.selectedRowKeys && e.selectedRowKeys[0]) {\r\n let rowData = e.selectedRowsData[0];\r\n if (rowData !== undefined && rowData !== null) {\r\n this.selectedItem = rowData;\r\n }\r\n }\r\n\r\n if (deselectRowKeys.length) {\r\n this.selectedItem = null;\r\n e.component.deselectRows(deselectRowKeys);\r\n }\r\n }\r\n\r\n handleEditCloseEvent(e: any) {\r\n if (e.state === 1) {\r\n this.dataGrid.instance.refresh().then(() => {\r\n this.dataGrid.instance.selectRows([e.data.id], false);\r\n this.selectedItem = this.dataGrid.instance.getSelectedRowsData()[0];\r\n this.focusedRowKey = this.dataGrid.instance.getSelectedRowKeys()[0];\r\n });\r\n }\r\n }\r\n\r\n onRowPrepared(e) {\r\n if (e.rowType === 'data') {\r\n if (\r\n this.contextData !== undefined &&\r\n this.contextData !== null &&\r\n this.contextData.blocked !== undefined &&\r\n this.contextData.blocked !== null &&\r\n this.contextData.blocked.length > 0\r\n ) {\r\n if (this.contextData.blocked.includes(e.data.id)) {\r\n e.rowElement.style.color = 'rgb(128 128 128 / 75%)';\r\n }\r\n }\r\n }\r\n }\r\n\r\n getGeschlechtText(e: any) {\r\n if (!e) return '';\r\n if (e.value.toLowerCase() === 'w') {\r\n return 'weiblich';\r\n } else if (e.value.toLowerCase() === 'm') {\r\n return 'männlich';\r\n } else {\r\n return 'divers';\r\n }\r\n }\r\n\r\n getAdressText(e: any) {\r\n const hauptwohnsitz = e.value.find((x) => x.art.schluessel === 'HAW');\r\n if (!hauptwohnsitz) return '';\r\n const strasse = hauptwohnsitz.adresse.strasse.name;\r\n const ort = hauptwohnsitz.adresse.ort.name;\r\n const plz = hauptwohnsitz.adresse.postleitzahl;\r\n const hausnummer = hauptwohnsitz.adresse.hausnummer;\r\n const hausnummerZusatz = hauptwohnsitz.adresse.hausnummerzusatz ? hauptwohnsitz.adresse.hausnummerzusatz : '';\r\n\r\n return strasse + ' ' + hausnummer + '' + hausnummerZusatz + ', ' + plz + ' ' + ort;\r\n }\r\n\r\n setInitialCurrentPos() {\r\n this.addressLat = this.configService.getGlobalSettingAsNumber('defaultLatitude');\r\n this.addressLon = this.configService.getGlobalSettingAsNumber('defaultLongitude');\r\n }\r\n\r\n onAddrKindSelected(e) {\r\n this.contextData.searchData.strasse = e.street;\r\n this.contextData.searchData.plz = e.postcode;\r\n this.contextData.searchData.ortsteil = e.district;\r\n this.contextData.searchData.ort = e.city;\r\n this.contextData.searchData.hnr = e.housenumber;\r\n this.contextData.searchData.hnrZusatz = e.supplement;\r\n }\r\n\r\n onClickEwoFind() {\r\n if (this.contextData.searchData !== undefined && this.contextData.searchData !== null) {\r\n let model = {\r\n vorname: this.contextData.searchData.vorname,\r\n name: this.contextData.searchData.nachname,\r\n geburtsdatum: this.contextData.searchData.geburtsdatum,\r\n strasse: this.contextData.searchData.strasse,\r\n hNr: this.contextData.searchData.hnr,\r\n hNrZusatz: this.contextData.searchData.hnrZusatz,\r\n plz: this.contextData.searchData.plz,\r\n ort: this.contextData.searchData.ort,\r\n ortsteil: this.contextData.searchData.ortsteil,\r\n };\r\n this.apiService.post(RouteKeys.Ewo.check_person_residence, model).subscribe({\r\n next: (response: any) => {\r\n if (response && response.match) {\r\n this.dataSource = response.results;\r\n } else {\r\n this.apiService.post(RouteKeys.Ewo.check_person_residence_vague, model).subscribe({\r\n next: (response: any) => {\r\n this.dataSource = response.results;\r\n },\r\n error: (err) => {\r\n throw err.error ? err.error.message : err.message;\r\n },\r\n });\r\n }\r\n },\r\n error: (err) => {\r\n throw err.error ? err.error.message : err.message;\r\n },\r\n });\r\n }\r\n }\r\n\r\n onChangeStrasseKind(e) {\r\n this.contextData.searchData.strasse = e.component.option('value');\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n","import { Component, OnDestroy } from '@angular/core';\r\nimport { SafeHtml, DomSanitizer } from '@angular/platform-browser';\r\nimport { RouteKeys } from '../../helper/route-keys.helper';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { LanguageService } from '../../services/language.service';\r\n\r\n@Component({\r\n selector: 'app-imprint',\r\n templateUrl: './imprint.component.html',\r\n styleUrls: ['./imprint.component.scss']\r\n})\r\nexport class ImprintComponent {\r\n\r\n imprintText: SafeHtml;\r\n\r\n constructor(private apiService: ApiService, private languageService: LanguageService, private sanitizer: DomSanitizer) {\r\n\r\n this.apiService.post(RouteKeys.Imprint.get_value, { key: 'impressumDE' }).subscribe((response: any) => {\r\n this.imprintText = this.sanitizer.bypassSecurityTrustHtml(response.wert);\r\n }, err => {\r\n throw err?.error?.message || err?.error?.Message || 'Server-Fehler!';\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n Impressum\r\n
\r\n
\r\n\r\n
\r\n \r\n
","import { Component, ViewChild, OnDestroy } from '@angular/core';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\nimport { PopupService } from '../../services/popup.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { DxFormComponent } from 'devextreme-angular/ui/form';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-loginCodePopup',\r\n templateUrl: './loginCodePopup.component.html',\r\n styleUrls: ['./loginCodePopup.component.scss']\r\n})\r\nexport class LoginCodePopupComponent implements OnDestroy {\r\n\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('vorlagenDataGrid', { static: false }) vorlagenDataGrid: DxDataGridComponent;\r\n @ViewChild('form', { static: false }) form: DxFormComponent;\r\n\r\n isLoading: boolean = false;\r\n error: string = null;\r\n onClose: (e) => void;\r\n formData: any = {\r\n username: \"\",\r\n password: \"\",\r\n verifyCode: \"\"\r\n };\r\n\r\n subscription_get_PopupAsObservable: Subscription;\r\n\r\n constructor(private apiService: ApiService, private popupService: PopupService, private router: Router , private authService: AuthService) {\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onClickOk = this.onClickOk.bind(this);\r\n\r\n this.subscription_get_PopupAsObservable = this.popupService.get_loginCodePopupAsObservable.subscribe(context => {\r\n if (context !== null && context !== undefined && context.open === true) {\r\n this.onClose = context.closeCb;\r\n this.formData.username = context.data.username;\r\n this.formData.password = context.data.password;\r\n this.popup.instance.show();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n onContentReady(e) {\r\n this.vorlagenDataGrid.instance.clearSelection();\r\n\r\n e.component.columnOption('command:select', {\r\n visibleIndex: 1,\r\n fixedPosition: 'right',\r\n visibleWidth: 70\r\n });\r\n }\r\n\r\n onToolbarPreparing(e) {\r\n var searchPanel = e.toolbarOptions.items.filter(item => item.name === 'searchPanel');\r\n if (searchPanel && searchPanel[0]) {\r\n searchPanel[0].location = 'before';\r\n }\r\n }\r\n\r\n onClickClose(e) {\r\n this.isLoading = false;\r\n this.popup.instance.hide();\r\n }\r\n\r\n onClickOk(e){\r\n this.isLoading = true;\r\n this.authService.login(this.formData.username, this.formData.password, this.formData.verifyCode, () => {\r\n if (this.authService.isLoggedIn()) {\r\n this.router.navigate(['depart']).then(x => {\r\n if (x === false) {\r\n this.error = 'Fehler bei der Anmeldung, bitte kontaktieren Sie den Admninistrator!';\r\n this.isLoading = false;\r\n }\r\n else{\r\n this.popup.instance.hide();\r\n }\r\n });\r\n }\r\n else {\r\n this.error = 'Der Code ist falsch!';\r\n this.isLoading = false;\r\n }\r\n }, (err) => {\r\n this.isLoading = false;\r\n if (err.status === 403) {\r\n this.error = 'Der Code ist falsch!';\r\n }\r\n else {\r\n this.error = 'Server-Fehler!';\r\n throw err;\r\n }\r\n });\r\n this.isLoading = false;\r\n \r\n \r\n }\r\n}","\r\n
\r\n Um sich einloggen zu können, müssen Sie einen Bestätigungscode eingeben, welchen Sie in einer E-Mail bekommen haben sollten.\r\n \r\n \r\n \r\n \r\n \r\n \r\n
0\">\r\n {{error}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
","import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { control, Icon, icon, latLng, map, marker, tileLayer } from 'leaflet';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { LanguageService } from '../../services/language.service';\r\n\r\nexport interface IMarkerOptions {\r\n lat: number;\r\n lon: number;\r\n title: string;\r\n draggable: boolean;\r\n iconUrl: string;\r\n popupDetails: string;\r\n onClick: (e) => void;\r\n onDragend: (e) => void;\r\n}\r\n\r\ninterface IMarkerCOntainer {\r\n id: number;\r\n marker: L.Marker;\r\n}\r\n\r\n@Component({\r\n selector: 'app-map-osm',\r\n templateUrl: './map-osm.component.html',\r\n styleUrls: ['./map-osm.component.scss'],\r\n})\r\nexport class MapOsmComponent implements AfterViewInit {\r\n @Input() centerImage: string;\r\n @Input() centerTitle: string;\r\n @Input() centerPopupDetails: string;\r\n @Input() centerLat: number;\r\n @Input() centerLng: number;\r\n @Input() zoom: number = 12;\r\n @Input() isDraggable: boolean = true;\r\n @Output() dragEnd: EventEmitter = new EventEmitter();\r\n\r\n private _map: L.Map;\r\n private _center_marker: L.Marker;\r\n private _idIndex: number = 0;\r\n private _markerArray: IMarkerCOntainer[] = [];\r\n\r\n mapContainerName: string;\r\n\r\n constructor(private languageService: LanguageService, private apiService: ApiService) {\r\n this.mapContainerName = this.crateGuiid();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this._initMap();\r\n }, 50);\r\n }\r\n\r\n addMarker(options: IMarkerOptions): number {\r\n const newId = this._getNewId();\r\n const marker = this._createMarker(options);\r\n marker.addTo(this._map);\r\n\r\n this._markerArray.push({\r\n id: newId,\r\n marker: marker,\r\n });\r\n\r\n return newId;\r\n }\r\n\r\n getAddressFromLatLon(lat: number, lon: number, cb: (addr: any) => void) {\r\n const url = `https://photon.komoot.io/reverse?lon=${lon}&lat=${lat}&lang=de`;\r\n this.apiService.get(url).subscribe(\r\n (response) => {\r\n if (\r\n response !== undefined &&\r\n response !== null &&\r\n response.features !== undefined &&\r\n response.features !== null &&\r\n response.features.length > 0\r\n ) {\r\n const address = this._mapOsmToaddress(response.features[0]);\r\n if (cb) {\r\n cb(address);\r\n }\r\n } else {\r\n if (cb) {\r\n cb(null);\r\n }\r\n }\r\n },\r\n (err) => {\r\n throw err;\r\n }\r\n );\r\n }\r\n\r\n flyTo(lat: number, lon: number) {\r\n this._center_marker.setLatLng([lat, lon]);\r\n this._map.flyTo([lat, lon]);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.zoom = zoom;\r\n this._map.setZoom(zoom);\r\n }\r\n\r\n removeMarker(id: number) {\r\n const exist = this._markerArray.find((x) => x.id === id);\r\n if (exist !== undefined && exist !== null) {\r\n exist.marker.remove();\r\n }\r\n }\r\n\r\n removeAllMarker() {\r\n this._markerArray.forEach((marker) => {\r\n marker.marker.remove();\r\n });\r\n }\r\n\r\n setMarkerIcon(id: number, iconUrl: string) {\r\n const exist = this._markerArray.find((x) => x.id === id);\r\n if (exist !== undefined && exist !== null) {\r\n if (exist.marker.getIcon().options.iconUrl !== iconUrl) {\r\n const icon: L.Icon = new Icon({ iconUrl: iconUrl });\r\n exist.marker.setIcon(icon);\r\n }\r\n }\r\n }\r\n\r\n refresh() {\r\n this._map.setZoom(this.zoom);\r\n }\r\n\r\n private _initMap(): void {\r\n this._map = map(this.mapContainerName, {\r\n layers: [\r\n tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\r\n maxZoom: 18,\r\n attribution: '© OpenStreetMap contributors',\r\n }),\r\n ],\r\n center: [this.centerLat, this.centerLng],\r\n zoom: this.zoom,\r\n });\r\n\r\n control.scale().addTo(this._map);\r\n\r\n this._createCenterMarker();\r\n }\r\n\r\n private _createCenterMarker() {\r\n let markerOptions: IMarkerOptions = {\r\n lat: this.centerLat,\r\n lon: this.centerLng,\r\n title: this.centerTitle,\r\n draggable: this.isDraggable,\r\n iconUrl: this.centerImage,\r\n popupDetails: this.centerPopupDetails,\r\n\r\n onClick: () => {},\r\n\r\n onDragend: (e) => {\r\n this.centerLng = e.target.getLatLng().lng;\r\n this.centerLat = e.target.getLatLng().lat;\r\n\r\n if (this._map !== undefined && this._map !== null) {\r\n this._map.flyTo([this.centerLat, this.centerLng]);\r\n }\r\n\r\n this.getAddressFromLatLon(this.centerLat, this.centerLng, (address) => {\r\n this.dragEnd.next(address);\r\n });\r\n },\r\n };\r\n\r\n this._center_marker = this._createMarker(markerOptions);\r\n this._center_marker.addTo(this._map);\r\n }\r\n\r\n private _createMarker(options: IMarkerOptions): L.Marker {\r\n return marker([options.lat, options.lon], {\r\n icon: icon({\r\n iconSize: [25, 41],\r\n iconAnchor: [13, 41],\r\n iconUrl: options.iconUrl || 'leaflet/marker-icon.png',\r\n shadowUrl: 'leaflet/marker-shadow.png',\r\n }),\r\n title: options.title,\r\n riseOnHover: true,\r\n draggable: options.draggable || false,\r\n })\r\n .on('click', options.onClick)\r\n .on('dragend', options.onDragend)\r\n .bindPopup(options.popupDetails)\r\n .openPopup();\r\n }\r\n\r\n _mapOsmToaddress(item) {\r\n if (item == undefined || item == null) {\r\n return null;\r\n }\r\n\r\n let result: any = {\r\n place_id: item.properties.osm_id,\r\n display_name: '',\r\n lon: item.geometry.coordinates[0],\r\n lat: item.geometry.coordinates[1],\r\n org: item.properties,\r\n district:\r\n item.properties.district !== undefined &&\r\n item.properties.district !== null &&\r\n item.properties.district.length > 0 &&\r\n item.properties.district !== item.properties.city\r\n ? item.properties.district\r\n : '',\r\n locality:\r\n item.properties.locality !== undefined &&\r\n item.properties.locality !== null &&\r\n item.properties.locality.length > 0 &&\r\n item.properties.locality !== item.properties.city &&\r\n item.properties.locality !== item.properties.district\r\n ? item.properties.locality\r\n : '',\r\n };\r\n\r\n const street = item.properties.street !== undefined ? item.properties.street : null;\r\n const housenumberString = item.properties.housenumber !== undefined ? item.properties.housenumber : null;\r\n const postcode = item.properties.postcode !== undefined ? item.properties.postcode : null;\r\n const city = item.properties.city !== undefined ? item.properties.city : null;\r\n const state = item.properties.state !== undefined ? item.properties.state : null;\r\n const name = item.properties.name !== undefined ? item.properties.name : null;\r\n\r\n switch (item.properties.type) {\r\n case 'street':\r\n result.display_name = name;\r\n result.street = name;\r\n\r\n if (housenumberString !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n\r\n let housenumber = housenumberString.match(/\\d+/g);\r\n if (housenumber !== undefined && housenumber !== null && housenumber.length > 0) {\r\n housenumber = housenumber[0];\r\n } else {\r\n housenumber = null;\r\n }\r\n\r\n let housenumberSupplement = housenumberString.match(/[a-zA-Z]+/g);\r\n if (housenumberSupplement !== undefined && housenumberSupplement !== null && housenumberSupplement.length > 0) {\r\n housenumberSupplement = housenumberSupplement[0];\r\n } else {\r\n housenumberSupplement = null;\r\n }\r\n\r\n result.display_name += housenumberString;\r\n result.housenumber = housenumber;\r\n result.supplement = housenumberSupplement;\r\n } else {\r\n result.housenumber = null;\r\n }\r\n\r\n if (postcode !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ', ';\r\n }\r\n result.display_name += postcode;\r\n result.postcode = postcode;\r\n } else {\r\n result.postcode = null;\r\n }\r\n\r\n if (city !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n result.display_name += city;\r\n result.city = city;\r\n\r\n if (result.district !== undefined && result.district !== null && result.district.length > 0) {\r\n result.display_name += ' - ' + result.district;\r\n }\r\n } else if (state !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n if (result.district !== undefined && result.district !== null && result.district.length > 0 !== null) {\r\n result.city = result.district;\r\n result.display_name += result.district;\r\n if (result.locality !== undefined && result.locality !== null && result.locality.length > 0) {\r\n result.display_name += ' - ' + result.locality;\r\n result.district = result.locality;\r\n } else {\r\n result.district = '';\r\n }\r\n } else {\r\n result.display_name += state;\r\n result.city = state;\r\n }\r\n } else {\r\n result.city = null;\r\n }\r\n\r\n break;\r\n case 'house':\r\n if (street !== null) {\r\n result.display_name = street;\r\n result.street = street;\r\n } else {\r\n result.street = null;\r\n }\r\n\r\n if (housenumberString !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n\r\n let housenumber = housenumberString.match(/\\d+/g);\r\n if (housenumber !== undefined && housenumber !== null && housenumber.length > 0) {\r\n housenumber = housenumber[0];\r\n } else {\r\n housenumber = null;\r\n }\r\n\r\n let housenumberSupplement = housenumberString.match(/[a-zA-Z]+/g);\r\n if (housenumberSupplement !== undefined && housenumberSupplement !== null && housenumberSupplement.length > 0) {\r\n housenumberSupplement = housenumberSupplement[0];\r\n } else {\r\n housenumberSupplement = null;\r\n }\r\n\r\n result.display_name += housenumberString;\r\n result.housenumber = housenumber;\r\n result.supplement = housenumberSupplement;\r\n } else {\r\n result.housenumber = null;\r\n }\r\n\r\n if (postcode !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ', ';\r\n }\r\n result.display_name += postcode;\r\n result.postcode = postcode;\r\n } else {\r\n result.postcode = null;\r\n }\r\n\r\n if (city !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n result.display_name += city;\r\n result.city = city;\r\n\r\n if (result.district !== undefined && result.district !== null && result.district.length > 0) {\r\n result.display_name += ' - ' + result.district;\r\n }\r\n } else if (state !== null) {\r\n if (result.display_name.length > 0) {\r\n result.display_name += ' ';\r\n }\r\n if (result.district !== undefined && result.district !== null && result.district.length > 0 !== null) {\r\n result.city = result.district;\r\n result.display_name += result.district;\r\n if (result.locality !== undefined && result.locality !== null && result.locality.length > 0) {\r\n result.display_name += ' - ' + result.locality;\r\n result.district = result.locality;\r\n } else {\r\n result.district = '';\r\n }\r\n } else {\r\n result.display_name += state;\r\n result.city = state;\r\n }\r\n } else {\r\n result.city = null;\r\n }\r\n break;\r\n default:\r\n console.warn('Unbekannter Type: ' + item.properties.type, item);\r\n result = null;\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _getNewId() {\r\n this._idIndex++;\r\n return this._idIndex;\r\n }\r\n\r\n private crateGuiid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n var r = (Math.random() * 16) | 0,\r\n v = c == 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n }\r\n}\r\n","
\r\n
","import { AfterContentInit, AfterViewInit, Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { IMenuItem } from '../../interfaces/SidebarMenu/IMenuItem';\r\nimport { ISubMenuItem } from '../../interfaces/SidebarMenu/ISubMenuItem';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { MenuSidebarService } from '../../services/menu-sidebar.service';\r\n\r\n@Component({\r\n selector: 'app-menu-sidebar',\r\n templateUrl: 'menu-sidebar.component.html',\r\n styleUrls: ['menu-sidebar.component.scss'],\r\n})\r\nexport class MenuSidebarComponent implements AfterContentInit, AfterViewInit {\r\n menuItems: any[] = [];\r\n selectedMenuItem: any;\r\n isInit: boolean;\r\n constructor(\r\n private router: Router,\r\n private sidebarService: MenuSidebarService,\r\n private authService: AuthService,\r\n private configService: ConfigService\r\n ) {}\r\n\r\n ngAfterContentInit(): void {\r\n this.sidebarService.getSidebarMenuAsObservable().subscribe((data) => {\r\n if (data !== null) {\r\n let result: any[] = [];\r\n data.menuItems.forEach((item) => {\r\n if (item.neededLicense && item.neededLicense.length > 0) {\r\n if (this.configService.hasLicense(item.neededLicense)) {\r\n if (this.checkRoles(item)) {\r\n this.checkSubItems(item);\r\n result.push(item);\r\n }\r\n }\r\n } else {\r\n if (this.checkRoles(item)) {\r\n this.checkSubItems(item);\r\n result.push(item);\r\n }\r\n }\r\n });\r\n this.menuItems = result;\r\n }\r\n });\r\n }\r\n\r\n private checkRoles(item) {\r\n if (item.neededRoles && item.neededRoles.length > 0) {\r\n if (this.authService.isInOneOfThisRoles(item.neededRoles)) {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkSubItems(item: any) {\r\n let subItems: any[] = [];\r\n item.items.forEach((subItem) => {\r\n if (subItem.neededLicense && subItem.neededLicense.length > 0) {\r\n if (this.configService.hasLicense(subItem.neededLicense)) {\r\n if (this.checkRoles(subItem)) {\r\n subItems.push(subItem);\r\n }\r\n }\r\n } else {\r\n if (this.checkRoles(subItem)) {\r\n subItems.push(subItem);\r\n }\r\n }\r\n });\r\n item.items = subItems;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const item = this.menuItems.find((x) => x.isSelected === true);\r\n if (item !== undefined && item !== null) {\r\n setTimeout(() => {\r\n item.isSelected = false;\r\n }, 5);\r\n setTimeout(() => {\r\n item.isSelected = true;\r\n }, 5);\r\n if (item) {\r\n this.selectedMenuItem = item;\r\n if (item.items.length > 0) {\r\n this.selectMenuWidthSubItems(item.key);\r\n }\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n // Falls es mehr als einen geöffneten Item gibt, muss hier eine Schleife durch alle geöffnete Items eingebaut werden\r\n const openItem = this.menuItems.find((x) => x.isOpen === true);\r\n if (openItem !== undefined && openItem !== null) {\r\n if (openItem.items.length > 0) {\r\n this.selectMenuWidthSubItems(openItem.key);\r\n }\r\n }\r\n }, 250);\r\n }\r\n\r\n onClickMenuItem(e, target: IMenuItem) {\r\n if (this.selectedMenuItem !== e.target || !target.isSelected) {\r\n this.deselectAllItems();\r\n target.isSelected = true;\r\n this.selectedMenuItem = target;\r\n }\r\n\r\n if (target.onClick !== undefined && target.onClick !== null) {\r\n target.onClick(target);\r\n }\r\n\r\n if (target.path !== undefined && target.path !== null) {\r\n this.navigateToUrlFromMenu(target.path);\r\n }\r\n }\r\n\r\n onClickSubmenuItem(e, target: IMenuItem, subItem: ISubMenuItem) {\r\n if ((this.selectedMenuItem && this.selectedMenuItem !== e.target) || !target.isSelected) {\r\n this.deselectAllItems();\r\n target.isSelected = true;\r\n subItem.isSelected = true;\r\n }\r\n this.selectedMenuItem = target;\r\n\r\n if (subItem.onClick !== undefined && subItem.onClick !== null) {\r\n subItem.onClick(subItem);\r\n }\r\n\r\n if (subItem.path !== undefined && subItem.path !== null) {\r\n this.navigateToUrlFromMenu(subItem.path);\r\n }\r\n }\r\n\r\n onClickMenuWithSubItems(e, target: IMenuItem) {\r\n if (target.onClick !== undefined && target.onClick !== null) {\r\n target.onClick(target);\r\n }\r\n\r\n this.selectMenuWidthSubItems(target.key);\r\n }\r\n\r\n selectMenuWidthSubItems(targetId) {\r\n const menuToToggle = document.getElementById(targetId);\r\n if (menuToToggle.style.display === 'block') {\r\n menuToToggle.style.display = 'none';\r\n\r\n const wrapperToToggleClosed = document.getElementById('wrapper-' + targetId + '-closed');\r\n wrapperToToggleClosed.style.display = 'flex';\r\n\r\n const wrapperToToggleOpen = document.getElementById('wrapper-' + targetId + '-open');\r\n wrapperToToggleOpen.style.display = 'none';\r\n } else {\r\n menuToToggle.style.display = 'block';\r\n\r\n const wrapperToToggleClosed = document.getElementById('wrapper-' + targetId + '-closed');\r\n wrapperToToggleClosed.style.display = 'none';\r\n\r\n const wrapperToToggleOpen = document.getElementById('wrapper-' + targetId + '-open');\r\n wrapperToToggleOpen.style.display = 'flex';\r\n }\r\n }\r\n\r\n navigateToUrlFromMenu(target) {\r\n if (target.param) {\r\n let paramKey = target.param.key;\r\n let paramValue = target.param.value;\r\n let paramObj = {};\r\n paramObj[paramKey] = paramValue;\r\n\r\n this.router.navigate([target.url], {\r\n queryParams: paramObj,\r\n queryParamsHandling: 'merge',\r\n });\r\n } else {\r\n this.router.navigate([target.url]);\r\n }\r\n }\r\n\r\n deselectAllItems() {\r\n this.menuItems.forEach((item) => {\r\n item.isSelected = false;\r\n if (item.items.length > 0) {\r\n item.items.forEach((subItem) => {\r\n subItem.isSelected = false;\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n {{menu.name}}\r\n
\r\n\r\n
0\" class=\"menu-item\" (click)=\"onClickMenuWithSubItems($event, menu)\" [ngClass]=\"{'selected-item': menu.isSelected}\">\r\n
\r\n
  {{menu.name}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
  {{menu.name}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n 0\" class=\"dx-icon-add\"> {{subItem.name}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnDestroy } from '@angular/core';\r\nimport { SafeHtml, DomSanitizer } from '@angular/platform-browser';\r\nimport { RouteKeys } from '../../helper/route-keys.helper';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { LanguageService } from '../../services/language.service';\r\n\r\n@Component({\r\n selector: 'app-privacy',\r\n templateUrl: './privacy.component.html',\r\n styleUrls: ['./privacy.component.scss']\r\n})\r\n\r\nexport class PrivacyComponent {\r\n\r\n privacyText: SafeHtml;\r\n \r\n constructor(private apiService: ApiService, private languageService: LanguageService, private sanitizer: DomSanitizer) {\r\n\r\n this.apiService.post(RouteKeys.Privacy.get_value, { key: 'privacyDE' }).subscribe((response: any) => {\r\n this.privacyText = this.sanitizer.bypassSecurityTrustHtml(response.wert);\r\n }, err => {\r\n throw err?.error?.message || err?.error?.Message || 'Server-Fehler!';\r\n });\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n Datenschutz\r\n
\r\n
\r\n\r\n
\r\n \r\n
","import { Component, EventEmitter, Output, ViewChild, OnDestroy, OnInit } from '@angular/core';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { RouteKeys } from 'src/app/share/helper/route-keys.helper';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\nimport { PopupService } from '../../services/popup.service';\r\nimport { Subscription } from 'rxjs';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { confirm } from 'devextreme/ui/dialog';\r\n\r\n@Component({\r\n selector: 'app-stapelBearbeitungPopup',\r\n templateUrl: './stapelBearbeitungPopup.component.html',\r\n styleUrls: ['./stapelBearbeitungPopup.component.scss'],\r\n})\r\nexport class StapelBearbeitungPopupComponent implements OnInit, OnDestroy {\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n\r\n subscription_get_PopupAsObservable: Subscription;\r\n\r\n onClose: (e) => void;\r\n\r\n formData: any;\r\n statusKatalog: any[];\r\n statusSelected: boolean = true;\r\n isAblehungsgrundVisible: boolean = false;\r\n statusMitVorschlag: number[] = [];\r\n isStatusMitVorschlag: boolean = false;\r\n isLoading: boolean = false;\r\n isError: boolean = false;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private popupService: PopupService,\r\n public authService: AuthService,\r\n public configService: ConfigService\r\n ) {\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onClickSave = this.onClickSave.bind(this);\r\n this.onStatusChanged = this.onStatusChanged.bind(this);\r\n this.createEmptyFormData();\r\n this.statusSelected = true;\r\n\r\n this.subscription_get_PopupAsObservable = this.popupService.get_stapelBearbeitungPopupAsObservable.subscribe((context) => {\r\n if (context !== null && context !== undefined && context.open === true && context.data !== undefined && context.data !== null) {\r\n this.statusKatalog = this.configService.getKatalog('StatusKatalog');\r\n this.formData.antragIds = context.data;\r\n\r\n this.onClose = context.closeCb;\r\n this.popup.instance.show();\r\n } else {\r\n this.onClickClose();\r\n }\r\n this.statusMitVorschlag = [];\r\n this.statusMitVorschlag.push(this.configService.getStatusId('Vorgeschlagen'));\r\n this.statusMitVorschlag.push(this.configService.getStatusId('Vorschlag angenommen'));\r\n this.statusMitVorschlag.push(this.configService.getStatusId('Angenommen'));\r\n });\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n onContentReady(e) {\r\n e.component.columnOption('command:select', {\r\n visibleIndex: 1,\r\n fixedPosition: 'right',\r\n visibleWidth: 70,\r\n });\r\n }\r\n\r\n onClickClose() {\r\n if (this.popup !== undefined && this.popup != null && this.popup.instance !== undefined && this.popup.instance != null) {\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose(3);\r\n }\r\n this.createEmptyFormData();\r\n this.statusSelected = true;\r\n this.popup.instance.hide();\r\n }\r\n }\r\n\r\n onClickSave() {\r\n if (this.formData.statusId !== undefined && this.formData.statusId !== null) {\r\n this.isLoading = true;\r\n this.apiService\r\n .post(RouteKeys.Inquire.stapelbearbeitung, this.formData)\r\n .toPromise()\r\n .then((response) => {\r\n this.isLoading = false;\r\n this.onClickClose();\r\n })\r\n .catch((err) => {\r\n this.isError = true;\r\n this.isLoading = false;\r\n throw err.message;\r\n });\r\n } else {\r\n this.statusSelected = false;\r\n }\r\n }\r\n\r\n getStatusClass(status) {\r\n if (status !== undefined && status !== null && status.id >= 0) {\r\n return 'status-select-icon-' + status.bezeichnung.replace(/\\s/g, '').toLowerCase();\r\n } else {\r\n return 'status-select-icon-none';\r\n }\r\n }\r\n\r\n createEmptyFormData() {\r\n this.formData = {\r\n antragIds: [],\r\n statusId: null,\r\n sendMail: false,\r\n grundFuerAblehnungID: null,\r\n };\r\n }\r\n\r\n onStatusChanged(e) {\r\n this.isAblehungsgrundVisible = this.formData.statusId === this.configService.getStatusId('Abgelehnt');\r\n this.isStatusMitVorschlag = this.statusMitVorschlag.includes(this.formData.statusId);\r\n this.statusSelected = true;\r\n }\r\n}\r\n","\r\n
\r\n \r\n Hier können Sie für alle ausgewählten Anträge ({{formData.antragIds.length}}) einen neuen Status setzen.\r\n \r\n \r\n Achtung! Die Änderungen können nach dem Übernehmen nicht mehr zurückgesetzt werden!\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n Achtung! Durch diese Aktion wird bei fehlendem Einrichtungs-Vorschlag dieser automatisch durch den Erstwunsch ersetzt.\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n {{data.bezeichnung}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Sie müssen einen Status angeben um Speichern zu können!\r\n Achtung! Der Status konnte nicht bei allen ausgewählten Anträgen geändert werden. Bitte wiederholen Sie den Vorgang bei Bedarf!\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-table-container',\r\n templateUrl: './table-container.component.html',\r\n styleUrls: ['./table-container.component.scss']\r\n})\r\nexport class TableContainerComponent {\r\n \r\n @Input() setHeader1: boolean = false;\r\n @Input() setHeader2: boolean = true;\r\n\r\n @Input() setFooter: boolean = false;\r\n\r\n constructor() { }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
","import { Component, ViewChild, OnDestroy } from '@angular/core';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { RouteKeys } from 'src/app/share/helper/route-keys.helper';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\nimport { PopupService } from '../../services/popup.service';\r\nimport { Subscription } from 'rxjs';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { DxFormComponent } from 'devextreme-angular/ui/form';\r\n\r\n@Component({\r\n selector: 'app-vorlagenPopup',\r\n templateUrl: './vorlagenPopup.component.html',\r\n styleUrls: ['./vorlagenPopup.component.scss']\r\n})\r\nexport class VorlagenPopupComponent implements OnDestroy {\r\n\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('vorlagenDataGrid', { static: false }) vorlagenDataGrid: DxDataGridComponent;\r\n @ViewChild('form', { static: false }) form: DxFormComponent;\r\n\r\n isLoading: boolean = false;\r\n onClose: (e, data) => void;\r\n \r\n formData: any = {\r\n bezeichnung: '',\r\n anheften: true,\r\n bearbeiten: false\r\n };\r\n dataSource: DataSource;\r\n\r\n optionen = [\r\n { id: true, text: 'Dokument bearbeiten' },\r\n { id: false, text: 'Dokument an Antrag anheften' }\r\n ]\r\n\r\n id: number;\r\n blob: Blob;\r\n vorlagen: any[] = [];\r\n selectedItem: any = null;\r\n\r\n subscription_get_PopupAsObservable: Subscription;\r\n\r\n constructor(private apiService: ApiService, private popupService: PopupService) {\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onClickErzeugen = this.onClickErzeugen.bind(this);\r\n this.onChangeBearbeiten = this.onChangeBearbeiten.bind(this);\r\n\r\n this.dataSource = new DataSource({\r\n key: 'vorlagenId',\r\n load: (loadOptions) => {\r\n return this.apiService.post(RouteKeys.Vorlage.get_search, loadOptions)\r\n .toPromise()\r\n .then(response => {\r\n return {\r\n data: response.data,\r\n totalCount: response.totalCount,\r\n summary: response.summary,\r\n groupCount: response.groupCount\r\n };\r\n }).catch(err => {\r\n throw err.message;\r\n });\r\n }\r\n });\r\n\r\n this.subscription_get_PopupAsObservable = this.popupService.get_vorlagePopupAsObservable.subscribe(context => {\r\n if (context !== null && context !== undefined && context.open === true) {\r\n this.formData = {\r\n bezeichnung: '',\r\n anheften: true,\r\n bearbeiten: false\r\n };\r\n this.onClose = context.closeCb;\r\n this.selectedItem = null;\r\n this.id = context.key;\r\n this.dataSource.reload();\r\n this.popup.instance.show();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n onContentReady(e) {\r\n this.vorlagenDataGrid.instance.clearSelection();\r\n\r\n e.component.columnOption('command:select', {\r\n visibleIndex: 1,\r\n fixedPosition: 'right',\r\n visibleWidth: 70\r\n });\r\n }\r\n\r\n onToolbarPreparing(e) {\r\n var searchPanel = e.toolbarOptions.items.filter(item => item.name === 'searchPanel');\r\n if (searchPanel && searchPanel[0]) {\r\n searchPanel[0].location = 'before';\r\n }\r\n }\r\n\r\n onSelectionChanged(e) {\r\n this.selectedItem = e.selectedRowsData[0];\r\n if (this.selectedItem !== undefined && this.selectedItem !== null) {\r\n const bezeichnung = this.form.instance.getEditor('bezeichnung').option('value');\r\n if (bezeichnung === undefined || bezeichnung === null || bezeichnung.length === 0) {\r\n var newFileName = this.selectedItem.fileName.split('.')[0];\r\n this.form.instance.getEditor('bezeichnung').option('value', newFileName);\r\n }\r\n }\r\n }\r\n\r\n onClickErzeugen(e) {\r\n this.isLoading = true;\r\n var validationResult = this.form.instance.validate();\r\n if (validationResult.isValid) {\r\n if (!this.formData.bearbeiten) {\r\n this.apiService.post(RouteKeys.Vorlage.create_without_download, \r\n { entityId: this.id, vorlagenId: this.selectedItem.vorlagenId, anheften: this.formData.anheften, fileName: this.formData.bezeichnung, bearbeiten: this.formData.bearbeiten }\r\n ).subscribe((response) => {\r\n this.isLoading = false;\r\n this.popup.instance.hide();\r\n if (response) {\r\n if(this.onClose !== undefined && this.onClose !== null){\r\n this.onClose(null, true);\r\n } \r\n }\r\n \r\n }) ;\r\n }\r\n else {\r\n this.apiService.postDownloadAsBlob(RouteKeys.Vorlage.create, this.selectedItem.fileName, \r\n { entityId: this.id, vorlagenId: this.selectedItem.vorlagenId, anheften: this.formData.anheften, fileName: this.formData.bezeichnung, bearbeiten: this.formData.bearbeiten }, \r\n (response) => {\r\n var _blob: Blob = response;\r\n this.isLoading = false;\r\n if(this.onClose !== undefined && this.onClose !== null){\r\n this.onClose({blob: _blob, docName: this.formData.bezeichnung, anheften: this.formData.anheften, vorlagenId: this.selectedItem.vorlagenId}, true);\r\n }\r\n this.popup.instance.hide();\r\n }); \r\n }\r\n }\r\n }\r\n\r\n onClickClose(e) {\r\n this.popup.instance.hide();\r\n }\r\n\r\n onChangeBearbeiten(e) {\r\n if (e.value !== undefined) {\r\n this.formData.anheften = !e.value;\r\n }\r\n }\r\n}","\r\n
\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
","import { Component, ViewChild, OnDestroy } from '@angular/core';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { RouteKeys } from 'src/app/share/helper/route-keys.helper';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\nimport { PopupService } from '../../services/popup.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { DxFormComponent } from 'devextreme-angular/ui/form';\r\nimport { confirm } from 'devextreme/ui/dialog';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { Router } from '@angular/router';\r\nimport notify from 'devextreme/ui/notify';\r\n\r\n@Component({\r\n selector: 'app-wiedervorlagenEditPopup',\r\n templateUrl: './wiedervorlagenEditPopup.component.html',\r\n styleUrls: ['./wiedervorlagenEditPopup.component.scss']\r\n})\r\nexport class WiedervorlagenEditPopupComponent implements OnDestroy {\r\n\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('form', { static: false }) form: DxFormComponent;\r\n\r\n onClose: (e) => void;\r\n formData: any;\r\n subscription_get_PopupAsObservable: Subscription;\r\n canShowZumAntrag: boolean = true;\r\n isLoading: boolean=false;\r\n\r\n get isNew(): boolean {\r\n if (this.formData) {\r\n if (this.formData.wiedervorlagenId && this.formData.wiedervorlagenId > 0) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n get canFinish(): boolean {\r\n if (this.formData) {\r\n if (this.formData.status === false) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n contextData: any;\r\n\r\n\r\n constructor(private apiService: ApiService, private popupService: PopupService, public configService: ConfigService, private router: Router) {\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onClickSave = this.onClickSave.bind(this);\r\n this.onClickErledigt = this.onClickErledigt.bind(this);\r\n this.onClickUnerledigt = this.onClickUnerledigt.bind(this);\r\n this.onClickGeheZu = this.onClickGeheZu.bind(this);\r\n\r\n\r\n this.subscription_get_PopupAsObservable = this.popupService.get_wiedervorlageEditPopupAsObservable.subscribe(context => {\r\n if (context !== null && context !== undefined && context.open === true) {\r\n this.canShowZumAntrag = context.data.canShowZumAntrag === false ? false : true;\r\n this.formData = null;\r\n this.onClose = context.closeCb;\r\n this.contextData = context.data;\r\n this.load();\r\n this.popup.instance.show();\r\n }\r\n else {\r\n this.contextData = null;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n load() {\r\n this.apiService.post(RouteKeys.Wiedervorlage.get, this.contextData).subscribe((response) => {\r\n this.formData = response;\r\n });\r\n }\r\n\r\n\r\n onClickGeheZu(e) {\r\n this.popup.instance.hide();\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose(2);\r\n }\r\n this.router.navigate(['/depart/inquires/edit'], { queryParams: { ID: this.contextData.entityId } });\r\n }\r\n\r\n onClickSave(e) {\r\n var validationResult = this.form.instance.validate();\r\n if (validationResult.isValid) {\r\n this.isLoading=true;\r\n this.apiService.post(RouteKeys.Wiedervorlage.update, this.formData).subscribe(() => {\r\n this.isLoading=false;\r\n\r\n notify({\r\n message: 'Erfolgreich gespeichert.',\r\n }, 'success');\r\n\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose(1);\r\n }\r\n this.popup.instance.hide();\r\n }, err => {\r\n this.isLoading = false;\r\n\r\n notify({\r\n message: 'Es ist ein Fehler aufgetreten. Bitte wenden Sie sich an Ihren Administrator!',\r\n }, 'error');\r\n\r\n throw err;\r\n });\r\n }\r\n }\r\n\r\n onClickErledigt(e) {\r\n let result = confirm('Wollen Sie die Wiedervorlage wirklich schließen?', 'Bestätigung');\r\n result.then((dialogResult) => {\r\n if (dialogResult) {\r\n this.isLoading=true;\r\n this.apiService.post(RouteKeys.Wiedervorlage.finish, { entityId: this.formData.wiedervorlagenId, erledigt: true }).subscribe(() => {\r\n this.isLoading=false;\r\n\r\n notify({\r\n message: 'Erfolgreich gespeichert.',\r\n }, 'success');\r\n\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose(1);\r\n }\r\n this.popup.instance.hide();\r\n }, err => {\r\n\r\n notify({\r\n message: 'Es ist ein Fehler aufgetreten. Bitte wenden Sie sich an Ihren Administrator!',\r\n }, 'error');\r\n\r\n this.isLoading = false;\r\n throw err;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onClickUnerledigt(e) {\r\n let result = confirm('Wollen Sie die Wiedervorlage wirklich wieder öffnen?', 'Bestätigung');\r\n result.then((dialogResult) => {\r\n if (dialogResult) {\r\n this.isLoading=true;\r\n this.apiService.post(RouteKeys.Wiedervorlage.finish, { entityId: this.formData.wiedervorlagenId, erledigt: false }).subscribe(() => {\r\n this.isLoading=false;\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose(1);\r\n }\r\n this.popup.instance.hide();\r\n }, err => {\r\n this.isLoading = false;\r\n throw err;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onClickClose(e) {\r\n if (this.onClose !== undefined && this.onClose !== null) {\r\n this.onClose(3);\r\n }\r\n this.popup.instance.hide();\r\n }\r\n\r\n getVorgang() {\r\n if (this.formData) {\r\n return ': ' + this.formData.vorgang;\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n}","\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
","import { Component, EventEmitter, Output, ViewChild, OnDestroy, OnInit } from '@angular/core';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\nimport { RouteKeys } from 'src/app/share/helper/route-keys.helper';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\nimport { PopupService } from '../../services/popup.service';\r\nimport { Subscription } from 'rxjs';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { confirm } from 'devextreme/ui/dialog';\r\n\r\n@Component({\r\n selector: 'app-wiedervorlagenGridPopup',\r\n templateUrl: './wiedervorlagenGridPopup.component.html',\r\n styleUrls: ['./wiedervorlagenGridPopup.component.scss']\r\n})\r\nexport class WiedervorlagenGridPopupComponent implements OnInit, OnDestroy {\r\n\r\n @Output() onClose: EventEmitter = new EventEmitter(false);\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('wiedervorlagenDataGrid', { static: false }) wiedervorlagenDataGrid: DxDataGridComponent;\r\n\r\n dataSource: DataSource;\r\n canShowZumAntrag: boolean = true;\r\n id: number;\r\n vorgangString: string = '';\r\n selectedItem: any = null;\r\n\r\n subscription_get_PopupAsObservable: Subscription;\r\n\r\n constructor(private apiService: ApiService, private popupService: PopupService, public authService: AuthService, public configService: ConfigService) {\r\n this.onClickClose = this.onClickClose.bind(this);\r\n this.onClickEdit = this.onClickEdit.bind(this);\r\n this.onClickErledigt = this.onClickErledigt.bind(this);\r\n\r\n this.subscription_get_PopupAsObservable = this.popupService.get_wiedervorlageGridPopupAsObservable.subscribe(context => {\r\n if (context !== null && context !== undefined && context.open === true) {\r\n if (this.wiedervorlagenDataGrid) {\r\n this.wiedervorlagenDataGrid.instance.clearFilter();\r\n this.wiedervorlagenDataGrid.instance.clearSorting();\r\n this.wiedervorlagenDataGrid.instance.clearSelection();\r\n\r\n this.wiedervorlagenDataGrid.instance.columnOption('faelligMitarbeiterId', {\r\n selectedFilterOperation: '=',\r\n filterValue: this.authService.getBenutzerId()\r\n });\r\n\r\n this.wiedervorlagenDataGrid.instance.columnOption('status', {\r\n selectedFilterOperation: '=',\r\n filterValue: false\r\n });\r\n }\r\n\r\n this.canShowZumAntrag = context.data.canShowZumAntrag === false ? false : true;\r\n this.selectedItem = null;\r\n this.id = context.data.id;\r\n this.vorgangString = context.data.antragsZeichen;\r\n this.dataSource.reload();\r\n this.popup.instance.show();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource = new DataSource({\r\n key: 'wiedervorlagenId',\r\n load: (loadOptions) => {\r\n loadOptions.userData = {\r\n id: this.id\r\n };\r\n\r\n return this.apiService.post(RouteKeys.Wiedervorlage.get_allByAntrag, loadOptions)\r\n .toPromise()\r\n .then(response => {\r\n return {\r\n data: response.data,\r\n totalCount: response.totalCount,\r\n summary: response.summary,\r\n groupCount: response.groupCount\r\n };\r\n }).catch(err => {\r\n throw err.message;\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription_get_PopupAsObservable) {\r\n this.subscription_get_PopupAsObservable.unsubscribe();\r\n }\r\n }\r\n\r\n onContentReady(e) {\r\n this.wiedervorlagenDataGrid.instance.clearSelection();\r\n\r\n e.component.columnOption('command:select', {\r\n visibleIndex: 1,\r\n fixedPosition: 'right',\r\n visibleWidth: 70\r\n });\r\n }\r\n\r\n onToolbarPreparing(e) {\r\n var searchPanel = e.toolbarOptions.items.filter(item => item.name === 'searchPanel');\r\n if (searchPanel && searchPanel[0]) {\r\n searchPanel[0].location = 'before';\r\n }\r\n\r\n e.toolbarOptions.items.push({\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'undo',\r\n hint: 'Filter zurücksetzen',\r\n onClick: (event) => {\r\n this.wiedervorlagenDataGrid.instance.clearFilter();\r\n this.wiedervorlagenDataGrid.instance.clearSorting();\r\n\r\n this.wiedervorlagenDataGrid.instance.columnOption('faelligMitarbeiterId', {\r\n selectedFilterOperation: '=',\r\n filterValue: this.authService.getBenutzerId()\r\n });\r\n\r\n this.wiedervorlagenDataGrid.instance.columnOption('status', {\r\n selectedFilterOperation: '=',\r\n filterValue: false\r\n });\r\n }\r\n }\r\n });\r\n\r\n e.toolbarOptions.items.push({\r\n location: 'after',\r\n widget: 'dxButton',\r\n cssClass: 'datagridToolbarNewBtn',\r\n options: {\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'add',\r\n text: 'Neu',\r\n onClick: this.onClickNew.bind(this)\r\n }\r\n });\r\n }\r\n\r\n onSelectionChanged(e) {\r\n this.selectedItem = e.selectedRowsData[0];\r\n }\r\n\r\n onClickNew(e) {\r\n this.popupService.showWiedervorlageEditPopup({ isNew: true, entityId: this.id }, (state) => {\r\n this.handleEditCloseEvent(state);\r\n });\r\n }\r\n\r\n onClickEdit(e) {\r\n if (e !== undefined && e !== null) {\r\n let data;\r\n\r\n if (e.row === undefined) {\r\n data = e.data;\r\n }\r\n else {\r\n data = e.row.data;\r\n }\r\n\r\n this.popupService.showWiedervorlageEditPopup({ canShowZumAntrag: this.canShowZumAntrag, entityId: data.entityId, wiedervorlagenId: data.wiedervorlagenId }, (state) => {\r\n this.handleEditCloseEvent(state);\r\n });\r\n }\r\n }\r\n\r\n onClickClose(e) {\r\n this.popup.instance.hide();\r\n }\r\n\r\n onClickErledigt(e) {\r\n let result = confirm('Wollen Sie die Wiedervorlage wirklich schließen?', 'Bestätigung');\r\n result.then((dialogResult) => {\r\n if (dialogResult) {\r\n this.apiService.post(RouteKeys.Wiedervorlage.finish, { entityId: e.row.data.wiedervorlagenId, erledigt: true }).subscribe(() => {\r\n this.wiedervorlagenDataGrid.instance.refresh();\r\n }, err => {\r\n throw err;\r\n });\r\n }\r\n });\r\n }\r\n\r\n private handleEditCloseEvent(state: number) {\r\n if (state === 1) {\r\n this.wiedervorlagenDataGrid.instance.refresh();\r\n } else if (state === 2) {\r\n this.popup.instance.hide();\r\n }\r\n }\r\n\r\n isVisible(e) {\r\n return !e.row.data.status;\r\n }\r\n}\r\n\r\n\r\n","\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, CanLoad, Route, UrlSegment, UrlTree } from '@angular/router';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate, CanLoad {\r\n\r\n constructor(private router: Router, private authService: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Observable | Promise {\r\n return this.can();\r\n }\r\n\r\n canLoad(route: Route, segments: UrlSegment[]): boolean | import('@angular/router').UrlTree | Observable | Promise {\r\n return this.can();\r\n }\r\n\r\n can() {\r\n if (this.authService.isLoggedIn()) {\r\n return true;\r\n }\r\n\r\n this.router.navigate(['extern/login']);\r\n return false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate, UrlTree } from '@angular/router';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CanDeactivateGuard implements CanDeactivate {\r\n canDeactivate(component: IDeactivateComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return component.canExit ? component.canExit() : true;\r\n }\r\n}\r\n\r\nexport interface IDeactivateComponent {\r\n canExit: () => Observable | Promise | boolean;\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, CanLoad, Route, UrlSegment, UrlTree } from '@angular/router';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable()\r\nexport class RollenGuard implements CanActivate, CanLoad {\r\n\r\n constructor(private router: Router, private authService: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Observable | Promise {\r\n return this.can(route.data.neededRoles);\r\n }\r\n\r\n canLoad(route: Route, segments: UrlSegment[]): boolean | UrlTree | Observable | Promise {\r\n return this.can(route.data.neededRoles);\r\n }\r\n\r\n can(neededRoles: string[]) {\r\n if (!this.authService.isLoggedIn()) {\r\n return false;\r\n }\r\n let isInRole = false;\r\n isInRole = this.authService.isInOneOfThisRoles(neededRoles);\r\n return isInRole;\r\n }\r\n}\r\n\r\n\r\n","export namespace RouteKeys {\r\n export namespace StartSite {\r\n export const get: string = 'StartSite/Get';\r\n }\r\n\r\n export namespace Auth {\r\n export const get_token: string = 'Auth/GetToken';\r\n export const psw_recover: string = 'ExternBenutzer/RecoverPassword';\r\n export const send_verify_code: string = 'Auth/SendVerifyCode';\r\n export const login_no_2FA: string = 'Auth/LoginNo2FA';\r\n export const get_is_2FA_on: string = 'Auth/GetIs2FAOn';\r\n }\r\n\r\n export namespace Bilder {\r\n export const getAll: string = 'Bilder/GetAll';\r\n export const add: string = 'Bilder/Add';\r\n export const update: string = 'Bilder/Update';\r\n export const reOrder: string = 'Bilder/ReOrder';\r\n export const remove: string = 'Bilder/Remove';\r\n }\r\n\r\n export namespace Dokumente {\r\n export const getAll: string = 'Dokumente/GetAll';\r\n export const save: string = 'Dokumente/Save';\r\n export const update: string = 'Dokumente/Update';\r\n export const download: string = 'Dokumente/Download';\r\n export const remove: string = 'Dokumente/Remove';\r\n }\r\n\r\n export namespace Poll {\r\n export const get: string = 'Poll/Get';\r\n }\r\n\r\n export namespace Config {\r\n export const get_config: string = 'Config/GetConfig';\r\n export const get_config_extern: string = 'Config/GetConfigNothAuth';\r\n export const get_version: string = 'Config/GetVersion';\r\n export const get_global_settings: string = 'GlobalSettings/GetValue';\r\n }\r\n\r\n export namespace EmailVerwaltung {\r\n export const get_email_vorlage: string = 'EmailVerwaltung/GetEmailVorlage';\r\n export const set_email_vorlage: string = 'EmailVerwaltung/SetEmailVorlage';\r\n export const get_email_vorlage_description: string = 'EmailVerwaltung/GetEmailVorlagenDescription';\r\n }\r\n\r\n export namespace Inquire {\r\n export const get_search: string = 'Inquire/Search';\r\n export const add_antrag: string = 'Inquire/AddAntrag';\r\n export const update_antrag: string = 'Inquire/UpdateAntrag';\r\n export const remove_antrag: string = 'Inquire/RemoveAntrag';\r\n export const get_antrag: string = 'Inquire/GetAntragById';\r\n export const get_kinder_dublette: string = 'Inquire/GetKinderDublette';\r\n export const check_user: string = 'Inquire/CheckUser';\r\n export const check_status: string = 'Inquire/CheckStatus';\r\n export const stapelbearbeitung: string = 'Inquire/Stapelbearbeitung';\r\n export const get_historie: string = 'Inquire/GetHistorie';\r\n export const get_all_historie: string = 'Inquire/GetAllHistorie';\r\n }\r\n\r\n export namespace Vorlage {\r\n export const get_search: string = 'Vorlagen/Search';\r\n export const create: string = 'Vorlagen/Create';\r\n export const save_as_pdf: string = 'Vorlagen/SaveAsPdf';\r\n export const create_without_download: string = 'Vorlagen/CreateWithoutDownload';\r\n }\r\n\r\n export namespace Wiedervorlage {\r\n export const get_search: string = 'Wiedervorlagen/Search';\r\n export const get_allByAntrag: string = 'Wiedervorlagen/GetAllByAntrag';\r\n export const get: string = 'Wiedervorlagen/Get';\r\n export const update: string = 'Wiedervorlagen/Update';\r\n export const finish: string = 'Wiedervorlagen/Finish';\r\n }\r\n export namespace Option {\r\n export namespace Benutzer {\r\n export const get_search: string = 'Benutzer/Search';\r\n export const get: string = 'Benutzer/Get';\r\n export const add: string = 'Benutzer/Add';\r\n export const update: string = 'Benutzer/Update';\r\n export const remove: string = 'Benutzer/Remove';\r\n export const get_profile: string = 'Benutzer/GetUserProfile';\r\n export const update_profile: string = 'Benutzer/UpdateUserProfile';\r\n export const set_password: string = 'Benutzer/SetUserPassword';\r\n export const get_search_buerger: string = 'Benutzer/SearchBuerger';\r\n\r\n export const get_buerger: string = 'Benutzer/GetBuerger';\r\n export const add_buerger: string = 'Benutzer/AddBuerger';\r\n export const update_buerger: string = 'Benutzer/UpdateBuerger';\r\n export const get_anzahl_antraege: string = 'Benutzer/GetAnzahlAntraege';\r\n export const remove_buerger: string = 'Benutzer/RemoveBuerger';\r\n }\r\n\r\n export namespace Vorlagenverwaltung {\r\n export const get_search: string = 'Vorlagenverwaltung/Search';\r\n export const download: string = 'Vorlagenverwaltung/Download';\r\n export const save: string = 'Vorlagenverwaltung/Save';\r\n export const remove: string = 'Vorlagenverwaltung/Remove';\r\n export const get_antrag_vorlage_description: string = 'Vorlagenverwaltung/GetAntragVorlagenDescription';\r\n export const get_antrag_vorlage_description_file: string = 'Vorlagenverwaltung/GetAntragVorlagenDescriptionFile';\r\n export const saveFromBase64: string = 'Vorlagenverwaltung/SaveFromBase64';\r\n }\r\n\r\n export namespace Kataloge {\r\n export const get_katalog: string = 'Katalog/GetKatalog';\r\n export const add_katalog: string = 'Katalog/AddKatalog';\r\n export const update_katalog: string = 'Katalog/UpdateKatalog';\r\n export const remove_katalog: string = 'Katalog/RemoveKatalog';\r\n export const sort_katalog: string = 'Katalog/SortKatalog';\r\n\r\n export const get_strassen_katalog: string = 'Katalog/GetStrassenKatalog';\r\n export const add_strassen_katalog: string = 'Katalog/AddStrassenKatalog';\r\n export const update_strassen_katalog: string = 'Katalog/UpdateStrassenKatalog';\r\n export const remove_strassen_katalog: string = 'Katalog/RemoveStrassenKatalog';\r\n export const remove_all_strassen_katalog: string = 'Katalog/RemoveAllStrassenKatalog';\r\n export const reorder_katalog: string = 'Katalog/ReorderKatalog';\r\n }\r\n\r\n export namespace Faq {\r\n export const get_question: string = 'Faq/Search';\r\n export const add: string = 'Faq/Add';\r\n export const update: string = 'Faq/Update';\r\n export const remove: string = 'Faq/Remove';\r\n }\r\n\r\n export namespace News {\r\n export const get_news: string = 'Neuigkeit/Search';\r\n export const add: string = 'Neuigkeit/Add';\r\n export const update: string = 'Neuigkeit/Update';\r\n export const remove: string = 'Neuigkeit/Remove';\r\n }\r\n\r\n export namespace Export {\r\n export const get_export: string = 'Export/Search';\r\n export const add_export: string = 'Export/Create';\r\n export const download_export: string = 'Export/DownloadExport';\r\n export const get_protocol: string = 'Export/GetProtocol';\r\n export const add_basedata_export: string = 'Export/CreateBaseData';\r\n export const download_export_basedata: string = 'Export/DownloadExportBasedata';\r\n }\r\n\r\n export namespace Settings {\r\n export namespace Allgemein {\r\n export const get: string = 'Settings/Get_Allgemein';\r\n export const save: string = 'Settings/Save_Allgemein';\r\n }\r\n\r\n export namespace Sicherheit {\r\n export const get: string = 'Settings/Get_Sicherheit';\r\n export const save: string = 'Settings/Save_Sicherheit';\r\n }\r\n\r\n export namespace Start {\r\n export const get: string = 'Settings/Get_Start';\r\n export const save: string = 'Settings/Save_Start';\r\n }\r\n\r\n export namespace Antrag {\r\n export const get: string = 'Settings/Get_Antrag';\r\n export const save: string = 'Settings/Save_Antrag';\r\n }\r\n\r\n export namespace Formularfelder {\r\n export const get: string = 'Settings/Get_Formularfelder';\r\n export const save: string = 'Settings/Save_Formularfelder';\r\n }\r\n\r\n export namespace Beitragsberechnung {\r\n export const get: string = 'Settings/Get_Calculator';\r\n export const save: string = 'Settings/Save_Calculator';\r\n export const get_tables: string = 'Settings/Get_FeeTables';\r\n export const get_table: string = 'Settings/Get_FeeTable';\r\n export const add_table: string = 'Settings/Add_FeeTable';\r\n export const save_table: string = 'Settings/Save_FeeTable';\r\n export const remove_table: string = 'Settings/Remove_FeeTable';\r\n }\r\n\r\n export namespace Bgb {\r\n export const get: string = 'Settings/Get_Bgb';\r\n export const save: string = 'Settings/Save_Bgb';\r\n export const holidaycare_get: string = 'Settings/Get_BgbHolidaycare';\r\n export const holidaycare_save: string = 'Settings/Save_BgbHolidaycare';\r\n export const mealallowance_get: string = 'Settings/Get_BgbMealAllowance';\r\n export const mealallowance_save: string = 'Settings/Save_BgbMealAllowance';\r\n }\r\n\r\n export namespace Export {\r\n export const get: string = 'Settings/Get_Export';\r\n export const save: string = 'Settings/Save_Export';\r\n }\r\n\r\n export namespace Ewo {\r\n export const get: string = 'Settings/Get_Ewo';\r\n export const save: string = 'Settings/Save_Ewo';\r\n }\r\n }\r\n }\r\n\r\n export namespace Einrichtung {\r\n export const get_search: string = 'Einrichtung/Search';\r\n export const get_einrichtungen_select: string = 'Einrichtung/GetEinrichtungenForSelect';\r\n export const get_einrichtungen_dashboard: string = 'Einrichtung/GetEinrichtungenForDashboard';\r\n export const get_einrichtung_by_id: string = 'Einrichtung/GetEinrichtungById';\r\n export const add_einrichtung: string = 'Einrichtung/AddEinrichtung';\r\n export const update_einrichtung: string = 'Einrichtung/UpdateEinrichtung';\r\n export const remove_einrichtung: string = 'Einrichtung/RemoveEinrichtung';\r\n }\r\n\r\n export namespace Kapazitaeten {\r\n export const get_all: string = 'Kapazitaet/Search';\r\n }\r\n\r\n export namespace Traeger {\r\n export const get_traeger: string = 'Traeger/GetAllTraeger';\r\n export const get_traeger_select: string = 'Traeger/GetTraegerForSelect';\r\n export const get_traeger_by_id: string = 'Traeger/GetTraegerById';\r\n export const add_traeger: string = 'Traeger/AddTraeger';\r\n export const update_traeger: string = 'Traeger/UpdateTraeger';\r\n export const remove_traeger: string = 'Traeger/RemoveTraeger';\r\n }\r\n\r\n export namespace Recherche {\r\n export const get_available_selects: string = 'Recherche/GetAvailableSelects';\r\n export const search: string = 'Recherche/Search';\r\n\r\n export const load_vorlagen: string = 'Recherche/LoadAllVorlagen';\r\n export const save_vorlage: string = 'Recherche/SaveVorlage';\r\n export const remove_vorlage: string = 'Recherche/RemoveVorlage';\r\n }\r\n\r\n export namespace Imprint {\r\n export const update_imprint: string = 'Imprint/Update';\r\n export const get_value: string = 'Imprint/GetValue';\r\n }\r\n\r\n export namespace Privacy {\r\n export const update_privacy: string = 'Privacy/Update';\r\n export const get_value: string = 'Privacy/GetValue';\r\n }\r\n\r\n export namespace Doctext {\r\n export const update_doctext: string = 'Doctext/Update';\r\n export const get_value: string = 'Doctext/GetValue';\r\n }\r\n\r\n export namespace Dev {\r\n export const logs_download: string = 'Develop/GetLogs';\r\n export const logs_delete: string = 'Develop/RemoveLogs';\r\n }\r\n\r\n export namespace Exception {\r\n export const log_error: string = 'Exception/LogError';\r\n }\r\n\r\n export namespace Bgb {\r\n export const haushalt_get: string = 'BeitragsberechnungHaushalt/Get';\r\n export const haushalt_save: string = 'BeitragsberechnungHaushalt/Save';\r\n export const haushalt_search: string = 'BeitragsberechnungHaushalt/Search';\r\n export const haushalt_delete: string = 'BeitragsberechnungHaushalt/Delete';\r\n export const ek_berechnungen_search: string = 'BeitragsberechnungHaushalt/SearchEkBerechnungen';\r\n export const ek_berechnung_get: string = 'BeitragsberechnungHaushalt/GetEkBerechnung';\r\n export const ek_berechnungen_get: string = 'BeitragsberechnungHaushalt/GetEkBerechnungenKurz';\r\n export const ek_berechnung_save: string = 'BeitragsberechnungHaushalt/SaveEkBerechnung';\r\n export const ek_berechnung_delete: string = 'BeitragsberechnungHaushalt/DeleteEkBerechnung';\r\n\r\n export const vertrag_get: string = 'BeitragsberechnungVertrag/Get';\r\n export const vertrag_save: string = 'BeitragsberechnungVertrag/Save';\r\n export const vertrag_search: string = 'BeitragsberechnungVertrag/Search';\r\n export const validate: string = 'BeitragsberechnungVertrag/Validate';\r\n export const vertrag_delete: string = 'BeitragsberechnungVertrag/Delete';\r\n export const vertrag_get_hh: string = 'BeitragsberechnungVertrag/GetHH';\r\n\r\n export const elternbeitrag_search: string = 'BeitragsberechnungElternbeitrag/Search';\r\n export const elternbeitrag_get: string = 'BeitragsberechnungElternbeitrag/Get';\r\n export const elternbeitrag_get_bb_kurz: string = 'BeitragsberechnungElternbeitrag/GetBearbeitungenKurz';\r\n\r\n export const elternbeitrag_save: string = 'BeitragsberechnungElternbeitrag/Save';\r\n export const elternbeitrag_delete: string = 'BeitragsberechnungElternbeitrag/Delete';\r\n export const elternbeitrag_timeline: string = 'BeitragsberechnungElternbeitrag/GetTimeLine';\r\n export const elternbeitrag_timeline2: string = 'BeitragsberechnungElternbeitrag/GetTimeLine2';\r\n\r\n export const person_search: string = 'BeitragsberechnungPerson/Search';\r\n export const person_search_kids: string = 'BeitragsberechnungPerson/SearchKids';\r\n export const person_get: string = 'BeitragsberechnungPerson/Get';\r\n export const person_save: string = 'BeitragsberechnungPerson/Save';\r\n\r\n export const essengeld_get: string = 'BeitragsberechnungEssengeld/Get';\r\n export const essengeld_save: string = 'BeitragsberechnungEssengeld/Save';\r\n\r\n export const ferienbetreuung_save: string = 'BeitragsberechnungFerienbetreuung/Save';\r\n export const ferienbetreuung_get: string = 'BeitragsberechnungFerienbetreuung/Get';\r\n\r\n export const ferien_get: string = 'Ferien/Search';\r\n export const ferien_save: string = 'Ferien/Save';\r\n export const ferien_delete: string = 'Ferien/Delete';\r\n\r\n // export const kinder_search: string = 'BeitragsberechnungKinder/Search';\r\n }\r\n \r\n export namespace Ewo {\r\n export const check_person_residence: string = 'Ewo/CheckPersonResidence';\r\n export const check_person_residence_vague: string = 'Ewo/CheckPersonResidenceVague';\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, OnDestroy, ViewChild, Input } from '@angular/core';\r\nimport { ContextMenuCommandId, create, createOptions, FileTabItemId, Options, Ribbon, RibbonTabType, RichEdit } from 'devexpress-richedit';\r\nimport { DocumentFormatApi } from 'devexpress-richedit/lib/model-api/formats/enum';\r\nimport { DxPopupComponent } from 'devextreme-angular/ui/popup';\r\n\r\n@Component({\r\n selector: 'app-docX-preview-popup',\r\n templateUrl: './docX-preview-popup.component.html',\r\n styleUrls: ['./docX-preview-popup.component.scss']\r\n})\r\nexport class DocxPreviewPopupComponent implements OnDestroy {\r\n\r\n @ViewChild('popup', { static: false }) popup: DxPopupComponent;\r\n @ViewChild('richContainer') richContainerElement: ElementRef;\r\n\r\n\r\n private rich: RichEdit;\r\n\r\n constructor() {\r\n this.onClickOk = this.onClickOk.bind(this);\r\n this.onClickClose = this.onClickClose.bind(this);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.rich) {\r\n this.rich.dispose();\r\n this.rich = null;\r\n }\r\n }\r\n\r\n openBlob(blob: Blob, fileName: string) {\r\n if (this.rich) {\r\n this.rich.updateRibbon((ribbon: Ribbon) => {\r\n const fileTab = ribbon.getTab(RibbonTabType.File);\r\n fileTab.title = fileName;\r\n })\r\n this.rich.openDocument(blob);\r\n }\r\n\r\n this.popup.instance.show().then(() => {\r\n if (!this.rich) {\r\n this.rich = create(this.richContainerElement.nativeElement, this.getOptions(fileName));\r\n this.rich.openDocument(blob, fileName, DocumentFormatApi.OpenXml);\r\n }\r\n });\r\n }\r\n\r\n onClickOk() {\r\n this.popup.instance.hide();\r\n }\r\n\r\n onClickClose() {\r\n this.popup.instance.hide();\r\n }\r\n\r\n getOptions(fileName: string): Options {\r\n const options = createOptions();\r\n options.width = '100%';\r\n options.height = '100%';\r\n options.confirmOnLosingChanges.enabled = false;\r\n options.readOnly = true;\r\n\r\n const fileTab = options.ribbon.getTab(RibbonTabType.File);\r\n fileTab.title = fileName;\r\n fileTab.removeItem(FileTabItemId.CreateNewDocument);\r\n fileTab.removeItem(FileTabItemId.OpenDocument);\r\n fileTab.removeItem(FileTabItemId.ExportDocument);\r\n\r\n options.ribbon.clearTabs();\r\n options.ribbon.insertTab(fileTab, 0);\r\n options.ribbon.activeTabIndex = 0;\r\n\r\n this.removeContextMenuItems(options);\r\n\r\n return options;\r\n }\r\n\r\n removeContextMenuItems(options: Options) {\r\n for (let index = 0; index < options.contextMenu.items.length; index++) {\r\n const element = options.contextMenu.items[index];\r\n if (element.id !== ContextMenuCommandId.Copy) {\r\n options.contextMenu.removeItem(element);\r\n }\r\n }\r\n\r\n if (options.contextMenu.items.length > 1) {\r\n this.removeContextMenuItems(options);\r\n }\r\n }\r\n}\r\n","\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';\r\nimport { ApiService } from 'src/app/share/services/api.service';\r\nimport { ConfigService } from 'src/app/share/services/config.service';\r\nimport { PopupService } from 'src/app/share/services/popup.service';\r\nimport { EinkommensrechnerComponent } from '../einkommensrechner.component';\r\nimport { confirm } from 'devextreme/ui/dialog';\r\n\r\nexport interface ekHaushalt {\r\n hhaId: number;\r\n hhaAngehoerige: hhaAngehoerige[];\r\n}\r\n\r\nexport interface hhaAngehoerige {\r\n hhaAngehoerigerId: number;\r\n name: string;\r\n}\r\n\r\nexport interface ekBerechnungen {\r\n id: number;\r\n hhaId: number;\r\n typ: number;\r\n datumBerechnung: Date;\r\n datumNachweis?: Date;\r\n betragJahr: number;\r\n betragMonat: number;\r\n bemerkung: string;\r\n rechtsgrundlage: number;\r\n ekPersonId_1: number;\r\n ekPersonId_2: number;\r\n ekPersonId_3: number;\r\n einkommenDetails: ekDetails[];\r\n}\r\n\r\nexport interface ekDetails {\r\n einkommensartId: number;\r\n einkommenstyp: string;\r\n betrag_1: number;\r\n betrag_2: number;\r\n betrag_3: number;\r\n frequenz: number;\r\n}\r\n\r\n@Component({\r\n selector: 'app-einkommensrechner-search',\r\n templateUrl: './einkommensrechner-search.component.html',\r\n styleUrls: ['./einkommensrechner-search.component.scss'],\r\n})\r\nexport class EinkommensrechnerSearchComponent {\r\n @ViewChild('ekrechnerDataGrid', { static: false }) ekrechnerDataGrid: DxDataGridComponent;\r\n @ViewChild('ekRechner', { static: false }) ekRechner: EinkommensrechnerComponent;\r\n\r\n @Input() set ekBerechnungen(ekb: ekBerechnungen[]) {\r\n if (ekb !== null && ekb !== undefined && ekb.length > 0) {\r\n this.load(ekb);\r\n } else {\r\n this.dataSource = [];\r\n }\r\n }\r\n\r\n @Input() ekHaushalt: ekHaushalt;\r\n\r\n @Output() onUpdate: EventEmitter = new EventEmitter();\r\n\r\n dataSource: any[];\r\n old_dataSource: string;\r\n\r\n isEkRechnerOpen: boolean = false;\r\n dsRechtsgrundlagen: any[] = this.configService.getEinkommenRechtsgrundlagen();\r\n\r\n constructor(private apiService: ApiService, public configService: ConfigService, public popupService: PopupService) {\r\n this.load = this.load.bind(this);\r\n this.onClickDelete = this.onClickDelete.bind(this);\r\n this.onClickEdit = this.onClickEdit.bind(this);\r\n this.onEkRechnerClose = this.onEkRechnerClose.bind(this);\r\n }\r\n\r\n onToolbarPreparing(e) {\r\n var searchPanel = e.toolbarOptions.items.filter((item) => item.name === 'searchPanel');\r\n if (searchPanel && searchPanel[0]) {\r\n searchPanel[0].location = 'before';\r\n }\r\n e.toolbarOptions.items.push({\r\n location: 'after',\r\n widget: 'dxButton',\r\n cssClass: 'datagridToolbarNewBtn',\r\n options: {\r\n stylingMode: 'contained',\r\n type: 'default',\r\n icon: 'add',\r\n text: 'Einkommensberechnung hinzufügen',\r\n onClick: this.onClickNew.bind(this),\r\n },\r\n });\r\n }\r\n\r\n // load(haushaltId: number) {\r\n // this.apiService.post(RouteKeys.Bgb.ek_berechnungen_search, { id: haushaltId }).subscribe(\r\n // (response) => {\r\n // this.dataSource = response;\r\n // console.debug(response);\r\n // this.old_dataSource = JSON.stringify(this.dataSource);\r\n // this.ekrechnerDataGrid.instance.refresh();\r\n // },\r\n // (err) => {\r\n // throw err.message;\r\n // }\r\n // );\r\n // }\r\n\r\n load(ekb) {\r\n setTimeout(() => {\r\n this.dataSource = ekb;\r\n this.old_dataSource = JSON.stringify(this.dataSource);\r\n this.ekrechnerDataGrid.instance.refresh();\r\n }, 50);\r\n }\r\n\r\n onClickNew(e) {\r\n this.isEkRechnerOpen = true;\r\n setTimeout(() => {\r\n this.ekRechner.formData = {\r\n hhaId: this.ekHaushalt.hhaId,\r\n hhaPersonen: this.ekHaushalt.hhaAngehoerige,\r\n modus: 'add',\r\n ekBerechnung: {\r\n id: null,\r\n datumBerechnung: new Date(),\r\n datumNachweis: null,\r\n rechtsgrundlage: null,\r\n ekDetails: [],\r\n bemerkung: '',\r\n ekPersonId_1: null,\r\n ekPersonId_2: null,\r\n ekPersonId_3: null,\r\n },\r\n };\r\n this.ekRechner.showEkRechner();\r\n }, 50);\r\n }\r\n\r\n onClickEdit(e) {\r\n const ek = e.row ? e.row.data : e.data;\r\n this.isEkRechnerOpen = true;\r\n setTimeout(() => {\r\n this.ekRechner.formData = {\r\n hhaId: this.ekHaushalt.hhaId,\r\n hhaPersonen: this.ekHaushalt.hhaAngehoerige,\r\n modus: 'edit',\r\n ekBerechnung: {\r\n id: ek.id,\r\n datumBerechnung: ek.datumBerechnung,\r\n datumNachweis: ek.datumNachweis,\r\n rechtsgrundlage: ek.rechtsgrundlage,\r\n ekDetails: ek.einkommenDetails,\r\n bemerkung: ek.bemerkung,\r\n ekPersonId_1: ek.ekPersonId_1,\r\n ekPersonId_2: ek.ekPersonId_2,\r\n ekPersonId_3: ek.ekPersonId_3,\r\n },\r\n };\r\n this.ekRechner.showEkRechner();\r\n }, 50);\r\n }\r\n\r\n onClickDelete(e) {\r\n let result = confirm('Wollen Sie die Einkommensberechnung wirklich löschen?', 'Bestätigung');\r\n result.then((dialogResult) => {\r\n if (dialogResult) {\r\n setTimeout(() => {\r\n this.dataSource.splice(e.row.rowIndex, 1);\r\n }, 150);\r\n }\r\n });\r\n }\r\n\r\n onEkRechnerClose(ekObj) {\r\n if (ekObj !== null && ekObj !== undefined) {\r\n if (ekObj.modus === 'add') {\r\n this.dataSource.push({\r\n datumBerechnung: ekObj.ekBerechnung.datumBerechnung,\r\n datumNachweis: ekObj.ekBerechnung.datumNachweis,\r\n rechtsgrundlage: ekObj.ekBerechnung.rechtsgrundlage,\r\n einkommenDetails: ekObj.ekBerechnung.ekDetails,\r\n bemerkung: ekObj.ekBerechnung.bemerkung,\r\n betragJahr: ekObj.ekBerechnung.betragJahr,\r\n betragMonat: ekObj.ekBerechnung.betragMonat,\r\n ekPersonId_1: ekObj.ekBerechnung.ekPersonId_1,\r\n ekPersonId_2: ekObj.ekBerechnung.ekPersonId_2,\r\n ekPersonId_3: ekObj.ekBerechnung.ekPersonId_3,\r\n });\r\n } else if (ekObj.modus === 'edit') {\r\n let item = this.dataSource.find((x) => x.id === ekObj.ekBerechnung.id);\r\n if (item !== null && item !== undefined) {\r\n item.datumBerechnung = ekObj.ekBerechnung.datumBerechnung;\r\n item.datumNachweis = ekObj.ekBerechnung.datumNachweis;\r\n item.rechtsgrundlage = ekObj.ekBerechnung.rechtsgrundlage;\r\n item.einkommenDetails = ekObj.ekBerechnung.ekDetails;\r\n item.bemerkung = ekObj.ekBerechnung.bemerkung;\r\n item.betragJahr = ekObj.ekBerechnung.betragJahr;\r\n item.betragMonat = ekObj.ekBerechnung.betragMonat;\r\n item.ekPersonId_1 = ekObj.ekBerechnung.ekPersonId_1;\r\n item.ekPersonId_2 = ekObj.ekBerechnung.ekPersonId_2;\r\n item.ekPersonId_3 = ekObj.ekBerechnung.ekPersonId_3;\r\n }\r\n }\r\n this.isEkRechnerOpen = false;\r\n this.onUpdate.emit(this.dataSource);\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n","import { NgModule, ModuleWithProviders, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\nimport { DxMenuModule } from 'devextreme-angular/ui/menu';\r\nimport { DxDrawerModule } from 'devextreme-angular/ui/drawer';\r\nimport { DxFormModule } from 'devextreme-angular/ui/form';\r\nimport { DxButtonModule } from 'devextreme-angular/ui/button';\r\nimport { DxToolbarModule } from 'devextreme-angular/ui/toolbar';\r\nimport { DxDataGridModule } from 'devextreme-angular/ui/data-grid';\r\nimport { DxTemplateModule } from 'devextreme-angular/core';\r\nimport { DxNumberBoxModule } from 'devextreme-angular/ui/number-box';\r\nimport { DxLoadIndicatorModule } from 'devextreme-angular/ui/load-indicator';\r\nimport { DxListModule } from 'devextreme-angular/ui/list';\r\nimport { DxTextBoxModule } from 'devextreme-angular/ui/text-box';\r\nimport { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';\r\nimport { DxTextAreaModule } from 'devextreme-angular/ui/text-area';\r\nimport { DxTabPanelModule } from 'devextreme-angular/ui/tab-panel';\r\nimport { DxPopupModule } from 'devextreme-angular/ui/popup';\r\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\r\nimport { DxFileUploaderModule } from 'devextreme-angular/ui/file-uploader';\r\nimport { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';\r\nimport { DxAccordionModule } from 'devextreme-angular/ui/accordion';\r\nimport { TableContainerComponent } from '../components/table-container/table-container.component';\r\nimport { DxResponsiveBoxModule } from 'devextreme-angular/ui/responsive-box';\r\nimport { DxBoxModule } from 'devextreme-angular/ui/box';\r\nimport { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';\r\nimport { DxDateBoxModule } from 'devextreme-angular/ui/date-box';\r\nimport { DxPieChartModule } from 'devextreme-angular/ui/pie-chart';\r\nimport { DxLoadPanelModule } from 'devextreme-angular/ui/load-panel';\r\nimport { DxLookupModule } from 'devextreme-angular/ui/lookup';\r\nimport { DxBulletModule } from 'devextreme-angular/ui/bullet';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { DxSortableModule } from 'devextreme-angular/ui/sortable';\r\nimport { DxTooltipModule } from 'devextreme-angular/ui/tooltip';\r\nimport { DxAutocompleteModule } from 'devextreme-angular/ui/autocomplete';\r\n\r\nimport { ColumnChooserComponent } from '../components/columnChooser/columnChooser.component';\r\nimport { EditPasswordPopupComponent } from 'src/app/department/department-profile/editPasswordPopup/editPasswordPopup.component';\r\nimport { VorlagenPopupComponent } from '../components/vorlagenPopup/vorlagenPopup.component';\r\nimport { DxGalleryModule } from 'devextreme-angular/ui/gallery';\r\nimport { DxHtmlEditorModule } from 'devextreme-angular/ui/html-editor';\r\nimport { DxValidatorModule } from 'devextreme-angular/ui/validator';\r\nimport { WiedervorlagenEditPopupComponent } from '../components/wiedervorlagenEditPopup/wiedervorlagenEditPopup.component';\r\nimport { WiedervorlagenGridPopupComponent } from '../components/wiedervorlagenGridPopup/wiedervorlagenGridPopup.component';\r\nimport { DokumenteComponent } from '../components/dokumente/dokumente.component';\r\nimport { DokumenteEditComponent } from '../components/dokumente/dokumente-edit/dokumente-edit.component';\r\nimport { DxChartModule } from 'devextreme-angular/ui/chart';\r\n\r\nimport { DxRadioGroupModule } from 'devextreme-angular/ui/radio-group';\r\nimport { MenuSidebarComponent } from '../components/menu-sidebar/menu-sidebar.component';\r\nimport { ImprintComponent } from '../components/imprint/imprint.component';\r\nimport { PrivacyComponent } from '../components/privacy/privacy.component';\r\nimport { BilderComponent } from '../components/bilder/bilder.component';\r\nimport { BilderEditComponent } from '../components/bilder/bilder-edit/bilder-edit.component';\r\nimport { SecurePipe } from '../pipes/secure.pipe';\r\nimport { MapOsmComponent } from '../components/map-osm/map-osm.component';\r\nimport { AutocompleteboxOsmComponent } from '../components/autocompletebox-osm/autocompletebox-osm.component';\r\nimport { DxSliderModule } from 'devextreme-angular/ui/slider';\r\nimport { LoginCodePopupComponent } from '../components/loginCodePopup/loginCodePopup.component';\r\nimport { BgbPersonSearchPopupComponent } from '../components/bgb-person-search-popup/bgb-person-search-popup.component';\r\nimport { BgbPersonEditPopupComponent } from '../components/bgb-person-search-popup/bgb-person-edit-popup/bgb-person-edit-popup.component';\r\nimport { ErrorBoxComponent } from '../components/error-box/error-box.component';\r\nimport { StapelBearbeitungPopupComponent } from '../components/stapelBearbeitungPopup/stapelBearbeitungPopup.component';\r\nimport { DocxPreviewPopupComponent } from '../components/docX-preview-popup/docX-preview-popup.component';\r\nimport { DocxMultiPreviewPopupComponent } from '../components/docX-multi-preview-popup/docX-multi-preview-popup.component';\r\nimport { PdfJsViewerModule } from 'ng2-pdfjs-viewer';\r\nimport { EinkommensrechnerComponent } from '../components/einkommensrechner/einkommensrechner.component';\r\nimport { EinkommensrechnerSearchComponent } from '../components/einkommensrechner/einkommensrechner-search/einkommensrechner-search.component';\r\nimport { EwoPersonSearchPopupComponent } from '../components/ewo-person-search-popup/ewo-person-search-popup.component';\r\nimport { DxValidationGroupModule } from 'devextreme-angular';\r\n\r\n// import { AutocompleteboxTomtomComponent } from '../components/autocompletebox-tomtom/autocompletebox-tomtom.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TableContainerComponent,\r\n ColumnChooserComponent,\r\n EditPasswordPopupComponent,\r\n VorlagenPopupComponent,\r\n WiedervorlagenGridPopupComponent,\r\n WiedervorlagenEditPopupComponent,\r\n DokumenteComponent,\r\n DokumenteEditComponent,\r\n MenuSidebarComponent,\r\n ImprintComponent,\r\n PrivacyComponent,\r\n BilderComponent,\r\n BilderEditComponent,\r\n SecurePipe,\r\n // AutocompleteboxTomtomComponent,\r\n MapOsmComponent,\r\n AutocompleteboxOsmComponent,\r\n LoginCodePopupComponent,\r\n BgbPersonSearchPopupComponent,\r\n BgbPersonEditPopupComponent,\r\n ErrorBoxComponent,\r\n StapelBearbeitungPopupComponent,\r\n DocxMultiPreviewPopupComponent,\r\n DocxPreviewPopupComponent,\r\n EinkommensrechnerComponent,\r\n EinkommensrechnerSearchComponent,\r\n EwoPersonSearchPopupComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n DxMenuModule,\r\n DxDrawerModule,\r\n DxListModule,\r\n DxFormModule,\r\n DxButtonModule,\r\n DxToolbarModule,\r\n DxDataGridModule,\r\n DxTemplateModule,\r\n DxNumberBoxModule,\r\n DxLoadIndicatorModule,\r\n DxTextBoxModule,\r\n DxSelectBoxModule,\r\n DxTextAreaModule,\r\n DxTabPanelModule,\r\n DxPopupModule,\r\n DxScrollViewModule,\r\n DxFileUploaderModule,\r\n DxDataGridModule,\r\n DxCheckBoxModule,\r\n DxAccordionModule,\r\n DxResponsiveBoxModule,\r\n DxBoxModule,\r\n DxTagBoxModule,\r\n DxDateBoxModule,\r\n DxPieChartModule,\r\n DxLoadPanelModule,\r\n DxLookupModule,\r\n DxHtmlEditorModule,\r\n DxValidatorModule,\r\n DxChartModule,\r\n DxBulletModule,\r\n DxGalleryModule,\r\n DxRadioGroupModule,\r\n DxTooltipModule,\r\n DxSortableModule,\r\n DxAutocompleteModule,\r\n DxPopoverModule,\r\n DxSliderModule,\r\n PdfJsViewerModule,\r\n ],\r\n exports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n TableContainerComponent,\r\n ColumnChooserComponent,\r\n EditPasswordPopupComponent,\r\n VorlagenPopupComponent,\r\n WiedervorlagenGridPopupComponent,\r\n WiedervorlagenEditPopupComponent,\r\n DokumenteComponent,\r\n DokumenteEditComponent,\r\n MenuSidebarComponent,\r\n BilderComponent,\r\n BilderEditComponent,\r\n SecurePipe,\r\n // AutocompleteboxTomtomComponent,\r\n MapOsmComponent,\r\n AutocompleteboxOsmComponent,\r\n DocxMultiPreviewPopupComponent,\r\n DocxPreviewPopupComponent,\r\n BgbPersonSearchPopupComponent,\r\n BgbPersonEditPopupComponent,\r\n ErrorBoxComponent,\r\n EinkommensrechnerComponent,\r\n EinkommensrechnerSearchComponent,\r\n\r\n DxMenuModule,\r\n DxDrawerModule,\r\n DxListModule,\r\n DxFormModule,\r\n DxButtonModule,\r\n DxToolbarModule,\r\n DxDataGridModule,\r\n DxTemplateModule,\r\n DxNumberBoxModule,\r\n DxLoadIndicatorModule,\r\n DxTextBoxModule,\r\n DxSelectBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxTabPanelModule,\r\n DxPopupModule,\r\n DxScrollViewModule,\r\n DxFileUploaderModule,\r\n DxDataGridModule,\r\n DxCheckBoxModule,\r\n DxAccordionModule,\r\n DxResponsiveBoxModule,\r\n DxBoxModule,\r\n DxTagBoxModule,\r\n DxDateBoxModule,\r\n DxPieChartModule,\r\n DxLoadPanelModule,\r\n DxLookupModule,\r\n DxHtmlEditorModule,\r\n DxValidatorModule,\r\n DxChartModule,\r\n DxBulletModule,\r\n DxGalleryModule,\r\n DxRadioGroupModule,\r\n DxTooltipModule,\r\n DxSortableModule,\r\n DxAutocompleteModule,\r\n DxPopoverModule,\r\n DxSliderModule,\r\n LoginCodePopupComponent,\r\n StapelBearbeitungPopupComponent,\r\n EwoPersonSearchPopupComponent,\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class InjectorModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: InjectorModule,\r\n providers: [],\r\n };\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { map, Observable } from 'rxjs';\r\n\r\n@Pipe({\r\n name: 'secure'\r\n})\r\nexport class SecurePipe implements PipeTransform {\r\n\r\n constructor(private http: HttpClient, private sanitizer: DomSanitizer) { }\r\n\r\n transform(url): Observable {\r\n return this.http\r\n .get(url, { responseType: 'blob' })\r\n .pipe(\r\n map(val => this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(val)))\r\n );\r\n }\r\n\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpEventType, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { StorageService } from './storage.service';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class ApiService {\r\n\r\n constructor(@Inject(DOCUMENT) private document: Document, private http: HttpClient, private storageService: StorageService) {\r\n }\r\n\r\n post(endPoint: string, data: any = null): Observable {\r\n return this.http.post(endPoint, data);\r\n }\r\n\r\n get(endPoint: string, data: any = null): Observable {\r\n return this.http.get(endPoint);\r\n }\r\n\r\n public getRequestHeaders(responseType: any = null): { headers: HttpHeaders; responseType: any } | { headers: HttpHeaders } {\r\n var headers;\r\n\r\n const token = this.storageService.getFromSession('token');\r\n headers = new HttpHeaders(\r\n {\r\n 'Authorization': 'Bearer ' + token,\r\n 'Cache-Control': 'no-cache',\r\n 'Pragma': 'no-cache',\r\n 'Expires': 'Sat, 01 Jan 2000 00:00:00 GMT'\r\n }\r\n );\r\n\r\n if (responseType === null) {\r\n return {\r\n headers: headers\r\n };\r\n }\r\n else {\r\n return {\r\n headers: headers,\r\n responseType: responseType\r\n };\r\n }\r\n }\r\n\r\n public upload(url: string, input: FormData, cb: (data: T) => void, errCb: (err: any) => void = null) {\r\n var _headers = this.getRequestHeaders();\r\n var uploadReq = new HttpRequest('POST', url, input, {\r\n reportProgress: false,\r\n headers: _headers.headers\r\n });\r\n\r\n this.http.request(uploadReq).subscribe(event => {\r\n if (event.type === HttpEventType.Response) {\r\n var response = event.body as T;\r\n if (cb) {\r\n cb(response);\r\n }\r\n }\r\n }, err => {\r\n if (errCb) {\r\n errCb(err);\r\n }\r\n else {\r\n throw new Error(err.error.msg);\r\n }\r\n });\r\n }\r\n\r\n public postDownload(path: string, fileName: string, data: any, cb: (err) => void = null) {\r\n\r\n var err = false;\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', path, true);\r\n xhr.responseType = 'blob';\r\n xhr.withCredentials = true;\r\n\r\n const token = this.storageService.getFromSession('token');\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8');\r\n\r\n xhr.onloadend = (a) => {\r\n if (cb !== null) {\r\n cb(err);\r\n }\r\n };\r\n\r\n xhr.onload = (e) => {\r\n\r\n if (xhr.status === 200) {\r\n if (xhr.response.size < 1) {\r\n return;\r\n }\r\n\r\n // var _fileName = fileName;\r\n var _fileName = this.getFilename(xhr) || fileName;\r\n\r\n var _url = window.URL || window.webkitURL;\r\n var src = _url.createObjectURL(xhr.response);\r\n\r\n var link = document.createElement('a');\r\n link.target = \"_blank\";\r\n link.href = src;\r\n link.download = _fileName;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n setTimeout(() => {\r\n window.URL.revokeObjectURL(src);\r\n }, 800);\r\n } else {\r\n err = true;\r\n xhr.response.text().then((x) => {\r\n throw x;\r\n });\r\n }\r\n };\r\n\r\n xhr.send(JSON.stringify(data));\r\n };\r\n\r\n getFilename(xhr) {\r\n var disposition = xhr.getResponseHeader('Content-Disposition');\r\n var dispositionSplits = disposition.split(';');\r\n if (dispositionSplits && dispositionSplits.length === 3) {\r\n if (dispositionSplits[0] === 'attachment') {\r\n var fn = dispositionSplits[2].split('filename*=UTF-8\\'\\'');\r\n if (fn && fn.length === 2) {\r\n var dfn = decodeURI(fn[1]);\r\n return dfn;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public postDownloadAsBlob(endPoint: string, fileName: string, data: any, cb: (blob) => void = null, errCb: (err) => void = null) {\r\n\r\n var err = false;\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', endPoint, true);\r\n xhr.responseType = 'blob';\r\n xhr.withCredentials = true;\r\n\r\n const token = this.storageService.getFromSession('token');\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8');\r\n\r\n xhr.onloadend = (a) => {\r\n if (errCb !== null) {\r\n errCb(err);\r\n }\r\n };\r\n\r\n xhr.onload = (e) => {\r\n\r\n if (xhr.status === 200) {\r\n if (xhr.response.size < 1) {\r\n return;\r\n }\r\n\r\n if (cb !== null) {\r\n cb(xhr.response);\r\n }\r\n \r\n } else {\r\n err = true;\r\n xhr.response.text().then((x) => {\r\n throw x;\r\n });\r\n }\r\n };\r\n xhr.send(JSON.stringify(data));\r\n }; \r\n\r\n public postDownloadAsObjectURL(endPoint: string, fileName: string, data: any, cb: (obj) => void = null, errCb: (err) => void = null) {\r\n\r\n var err = false;\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', endPoint, true);\r\n xhr.responseType = 'blob';\r\n xhr.withCredentials = true;\r\n\r\n const token = this.storageService.getFromSession('token');\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8');\r\n\r\n xhr.onloadend = (a) => {\r\n if (errCb !== null) {\r\n errCb(err);\r\n }\r\n };\r\n\r\n xhr.onload = (e) => {\r\n\r\n if (xhr.status === 200) {\r\n if (xhr.response.size < 1) {\r\n return;\r\n }\r\n\r\n var _url = window.URL || window.webkitURL;\r\n var src = _url.createObjectURL(xhr.response);\r\n if(cb){\r\n cb(src)\r\n }\r\n\r\n } else {\r\n err = true;\r\n xhr.response.text().then((x) => {\r\n throw x;\r\n });\r\n }\r\n };\r\n\r\n xhr.send(JSON.stringify(data));\r\n }; \r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { RouteKeys } from '../helper/route-keys.helper';\r\nimport { ApiService } from './api.service';\r\nimport { ConfigService } from './config.service';\r\nimport { PollService } from './poll.service';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n constructor(private router: Router, private apiService: ApiService, private storageService: StorageService, private configService: ConfigService, private pollService: PollService) { }\r\n\r\n login(benutzername: string, passwort: string, verifyCode: string, okCb: () => void, errCb: (err: any) => void) {\r\n this.apiService.post(RouteKeys.Auth.get_token, { username: benutzername, password: passwort, verifyCode: verifyCode }).subscribe(response => {\r\n this.storageService.saveToSession('benutzerId', response.id);\r\n this.storageService.saveToSession('benutzername', response.benutzername);\r\n this.storageService.saveToSession('token', response.token);\r\n this.storageService.saveToSession('rollen', response.rollen);\r\n this.storageService.saveToSession('nachname', response.nachname);\r\n this.storageService.saveToSession('vorname', response.vorname);\r\n okCb();\r\n }, err => {\r\n errCb(err)\r\n });\r\n }\r\n\r\n logout() {\r\n this.pollService.stop();\r\n this.router.navigate(['extern']);\r\n this.storageService.clearSession();\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n const token = this.storageService.getFromSession('token');\r\n const benutzername = this.storageService.getFromSession('benutzername');\r\n if ((token && token.length) && (benutzername && benutzername.length)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getName(): string {\r\n return this.storageService.getFromSession('vorname') + ' ' + this.storageService.getFromSession('nachname');\r\n }\r\n\r\n setName(vorname: string, nachname: string) {\r\n this.storageService.saveToSession('vorname', vorname);\r\n this.storageService.saveToSession('nachname', nachname);\r\n }\r\n\r\n getBenutzerName(): string {\r\n return this.storageService.getFromSession('benutzername');\r\n }\r\n\r\n getBenutzerId(): string {\r\n return this.storageService.getFromSession('benutzerId');\r\n }\r\n\r\n isInRole(role: string = null): boolean {\r\n const _roles = this.getRoles();\r\n let result = false;\r\n _roles.forEach(_role => {\r\n const exist = this.configService.rollen.find(x => x.id === _role);\r\n if (exist !== undefined && exist !== null) {\r\n if (exist.bezeichnung.toLocaleLowerCase() === role.toLocaleLowerCase()) {\r\n result = true;\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n isInOneOfThisRoles(roles: string[]): boolean {\r\n let result = false;\r\n roles.forEach(r => {\r\n if (this.isInRole(r)) {\r\n result = true;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n getRoles(): number[] {\r\n return this.storageService.getFromSession('rollen');\r\n }\r\n\r\n setVerifyCode(benutzername: string, passwort: string, okCb: () => void, errCb: (err: any) => void) {\r\n this.apiService.post(RouteKeys.Auth.send_verify_code, { username: benutzername, password: passwort }).subscribe(response => {\r\n if(response === true)\r\n {\r\n okCb();\r\n }\r\n }, err => {\r\n errCb(err)\r\n });\r\n }\r\n\r\n loginNo2FA(benutzername: string, passwort: string, okCb: () => void, errCb: (err: any) => void) {\r\n this.apiService.post(RouteKeys.Auth.login_no_2FA, { username: benutzername, password: passwort}).subscribe(response => {\r\n this.storageService.saveToSession('benutzerId', response.id);\r\n this.storageService.saveToSession('benutzername', response.benutzername);\r\n this.storageService.saveToSession('token', response.token);\r\n this.storageService.saveToSession('rollen', response.rollen);\r\n this.storageService.saveToSession('nachname', response.nachname);\r\n this.storageService.saveToSession('vorname', response.vorname);\r\n okCb();\r\n }, err => {\r\n errCb(err)\r\n });\r\n }\r\n\r\n isVerwaltung2FAOn(okCb: (result: number) => void, errCb: (err: any) => void){\r\n this.apiService.post(RouteKeys.Auth.get_is_2FA_on).subscribe(result => {\r\n okCb(result);\r\n }, err => {\r\n errCb(err);\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { RouteKeys } from '../helper/route-keys.helper';\r\nimport { ApiService } from './api.service';\r\n\r\n\r\n@Injectable()\r\nexport class ConfigExternService {\r\n\r\n public globalSettings: any[] = [];\r\n noConfigFoundWarning: string[] = [];\r\n isInit: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n constructor(private apiService: ApiService) { \r\n }\r\n\r\n init(): Observable {\r\n this.load();\r\n return this.isInit.asObservable();\r\n }\r\n\r\n stop() {\r\n this.isInit.next(false);\r\n }\r\n\r\n reload() {\r\n this.load();\r\n }\r\n\r\n private load() {\r\n\r\n this.apiService.post(RouteKeys.Config.get_config_extern, null).subscribe(response => {\r\n this.noConfigFoundWarning = []; \r\n this.globalSettings = response.globalSettings;\r\n this.isInit.next(true);\r\n });\r\n }\r\n\r\n public getGlobalSetting(param: string): string {\r\n if (param !== '' && param !== undefined) {\r\n const result = this.globalSettings.find(x => x.key === param);\r\n if (result != null && result !== undefined) {\r\n return result.value;\r\n }\r\n }\r\n return '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { RouteKeys } from '../helper/route-keys.helper';\r\nimport { ApiService } from './api.service';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n maxAnzahlSorgeberechtigter: number = 0;\r\n anzahlBetreuungswuensche: any[] = [1, 2, 3];\r\n anzahlSorgeberechtigter: number = 2;\r\n\r\n private allKataloge: any[] = [];\r\n public kataloge: any[] = [];\r\n public katalogeMitKeineAntragstellung: any[] = [];\r\n public strassen: any[] = [];\r\n public betreuungsArten: any[] = [];\r\n public benutzer: any[] = [];\r\n public benutzerMitNiedrigererOderGleicherRolle: any[] = [];\r\n public globalSettings: any[] = [];\r\n public mandantName: string;\r\n public portalTitel: string;\r\n public bundesland: string;\r\n private statusKatalog: any[];\r\n\r\n get berechnungsDatum(): Date {\r\n return new Date();\r\n }\r\n\r\n private _lizenz: any;\r\n\r\n get lizenz(): any {\r\n if (this._lizenz === undefined || this._lizenz === null) {\r\n this._lizenz = this.storageService.getFromLocale('lizenzen');\r\n }\r\n return this._lizenz;\r\n }\r\n\r\n set lizenz(value: any) {\r\n if (this._lizenz !== value) {\r\n this.storageService.saveToLocale('lizenzen', value);\r\n this._lizenz = value;\r\n }\r\n }\r\n\r\n isInit: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n constructor(private apiService: ApiService, private storageService: StorageService) {}\r\n\r\n init(): Observable {\r\n this.load();\r\n return this.isInit.asObservable();\r\n }\r\n\r\n stop() {\r\n this.isInit.next(false);\r\n }\r\n\r\n reload(cb: () => void = null) {\r\n this.load(cb);\r\n }\r\n\r\n private load(cb: () => void = null) {\r\n this.apiService.post(RouteKeys.Config.get_config, null).subscribe((response) => {\r\n this.lizenz = response.lizenz;\r\n this.noConfigFoundWarning = [];\r\n this.kataloge = [];\r\n this.katalogeMitKeineAntragstellung = [];\r\n this.allKataloge = response.kataloge;\r\n this.strassen = response.strassen;\r\n this.betreuungsArten = this.getKatalog('BetreuungsArtKatalog'); //response.betreuungsArten;\r\n this.benutzer = response.benutzer;\r\n this.benutzerMitNiedrigererOderGleicherRolle = response.benutzerMitNiedrigererOderGleicherRolle;\r\n this.maxAnzahlSorgeberechtigter = response.maxAnzahlSorgeberechtigter;\r\n this.globalSettings = response.globalSettings;\r\n this.mandantName = response.mandantName;\r\n this.getPasswordPolicy();\r\n this.isInit.next(true);\r\n this.portalTitel = this.getGlobalSetting('portalTitelDE');\r\n this.bundesland = response.lizenz.bundesland;\r\n this.statusKatalog = this.getKatalog('StatusKatalog');\r\n\r\n if (cb !== null) {\r\n cb();\r\n }\r\n });\r\n }\r\n\r\n public getTraegerForSelect() {\r\n return this.apiService.post(RouteKeys.Traeger.get_traeger_select, null);\r\n }\r\n\r\n public getEinrichtungenForSelect() {\r\n return this.apiService.post(RouteKeys.Einrichtung.get_einrichtungen_select, null);\r\n }\r\n\r\n public getEinrichtungenForDashboard() {\r\n return this.apiService.post(RouteKeys.Einrichtung.get_einrichtungen_dashboard, null);\r\n }\r\n\r\n public getStrassen() {\r\n return this.strassen;\r\n }\r\n\r\n public getBenutzer() {\r\n return this.benutzer;\r\n }\r\n\r\n public getBenutzerMitNiedrigererOderGleicherRolle() {\r\n return this.benutzerMitNiedrigererOderGleicherRolle;\r\n }\r\n\r\n public getMandantName(): string {\r\n return this.mandantName;\r\n }\r\n\r\n noConfigFoundWarning: string[] = [];\r\n public getKatalog(typ: string) {\r\n const exist = this.kataloge[typ];\r\n if (exist !== null && exist !== undefined && exist.length > 0) {\r\n return exist;\r\n } else {\r\n const newKatalog = this.allKataloge.filter((x) => x.typ === typ && x.keineAntragstellung !== true);\r\n if (newKatalog !== null && newKatalog !== undefined && newKatalog.length > 0) {\r\n this.kataloge[typ] = newKatalog;\r\n return newKatalog;\r\n } else {\r\n if (!this.noConfigFoundWarning.find((x) => x === typ)) {\r\n this.noConfigFoundWarning.push(typ);\r\n console.warn('Katalog ' + typ + ' nicht gefunden!');\r\n }\r\n }\r\n }\r\n }\r\n\r\n public getKatalogMitKeineAntragstellung(typ: string) {\r\n const exist = this.katalogeMitKeineAntragstellung[typ];\r\n if (exist !== null && exist !== undefined && exist.length > 0) {\r\n return exist;\r\n } else {\r\n const newKatalog = this.allKataloge.filter((x) => x.typ === typ);\r\n if (newKatalog !== null && newKatalog !== undefined && newKatalog.length > 0) {\r\n this.katalogeMitKeineAntragstellung[typ] = newKatalog;\r\n return newKatalog;\r\n } else {\r\n if (!this.noConfigFoundWarning.find((x) => x === typ)) {\r\n this.noConfigFoundWarning.push(typ);\r\n console.warn('Katalog ' + typ + ' nicht gefunden!');\r\n }\r\n }\r\n }\r\n }\r\n\r\n public getGlobalSetting(param: string): string {\r\n if (param !== '' && param !== undefined) {\r\n const result = this.globalSettings.find((x) => x.key === param);\r\n if (result != null && result !== undefined) {\r\n return result.value;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n public getGlobalSettingAsNumber(param: string): number {\r\n const result = this.getGlobalSetting(param);\r\n if (!isNaN(Number(result))) {\r\n return Number(result);\r\n }\r\n return 0;\r\n }\r\n\r\n //-----------\r\n\r\n public rollen: any[] = [\r\n {\r\n id: 1,\r\n bezeichnung: 'Administrator',\r\n category: 'Verwaltung',\r\n },\r\n {\r\n id: 2,\r\n bezeichnung: 'Leitung',\r\n category: 'Verwaltung',\r\n },\r\n {\r\n id: 3,\r\n bezeichnung: 'Sachbearbeitung 1',\r\n category: 'Verwaltung',\r\n },\r\n {\r\n id: 4,\r\n bezeichnung: 'Sachbearbeitung 2',\r\n category: 'Verwaltung',\r\n },\r\n {\r\n id: 5,\r\n bezeichnung: 'Azubi',\r\n category: 'Verwaltung',\r\n },\r\n {\r\n id: 6,\r\n bezeichnung: 'Trägerverwaltung',\r\n category: 'Träger',\r\n },\r\n {\r\n id: 7,\r\n bezeichnung: 'Einrichtungsverwaltung',\r\n category: 'Einrichtung',\r\n },\r\n {\r\n id: 8,\r\n bezeichnung: 'Einrichtungsbearbeitung',\r\n category: 'Einrichtung',\r\n },\r\n {\r\n id: 9,\r\n bezeichnung: 'Trägerbearbeitung',\r\n category: 'Träger',\r\n },\r\n ];\r\n\r\n public antragsStatus: any[] = [\r\n {\r\n key: 0,\r\n value: 'Offen',\r\n },\r\n {\r\n key: 1,\r\n value: 'In Bearbeitung',\r\n },\r\n {\r\n key: 2,\r\n value: 'In Warteliste',\r\n },\r\n {\r\n key: 3,\r\n value: 'Vorgeschlagen',\r\n },\r\n {\r\n key: 6,\r\n value: 'Vorschlag angenommen',\r\n },\r\n {\r\n key: 7,\r\n value: 'Vorschlag abgelehnt',\r\n },\r\n {\r\n key: 4,\r\n value: 'Angenommen',\r\n },\r\n {\r\n key: 5,\r\n value: 'Abgelehnt',\r\n },\r\n ];\r\n\r\n public passwordPolicy: any = {\r\n text: '',\r\n minZiffern: '',\r\n minZiffernMessage: 'Es fehlen Ziffern!',\r\n minKleinBuchstaben: '',\r\n minKleinBuchstabenMessage: 'Es fehlen Kleinbuchstaben!',\r\n minGrossBuchstaben: '',\r\n minGrossBuchstabenMessage: 'Es fehlen Großbuchstaben!',\r\n minSonderzeichen: '',\r\n minSonderzeichenMessage: 'Es fehlen Sonderzeichen (.$@!%*?&#_-)!',\r\n minLaenge: '',\r\n minLaengeMessage: 'Es sind zu wenig Zeichen!',\r\n maxLaenge: '',\r\n };\r\n\r\n getPasswordPolicy() {\r\n const policy = this.getGlobalSetting('passwordPolicy');\r\n\r\n if (policy != null && policy != undefined && policy.length > 0) {\r\n const pswPatternArray = policy.split(',').map((n) => {\r\n return Number(n);\r\n });\r\n\r\n if (pswPatternArray[0] > 0) {\r\n this.passwordPolicy.minLaenge = '[A-Za-z\\\\d$@$!%*?&#_-]{' + pswPatternArray[0].toString() + ',}';\r\n this.passwordPolicy.text =\r\n '
Mindestens ' +\r\n pswPatternArray[0] +\r\n (pswPatternArray[5] >= pswPatternArray[0] ? ' und maximal ' + pswPatternArray[5] : '') +\r\n ' Zeichen lang.';\r\n }\r\n if (pswPatternArray[1] !== undefined && pswPatternArray[1] !== null && pswPatternArray[1] > 0) {\r\n this.passwordPolicy.minZiffern = '(?=([^0-9]*[0-9]){' + pswPatternArray[1].toString() + ',})';\r\n this.passwordPolicy.text = this.passwordPolicy.text.trim() + '
Mit mindestens ' + pswPatternArray[1] + ' Ziffer(n).';\r\n }\r\n if (pswPatternArray[2] !== undefined && pswPatternArray[2] !== null && pswPatternArray[2] > 0) {\r\n this.passwordPolicy.minKleinBuchstaben = '(?=([^a-z]*[a-z]){' + pswPatternArray[2].toString() + ',})';\r\n this.passwordPolicy.text = this.passwordPolicy.text.trim() + '
Mit mindestens ' + pswPatternArray[2] + ' Kleinbuchstabe(n).';\r\n }\r\n if (pswPatternArray[3] !== undefined && pswPatternArray[3] !== null && pswPatternArray[3] > 0) {\r\n this.passwordPolicy.minGrossBuchstaben = '(?=([^A-Z]*[A-Z]){' + pswPatternArray[3].toString() + ',})';\r\n this.passwordPolicy.text = this.passwordPolicy.text.trim() + '
Mit mindestens ' + pswPatternArray[3] + ' Großbuchstabe(n).';\r\n }\r\n if (pswPatternArray[4] !== undefined && pswPatternArray[4] !== null && pswPatternArray[4] > 0) {\r\n this.passwordPolicy.minSonderzeichen = '(?=(.*[$@$!%*?&#_-]){' + pswPatternArray[4].toString() + ',})';\r\n this.passwordPolicy.text = this.passwordPolicy.text.trim() + '
Mit mindestens ' + pswPatternArray[4] + ' Sonderzeichen (.$@!%*?&#_-).';\r\n }\r\n if (pswPatternArray[5] !== undefined && pswPatternArray[5] !== null && pswPatternArray[5] > 0) {\r\n this.passwordPolicy.maxLaenge = pswPatternArray[5];\r\n }\r\n\r\n this.passwordPolicy.text = this.passwordPolicy.text.trim() != '' ? '
Passwortrichtlinie:' + this.passwordPolicy.text : '';\r\n } else {\r\n console.warn('Password policy nicht gefunden!');\r\n }\r\n }\r\n\r\n public monthsOfYear: any[] = [\r\n {\r\n key: 1,\r\n value: 'Januar',\r\n },\r\n {\r\n key: 2,\r\n value: 'Februar',\r\n },\r\n {\r\n key: 3,\r\n value: 'März',\r\n },\r\n {\r\n key: 4,\r\n value: 'April',\r\n },\r\n {\r\n key: 5,\r\n value: 'Mai',\r\n },\r\n {\r\n key: 6,\r\n value: 'Juni',\r\n },\r\n {\r\n key: 7,\r\n value: 'Juli',\r\n },\r\n {\r\n key: 8,\r\n value: 'August',\r\n },\r\n {\r\n key: 9,\r\n value: 'September',\r\n },\r\n {\r\n key: 10,\r\n value: 'Oktober',\r\n },\r\n {\r\n key: 11,\r\n value: 'November',\r\n },\r\n {\r\n key: 12,\r\n value: 'Dezember',\r\n },\r\n ];\r\n\r\n public daysOfMonth: any[] = [\r\n {\r\n key: 1,\r\n value: '1.',\r\n },\r\n {\r\n key: 2,\r\n value: '2.',\r\n },\r\n {\r\n key: 3,\r\n value: '3.',\r\n },\r\n {\r\n key: 4,\r\n value: '4.',\r\n },\r\n {\r\n key: 5,\r\n value: '5.',\r\n },\r\n {\r\n key: 6,\r\n value: '6.',\r\n },\r\n {\r\n key: 7,\r\n value: '7.',\r\n },\r\n {\r\n key: 8,\r\n value: '8.',\r\n },\r\n {\r\n key: 9,\r\n value: '9.',\r\n },\r\n {\r\n key: 10,\r\n value: '10.',\r\n },\r\n {\r\n key: 11,\r\n value: '11.',\r\n },\r\n {\r\n key: 12,\r\n value: '12.',\r\n },\r\n {\r\n key: 13,\r\n value: '13.',\r\n },\r\n {\r\n key: 14,\r\n value: '14.',\r\n },\r\n {\r\n key: 15,\r\n value: '15.',\r\n },\r\n {\r\n key: 16,\r\n value: '16.',\r\n },\r\n {\r\n key: 17,\r\n value: '17.',\r\n },\r\n {\r\n key: 18,\r\n value: '18.',\r\n },\r\n {\r\n key: 19,\r\n value: '19.',\r\n },\r\n {\r\n key: 20,\r\n value: '20.',\r\n },\r\n {\r\n key: 21,\r\n value: '21.',\r\n },\r\n {\r\n key: 22,\r\n value: '22.',\r\n },\r\n {\r\n key: 23,\r\n value: '23.',\r\n },\r\n {\r\n key: 24,\r\n value: '24.',\r\n },\r\n {\r\n key: 25,\r\n value: '25.',\r\n },\r\n {\r\n key: 26,\r\n value: '26.',\r\n },\r\n {\r\n key: 27,\r\n value: '27.',\r\n },\r\n {\r\n key: 28,\r\n value: '28.',\r\n },\r\n {\r\n key: 29,\r\n value: '29.',\r\n },\r\n {\r\n key: 30,\r\n value: '30.',\r\n },\r\n {\r\n key: 31,\r\n value: '31.',\r\n },\r\n ];\r\n\r\n hasLicense(key: string) {\r\n if (this._lizenz !== null && this._lizenz !== undefined) {\r\n for (var param in this._lizenz) {\r\n if (String(key) === param.trim() && this._lizenz[param] === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n public getEinkommenRechtsgrundlagen(): any {\r\n // vorübergehend\r\n return [\r\n { id: 1, bezeichnung: 'EUR 2019' },\r\n { id: 2, bezeichnung: 'EUR 2020' },\r\n { id: 3, bezeichnung: 'EUR 2021' },\r\n { id: 4, bezeichnung: 'EUR 2022' },\r\n ];\r\n }\r\n\r\n public getStatusId(status: string) {\r\n var statusId = null;\r\n if (this.statusKatalog !== undefined && this.statusKatalog !== null && this.statusKatalog.length > 0) {\r\n statusId = this.statusKatalog.find((x) => x.bezeichnung === status).id;\r\n }\r\n return statusId;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { StorageService } from './storage.service';\r\n\r\nimport 'devextreme/localization/globalize/number';\r\nimport 'devextreme/localization/globalize/date';\r\nimport 'devextreme/localization/globalize/currency';\r\nimport 'devextreme/localization/globalize/message';\r\n\r\nimport deMessages from 'devextreme/localization/messages/de.json';\r\nimport enMessages from 'devextreme/localization/messages/en.json';\r\n\r\nimport supplemental from 'devextreme-cldr-data/supplemental.json';\r\nimport deCldrData from 'devextreme-cldr-data/de.json';\r\nimport enCldrData from 'devextreme-cldr-data/en.json';\r\n\r\nimport Globalize from 'globalize';\r\nimport { locale } from 'devextreme/localization';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class LanguageService {\r\n\r\n private _blackListWarnings: string[] = [];\r\n private _selectedLanguage: BehaviorSubject = new BehaviorSubject(navigator.language);\r\n\r\n public get get_selectedLanguageObservable(): Observable {\r\n return this._selectedLanguage.asObservable();\r\n }\r\n\r\n constructor(private storageService: StorageService, private router: Router) {\r\n Globalize.load(\r\n supplemental, deCldrData, enCldrData\r\n );\r\n\r\n this.loadMessages(deMessages);\r\n this.loadMessages(enMessages);\r\n this.loadMessages(window.defaultLang.getDictionary());\r\n }\r\n\r\n public init() {\r\n this.get_selectedLanguageObservable.subscribe(lang => {\r\n Globalize.locale(lang);\r\n locale(lang);\r\n });\r\n\r\n const _lang = this.storageService.getFromLocale('lang');\r\n if (_lang !== null && _lang !== undefined && _lang.length > 0) {\r\n this._selectedLanguage.next(_lang);\r\n }\r\n else {\r\n let _default_lang = navigator.language;\r\n if (_default_lang === 'de-DE') {\r\n _default_lang = 'de';\r\n }\r\n this._selectedLanguage.next(_default_lang);\r\n }\r\n }\r\n\r\n private loadMessages(messages: any) {\r\n if (messages !== null && messages !== undefined) {\r\n Globalize.loadMessages(messages);\r\n }\r\n }\r\n\r\n public setLanguage(lang: string) {\r\n if (lang !== null && lang !== undefined && lang.length > 0 && this._selectedLanguage.value !== lang) {\r\n this._selectedLanguage.next(lang);\r\n this.storageService.saveToLocale('lang', lang);\r\n this.forcePageRepaint();\r\n }\r\n }\r\n\r\n private forcePageRepaint() {\r\n // location.reload();\r\n }\r\n\r\n //---------------------\r\n\r\n public translate(key: string, params: string[] = []): string {\r\n return this.formatMessage(key, params) || '#' + key + '#';\r\n }\r\n\r\n private formatMessage(key: string, params: string[] = []): string {\r\n try {\r\n return Globalize.formatMessage(key, params);\r\n }\r\n catch (ex) {\r\n\r\n const msg = ex.message;\r\n \r\n if (!this._blackListWarnings.find(x=> x === msg)) {\r\n this._blackListWarnings.push(msg);\r\n console.log(msg);\r\n }\r\n \r\n return null;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { ISidebarMenu } from '../interfaces/SidebarMenu/ISidebarMenu';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MenuSidebarService {\r\n private _sidebarMenu: BehaviorSubject = new BehaviorSubject(null);\r\n sidebarMenuAsObservable: Observable = this._sidebarMenu.asObservable();\r\n\r\n private _rerender: BehaviorSubject = new BehaviorSubject(null);\r\n rerenderAsObservable: Observable = this._rerender.asObservable();\r\n\r\n constructor() {}\r\n\r\n rerender() {\r\n this._rerender.next(true);\r\n }\r\n\r\n getSidebarMenuAsObservable(): Observable {\r\n return this.sidebarMenuAsObservable;\r\n }\r\n\r\n createMenu(menu: ISidebarMenu) {\r\n this._sidebarMenu.next(menu);\r\n }\r\n\r\n changeMenu(data, itemUrl) {\r\n data.menuItems.forEach((item) => {\r\n if (item.path.url === itemUrl) {\r\n item.isSelected = true;\r\n } else {\r\n item.isSelected = false;\r\n }\r\n if (item.items.length > 0) {\r\n item.items.forEach((subItem) => {\r\n if (subItem.path.url === itemUrl) {\r\n subItem.isSelected = true;\r\n } else {\r\n subItem.isSelected = false;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n changeMenuByName(data, itemKey, itemName) {\r\n data.menuItems.forEach((item) => {\r\n item.isSelected = false;\r\n if (item.items.length > 0) {\r\n item.items.forEach((subItem) => {\r\n subItem.isSelected = false;\r\n });\r\n }\r\n });\r\n\r\n const thisItem = data.menuItems.find((x) => x.key === itemKey);\r\n if (thisItem) {\r\n thisItem.isSelected = true;\r\n if (thisItem.items.length > 0) {\r\n const thisSubItem = thisItem.items.find((y) => y.name === itemName);\r\n if (thisSubItem) {\r\n thisSubItem.isSelected = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n changeMenuByKey(data, itemKey) {\r\n data.menuItems.forEach((item) => {\r\n if (item.key === itemKey) {\r\n item.isSelected = true;\r\n } else {\r\n item.isSelected = false;\r\n }\r\n if (item.items.length > 0) {\r\n item.items.forEach((subItem) => {\r\n if (subItem.key === itemKey) {\r\n subItem.isSelected = true;\r\n } else {\r\n subItem.isSelected = false;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subscription, BehaviorSubject, timer, Observable } from 'rxjs';\r\nimport { RouteKeys } from '../helper/route-keys.helper';\r\nimport { ApiService } from './api.service';\r\n\r\n\r\n@Injectable()\r\nexport class PollService {\r\n\r\n private isInit: boolean = false;\r\n private timer_subscription: Subscription;\r\n private clientServerPollTime: number;\r\n private counts = new BehaviorSubject({});\r\n\r\n constructor(private apiService: ApiService) { }\r\n\r\n public init() {\r\n if (!this.isInit) {\r\n let _timer = timer(500, 10000);\r\n\r\n this.counts = new BehaviorSubject({});\r\n\r\n this.timer_subscription = _timer.subscribe(t => {\r\n this.timer_tick();\r\n });\r\n\r\n this.isInit = true;\r\n }\r\n\r\n return this.counts;\r\n }\r\n\r\n public getPollDataAsObservable(): Observable {\r\n return this.counts.asObservable();\r\n }\r\n\r\n private timer_tick() {\r\n if (this.isInit) {\r\n this.apiService.post(RouteKeys.Poll.get).subscribe(response => {\r\n this.counts.next(response.data);\r\n if (this.clientServerPollTime !== response.clientServerPollTime) {\r\n this.timer_subscription.unsubscribe();\r\n this.clientServerPollTime = response.clientServerPollTime;\r\n let _timer = timer(500, this.clientServerPollTime);\r\n\r\n this.timer_subscription = _timer.subscribe(t => {\r\n this.timer_tick();\r\n });\r\n }\r\n }, err => {\r\n this.stop();\r\n throw err;\r\n });\r\n\r\n }\r\n else {\r\n this.stop();\r\n }\r\n }\r\n\r\n public refresh(){\r\n this.counts.next(this.counts.value);\r\n }\r\n\r\n public stop() {\r\n this.isInit = false;\r\n\r\n if (this.timer_subscription) {\r\n this.timer_subscription.unsubscribe();\r\n this.timer_subscription.closed = true;\r\n this.timer_subscription.remove(this.timer_subscription);\r\n }\r\n\r\n if (this.counts) {\r\n this.counts.complete();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class PopupService {\r\n constructor() {}\r\n\r\n // Vorlage-Popup\r\n private _vorlagePopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_vorlagePopupAsObservable(): Observable {\r\n return this._vorlagePopup.asObservable();\r\n }\r\n showVorlagePopup(id, closeCb: (e) => void = null) {\r\n this._vorlagePopup.next({\r\n open: true,\r\n key: id,\r\n closeCb: closeCb,\r\n });\r\n }\r\n\r\n // WiedervorlageGrid-Popup\r\n private _wiedervorlageGridPopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_wiedervorlageGridPopupAsObservable(): Observable {\r\n return this._wiedervorlageGridPopup.asObservable();\r\n }\r\n showWiedervorlageGridPopup(data: any, closeCb: (e) => void = null) {\r\n this._wiedervorlageGridPopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n\r\n // WiedervorlageEdit-Popup\r\n private _wiedervorlageEditPopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_wiedervorlageEditPopupAsObservable(): Observable {\r\n return this._wiedervorlageEditPopup.asObservable();\r\n }\r\n showWiedervorlageEditPopup(data: any, closeCb: (e) => void = null) {\r\n this._wiedervorlageEditPopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n\r\n // LoginCode-Popup\r\n private _loginCodeEditPopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_loginCodePopupAsObservable(): Observable {\r\n return this._loginCodeEditPopup.asObservable();\r\n }\r\n showLoginCodePopup(data: any, closeCb: (e) => void = null) {\r\n this._loginCodeEditPopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n // bgb-person-search-Popup\r\n private _bgbPersonSearchPopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_bgbPersonSearchPopupAsObservable(): Observable {\r\n return this._bgbPersonSearchPopup.asObservable();\r\n }\r\n showBgbPersonSearchPopup(data: any, closeCb: (e) => void = null) {\r\n this._bgbPersonSearchPopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n\r\n // bgb-person-edit-Popup\r\n private _bgbPersonEditPopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_bgbPersonEditPopupAsObservable(): Observable {\r\n return this._bgbPersonEditPopup.asObservable();\r\n }\r\n showBgbPersonEditPopup(data: any, closeCb: (e) => void = null) {\r\n this._bgbPersonEditPopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n\r\n // bgb-holidayCare-Popup\r\n private _bgbHolidayCarePopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_bgbHolidayCarePopupAsObservable(): Observable {\r\n return this._bgbHolidayCarePopup.asObservable();\r\n }\r\n showBgbHolidayCarePopup(data: any, closeCb: (e) => void = null) {\r\n this._bgbHolidayCarePopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n\r\n //Stapelbearbeitung-Popup\r\n private _stapelBearbeitungPopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_stapelBearbeitungPopupAsObservable(): Observable {\r\n return this._stapelBearbeitungPopup.asObservable();\r\n }\r\n showStapelBearbeitungPopup(data: any, closeCb: (e) => void = null) {\r\n this._stapelBearbeitungPopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n\r\n // Dokumente bearbeiten-Popup\r\n private _dokumentEditPopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_dokumentEditPopupAsObservable(): Observable {\r\n return this._dokumentEditPopup.asObservable();\r\n }\r\n\r\n showDokumentEditPopup(data: any, closeCb: (e) => void = null) {\r\n this._dokumentEditPopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n\r\n private _ewoPersonSearchPopup: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_ewoPersonSearchPopupAsObservable(): Observable {\r\n return this._ewoPersonSearchPopup.asObservable();\r\n }\r\n showEwoPersonSearchPopup(data: any, closeCb: (e) => void = null) {\r\n this._ewoPersonSearchPopup.next({\r\n open: true,\r\n data: data,\r\n closeCb: closeCb,\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StorageService {\r\n useCrypt: boolean = false;\r\n\r\n constructor() {\r\n this.useCrypt = !window.globalConfig.dev;\r\n }\r\n\r\n clearSession(){\r\n sessionStorage.clear();\r\n }\r\n \r\n clearFromSession(key: string) {\r\n if (!key || !key.length) {\r\n throw new Error('invalid key: ' + key);\r\n }\r\n\r\n sessionStorage.removeItem(this.encrypt(key));\r\n }\r\n\r\n clearFromLocale(key: string) {\r\n if (!key || !key.length) {\r\n throw new Error('invalid key: ' + key);\r\n }\r\n\r\n localStorage.removeItem(this.encrypt(key));\r\n }\r\n\r\n getFromSession(key: string): T | null {\r\n if (!key || !key.length) {\r\n throw new Error('invalid key: ' + key);\r\n }\r\n\r\n const item = sessionStorage.getItem(this.encrypt(key));\r\n if (item) {\r\n return this.decrypt(item);\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n getFromLocale(key: string): T | null {\r\n if (!key || !key.length) {\r\n throw new Error('invalid key: ' + key);\r\n }\r\n\r\n const item = localStorage.getItem(this.encrypt(key));\r\n if (item) {\r\n return this.decrypt(item);\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n saveToSession(key: string, data: any) {\r\n if (!key || !key.length) {\r\n throw new Error('invalid key: ' + key);\r\n }\r\n\r\n if (data === null || data === undefined) {\r\n throw new Error('invalid data: ' + data);\r\n }\r\n\r\n sessionStorage.setItem(this.encrypt(key), this.encrypt(data));\r\n }\r\n\r\n saveToLocale(key: string, data: any) {\r\n if (!key || !key.length) {\r\n throw new Error('invalid key: ' + key);\r\n }\r\n\r\n if (data === null || data === undefined) {\r\n throw new Error('invalid data: ' + data);\r\n }\r\n\r\n localStorage.setItem(this.encrypt(key), this.encrypt(data));\r\n }\r\n\r\n private encrypt(data: any): string {\r\n if (this.useCrypt) {\r\n return btoa(encodeURIComponent(JSON.stringify(data)));\r\n }\r\n else {\r\n return JSON.stringify(data);\r\n }\r\n }\r\n\r\n private decrypt(data: string): T {\r\n if (!data) {\r\n throw new Error('invalid data: ' + data);\r\n }\r\n\r\n if (this.useCrypt) {\r\n return JSON.parse(decodeURIComponent(atob(data)));\r\n }\r\n else {\r\n return JSON.parse(data) as T;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class UrlService {\r\n\r\n last_externSearchQueryParams: string;\r\n private _externSearchQueryParams: BehaviorSubject = new BehaviorSubject(null);\r\n public get get_externSearchQueryParams(): Observable {\r\n return this._externSearchQueryParams.asObservable();\r\n }\r\n\r\n last_externSelectedIdsQueryParams: string;\r\n private _externSelectedIdsQueryParams: BehaviorSubject = new BehaviorSubject([]);\r\n public get get_externSelectedIdsQueryParams(): Observable {\r\n return this._externSelectedIdsQueryParams.asObservable();\r\n }\r\n\r\n constructor(private route: ActivatedRoute, private router: Router) {\r\n this.route.queryParamMap.subscribe(paras => {\r\n\r\n const raw_search = paras.get('s');\r\n if(raw_search !== null && raw_search !== undefined && raw_search.length > 0){\r\n const search = decodeURIComponent(atob(raw_search));\r\n if(raw_search !== this.last_externSearchQueryParams){\r\n this._externSearchQueryParams.next(JSON.parse(search));\r\n this.last_externSearchQueryParams = raw_search;\r\n }\r\n }\r\n else{\r\n this._externSearchQueryParams.next(null);\r\n }\r\n\r\n //-----\r\n\r\n const raw_ids = paras.get('i');\r\n if(raw_ids !== null && raw_ids !== undefined && raw_ids.length > 0){\r\n const idStringArray = raw_ids.split(',');\r\n const idArray = idStringArray.map(x=> +x);\r\n\r\n if(raw_ids !== this.last_externSelectedIdsQueryParams){\r\n this._externSelectedIdsQueryParams.next(idArray);\r\n this.last_externSelectedIdsQueryParams = raw_search;\r\n }\r\n }\r\n else{\r\n this._externSelectedIdsQueryParams.next([]);\r\n }\r\n });\r\n }\r\n\r\n naviToMergeQueryParams(path: string, queryParams: any) {\r\n this.router.navigate([path], {\r\n queryParams: queryParams,\r\n queryParamsHandling: 'merge',\r\n });\r\n }\r\n\r\n naviToPreserveQueryParams(path: string) {\r\n this.router.navigate([path], { queryParamsHandling: 'preserve' });\r\n }\r\n\r\n naviTo(path: string, queryParams: any) {\r\n this.router.navigate([path], { queryParams: queryParams });\r\n }\r\n\r\n refreshQueryParams(queryParams: any) {\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.route,\r\n queryParams: queryParams,\r\n queryParamsHandling: 'merge',\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\r\nimport { AuthGuard } from './share/guards/auth.guard';\r\n\r\nimport('./department/department.module').then(m => m.DepartmentModule)\r\nimport('./department/department-inquires/department-inquires.module').then(m => m.DepartmentInquiresModule);\r\nimport('./department/department-stammdaten/department-stammdaten.module').then(m => m.DepartmentStammdatenModule);\r\nimport('./department/department-recherche/department-recherche.module').then(m => m.DepartmentRechercheModule);\r\nimport('./department/department-wiedervorlagen/department-vorlagenverwaltung.module').then(m => m.WiedervorlagenModule);\r\nimport('./department/department-optionen/department-optionen.module').then(m => m.DepartmentOptionenModule);\r\nimport('./department/department-optionen/department-users/department-users.module').then(m => m.DepartmentUsersModule);\r\nimport('./department/department-optionen/department-vorlagenverwaltung/department-vorlagenverwaltung.module').then(m => m.DepartmentVorlagenverwaltungModule);\r\nimport('./department/bgb/bgb.module').then(m => m.BgbModule);\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'extern', pathMatch: 'full' },\r\n {\r\n path: 'extern', loadChildren: () => import('./extern/extern.module').then(m => m.ExternModule)\r\n },\r\n {\r\n path: 'depart', loadChildren: () => import('./department/department.module').then(m => m.DepartmentModule), canActivate: [AuthGuard], canLoad: [AuthGuard]\r\n },\r\n {\r\n path: '**', redirectTo: ''\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload', useHash: true, preloadingStrategy: PreloadAllModules })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport DateBox from 'devextreme/ui/date_box';\r\nimport TextBox from 'devextreme/ui/text_box';\r\nimport SelectBox from 'devextreme/ui/select_box';\r\nimport TagtBox from 'devextreme/ui/tag_box';\r\nimport NumberBox from 'devextreme/ui/number_box';\r\nimport DataGrid from 'devextreme/ui/data_grid';\r\nimport DxForm from 'devextreme/ui/form';\r\nimport Button from 'devextreme/ui/button';\r\nimport Popup from 'devextreme/ui/popup';\r\nimport config from 'devextreme/core/config';\r\nimport { confirm } from 'devextreme/ui/dialog';\r\nimport { LanguageService } from './share/services/language.service';\r\nimport { ApiService } from './share/services/api.service';\r\nimport { RouteKeys } from './share/helper/route-keys.helper';\r\nimport dxToast from 'devextreme/ui/toast';\r\nimport { loadMessages, locale } from 'devextreme/localization';\r\nimport RELocalization from './share/localization/dx-rich.de.json';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n styleUrls: ['app.component.scss']\r\n})\r\nexport class AppComponent {\r\n\r\n isInit: boolean = true;\r\n\r\n constructor(private languageService: LanguageService, private apiService: ApiService) {\r\n this.getVersion();\r\n this.languageService.init();\r\n this.setGlobalConfig();\r\n loadMessages({ de: RELocalization });\r\n locale(\"de\"); \r\n }\r\n\r\n getVersion(){\r\n this.apiService.post(RouteKeys.Config.get_version, null).subscribe(response => {\r\n console.info('CZ-Kita-Verwaltung:', response.version);\r\n });\r\n }\r\n\r\n setGlobalConfig() {\r\n config({\r\n editorStylingMode: 'outlined', // 'filled' | 'outlined' | 'underlined'\r\n defaultCurrency: 'EUR',\r\n forceIsoDateParsing: true\r\n });\r\n\r\n NumberBox.defaultOptions({\r\n options: {\r\n showClearButton: true,\r\n min: 1,\r\n max: 31999,\r\n showSpinButtons: true\r\n }\r\n });\r\n\r\n SelectBox.defaultOptions({\r\n options: {\r\n searchEnabled: true,\r\n searchMode: 'startswith',\r\n searchTimeout: 200,\r\n showClearButton: true,\r\n }\r\n });\r\n\r\n TagtBox.defaultOptions({\r\n options: {\r\n showClearButton: true,\r\n showSelectionControls: true,\r\n applyValueMode: 'useButtons'\r\n }\r\n });\r\n\r\n TextBox.defaultOptions({\r\n options: {\r\n showClearButton: true,\r\n maxLength: 3999,\r\n }\r\n });\r\n\r\n DateBox.defaultOptions({\r\n options: {\r\n displayFormat: 'dd.MM.yyyy',\r\n type: 'date',\r\n pickerType: 'calendar',\r\n min: '1900/1/1',\r\n max: '2099/12/31',\r\n showClearButton: true,\r\n useMaskBehavior: true,\r\n dateSerializationFormat: 'yyyy-MM-ddTHH:mm:ss'\r\n }\r\n });\r\n\r\n DataGrid.defaultOptions({\r\n options: {\r\n columnAutoWidth: true,\r\n showColumnLines: true,\r\n showRowLines: false,\r\n showBorders: false,\r\n rowAlternationEnabled: true,\r\n allowColumnReordering: true,\r\n allowColumnResizing: true,\r\n columnResizingMode: 'widget',\r\n width: 100+'%',\r\n loadPanel: {\r\n enabled: false\r\n },\r\n editing: {\r\n confirmDelete: false\r\n },\r\n onContentReady: (e) => {\r\n const child = e.element.querySelector('div[role=\"form\"]');\r\n if (child) {\r\n const saveButton = e.element.querySelector('.dx-datagrid-form-buttons-container div[aria-label=\\'Speichern\\']') as Element;\r\n if (saveButton) {\r\n const saveButtonInstance = Button.getInstance(saveButton) as Button;\r\n if (saveButtonInstance) {\r\n saveButtonInstance.option('type', 'default');\r\n saveButtonInstance.option('icon', 'check');\r\n }\r\n }\r\n const cancelButton = e.element.querySelector('.dx-datagrid-form-buttons-container div[aria-label=\\'Abbrechen\\']') as Element;\r\n if (cancelButton) {\r\n const cancelButtonInstance = Button.getInstance(cancelButton) as Button;\r\n if (cancelButtonInstance) {\r\n cancelButtonInstance.option('type', 'default');\r\n cancelButtonInstance.option('icon', 'remove');\r\n }\r\n }\r\n }\r\n },\r\n onRowRemoving: (e) => {\r\n let res = confirm('Wollen Sie diesen Datensatz wirklich löschen?', 'Bestätigung');\r\n e.cancel = new Promise((resolve, reject) => {\r\n res.then((dialogResult) => {\r\n resolve(!dialogResult);\r\n });\r\n });\r\n },\r\n scrolling: {\r\n useNative: false,\r\n mode: 'virtual',\r\n showScrollbar: 'always'\r\n },\r\n stateStoring: {\r\n savingTimeout: 0\r\n }\r\n } as any\r\n });\r\n\r\n Button.defaultOptions({\r\n options: {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false\r\n }\r\n });\r\n\r\n Popup.defaultOptions({\r\n options: {\r\n shadingColor: 'rgba(200, 200, 200, 0.75)',\r\n onTitleRendered: (e) => {\r\n const toolbarItems = e.component.option().toolbarItems;\r\n\r\n const ja_btn = toolbarItems.find(x => x.options.text.toLowerCase() === 'ja');\r\n if (ja_btn) {\r\n ja_btn.options.type = 'default';\r\n ja_btn.options.icon = 'check';\r\n }\r\n\r\n const nein_btn = toolbarItems.find(x => x.options.text.toLowerCase() === 'nein');\r\n if (nein_btn) {\r\n nein_btn.options.type = 'default';\r\n nein_btn.options.icon = 'remove';\r\n }\r\n\r\n const speichern_btn = toolbarItems.find(x => x.options.text.toLowerCase() === 'speichern');\r\n if (speichern_btn) {\r\n speichern_btn.options.type = 'default';\r\n speichern_btn.options.icon = 'check';\r\n }\r\n\r\n const abbruch_btn = toolbarItems.find(x => x.options.text.toLowerCase() === 'abbrechen');\r\n if (abbruch_btn) {\r\n abbruch_btn.options.type = 'default';\r\n abbruch_btn.options.icon = 'remove';\r\n }\r\n }\r\n } as any\r\n });\r\n\r\n DxForm.defaultOptions({\r\n options: {\r\n showColonAfterLabel: false,\r\n labelLocation: 'top'\r\n }\r\n });\r\n\r\n dxToast.defaultOptions({\r\n options: {\r\n width: '320px',\r\n displayTime: '3000',\r\n position: {\r\n at: 'bottom center',\r\n my: 'bottom center',\r\n offset: '0 -40',\r\n //of: '#app-table-container'\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\n","
\r\n Initialisiere Anwendung!\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HTTP_INTERCEPTORS,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { StorageService } from '../services/storage.service';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n whiteList: string[] = ['https://feiertage-api.de'];\r\n\r\n constructor(private storageService: StorageService) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n let whiteListed: boolean = false;\r\n for (let index = 0; index < this.whiteList.length; index++) {\r\n const element = this.whiteList[index];\r\n if (req.url.startsWith(element)) {\r\n whiteListed = true;\r\n break;\r\n }\r\n }\r\n\r\n if (whiteListed === false) {\r\n const token = this.storageService.getFromSession('token');\r\n if (token) {\r\n req = req.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + token,\r\n },\r\n });\r\n }\r\n }\r\n\r\n return next.handle(req);\r\n }\r\n}\r\n\r\nexport const authInterceptorProvider = {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true,\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HTTP_INTERCEPTORS, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authService: AuthService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError((err: HttpErrorResponse) => {\r\n if (err.status === 401) {\r\n this.authService.logout();\r\n }\r\n\r\n return throwError(() => {\r\n if (err.status < 500) {\r\n return {\r\n status: err.status,\r\n message: err.message\r\n };\r\n }\r\n else {\r\n return {\r\n status: err.status,\r\n message: err.error?.message || err.error?.Message,\r\n stack: err.error?.stack || err.error?.Stack\r\n };\r\n }\r\n });\r\n }));\r\n }\r\n}\r\n\r\nexport const errorInterceptorProvider = {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ErrorInterceptor,\r\n multi: true\r\n};\r\n","import { ErrorHandler, Injectable, NgZone } from '@angular/core';\r\nimport { ApiService } from '../services/api.service';\r\nimport { RouteKeys } from './route-keys.helper';\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n constructor(private zone: NgZone, private apiService: ApiService) { }\r\n\r\n handleError(error: any) {\r\n \r\n console.error('1', error); // wichtig um in der Console Fehler zu sehen\r\n\r\n this.zone.run(() => {\r\n let _error: any = {\r\n message: error.message,\r\n stack: error.stack,\r\n status: error.status || null,\r\n browser: this.detectBrowserName() + \" \" + this.detectBrowserVersion(),\r\n url: location.href\r\n };\r\n\r\n this.apiService.post(RouteKeys.Exception.log_error, _error).subscribe();\r\n });\r\n }\r\n\r\n detectBrowserName() {\r\n const agent = window.navigator.userAgent.toLowerCase()\r\n switch (true) {\r\n case agent.indexOf('edge') > -1:\r\n return 'edge';\r\n case agent.indexOf('opr') > -1 && !!(window).opr:\r\n return 'opera';\r\n case agent.indexOf('chrome') > -1 && !!(window).chrome:\r\n return 'chrome';\r\n case agent.indexOf('trident') > -1:\r\n return 'ie';\r\n case agent.indexOf('firefox') > -1:\r\n return 'firefox';\r\n case agent.indexOf('safari') > -1:\r\n return 'safari';\r\n default:\r\n return 'other';\r\n }\r\n }\r\n \r\n detectBrowserVersion() {\r\n const userAgent = navigator.userAgent;\r\n let matchTest = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n let tem;\r\n if (/trident/i.test(matchTest[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(userAgent) || [];\r\n return 'IE ' + (tem[1] || '');\r\n }\r\n if (matchTest[1] === 'Chrome') {\r\n tem = userAgent.match(/\\b(OPR|Edg)\\/(\\d+)/);\r\n if (tem != null) {\r\n return tem.slice(1).join(' ').replace('OPR', 'Opera');\r\n }\r\n }\r\n matchTest = matchTest[2] ? [matchTest[1], matchTest[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = userAgent.match(/version\\/(\\d+)/i)) != null) {\r\n matchTest.splice(1, 1, tem[1]);\r\n }\r\n return matchTest.join(' ');\r\n }\r\n}","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, ErrorHandler, LOCALE_ID, NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { AuthGuard } from './share/guards/auth.guard';\r\nimport { StorageService } from './share/services/storage.service';\r\nimport { ApiService } from './share/services/api.service';\r\nimport { AuthService } from './share/services/auth.service';\r\nimport { authInterceptorProvider } from './share/interceptors/auth.interceptor';\r\nimport { InjectorModule } from './share/injection/injector.module';\r\n\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeDe from '@angular/common/locales/de';\r\nimport localeEn from '@angular/common/locales/en';\r\nimport { RollenGuard } from './share/guards/rollen.guard';\r\nimport { UrlService } from './share/services/url.service';\r\nimport { PopupService } from './share/services/popup.service';\r\nimport { ConfigService } from './share/services/config.service';\r\nimport { LanguageService } from './share/services/language.service';\r\nimport { PollService } from './share/services/poll.service';\r\nimport { CanDeactivateGuard } from './share/guards/canDeactivate.guard';\r\nimport { errorInterceptorProvider } from './share/interceptors/error.interceptor';\r\nimport { ConfigExternService } from './share/services/config-extern.service';\r\nimport { GlobalErrorHandler } from './share/helper/error.handler'\r\n\r\nregisterLocaleData(localeDe);\r\nregisterLocaleData(localeEn);\r\n\r\n@NgModule({\r\n declarations: [\t\t\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n AppRoutingModule,\r\n InjectorModule.forRoot(),\r\n ],\r\n providers: [\r\n { provide: LOCALE_ID, useValue: 'de' },\r\n {provide: ErrorHandler, useClass: GlobalErrorHandler},\r\n authInterceptorProvider,\r\n errorInterceptorProvider,\r\n StorageService, \r\n ApiService,\r\n AuthService,\r\n ConfigService,\r\n PollService,\r\n AuthGuard,\r\n LanguageService,\r\n RollenGuard,\r\n UrlService,\r\n PopupService,\r\n CanDeactivateGuard,\r\n ConfigExternService\r\n ],\r\n bootstrap: [\r\n AppComponent\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n ]\r\n})\r\nexport class AppModule { }\r\n","export const environment = {\r\n version: '0.1.1',\r\n production: true\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nwindow.globalConfig.version = environment.version;\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"names":["DxFormComponent","DxPopupComponent","notify","RouteKeys","ApiService","ConfigService","i0","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r4","configService","passwordPolicy","text","ɵɵsanitizeHtml","ɵɵlistener","EditPasswordPopupComponent_div_2_Template_dx_form_formDataChange_2_listener","$event","ɵɵrestoreView","_r7","ctx_r6","ɵɵnextContext","ɵɵresetView","dataSource","ɵɵtemplate","EditPasswordPopupComponent_div_2_div_17_Template","ɵɵtext","ctx_r1","ɵɵpureFunction0","_c2","_c3","_c4","ɵɵpureFunction1","_c5","maxLaenge","minLaenge","minLaengeMessage","minZiffern","minZiffernMessage","minKleinBuchstaben","minKleinBuchstabenMessage","minGrossBuchstaben","minGrossBuchstabenMessage","minSonderzeichen","minSonderzeichenMessage","_c6","passwordComparison","ɵɵtextInterpolate","msg","EditPasswordPopupComponent","constructor","apiService","isLoading","onClickClose","bind","onClickSave","open","userID","id","altPasswort","passwort","passwortConfirm","popupVisible","validationFromResult","editDataForm","instance","validate","isValid","post","Option","Benutzer","set_password","subscribe","response","message","err","status","_","ɵɵdirectiveInject","i1","i2","_2","selectors","viewQuery","EditPasswordPopupComponent_Query","rf","ctx","EditPasswordPopupComponent_Template_dx_popup_visibleChange_0_listener","EditPasswordPopupComponent_div_2_Template","ɵɵpureFunction2","_c7","_c8","DataSource","EventEmitter","ElementRef","DxAutocompleteComponent","AutocompleteboxOsmComponent","element","valueType","searchTimeout","minSearchLength","whiteListType","readOnly","isRequired","validationMessage","onSelected","onChange","whiteLists","private_address","whiteList_countrycode","whiteList_key","whiteList_value","whiteList_type","insttution_address","all_address","getLatLonFromAddress","autoCompleteDataSource","key","load","loadOptions","searchValue","url","centerLat","centerLng","get","toPromise","then","results","features","forEach","newResult","mapSearchResults","undefined","exist","find","x","display_name","push","addr","cb","length","result","item","properties","countrycode","includes","toLowerCase","type","osm_key","osm_value","place_id","osm_id","lon","geometry","coordinates","lat","org","district","city","locality","street","housenumberString","housenumber","postcode","state","name","match","housenumberSupplement","supplement","console","warn","onSelectionChanged","e","selectedItem","setTimeout","value","ac","option","next","onValueChange","AutocompleteboxOsmComponent_Query","AutocompleteboxOsmComponent_Template_dx_autocomplete_onSelectionChanged_0_listener","AutocompleteboxOsmComponent_Template_dx_autocomplete_onValueChanged_0_listener","placeholder","Router","PopupService","formData","getKatalog","_c9","_c10","_c11","_c12","_c13","_c14","_c15","BgbPersonEditPopupComponent","popupService","router","subscription_get_PopupAsObservable","get_bgbPersonEditPopupAsObservable","context","onClose","closeCb","contextData","data","isNew","anredeId","geschlechtId","nachname","vorname","geburtsdatum","titelId","staatsangehoerigkeitId","telefon1","telefon2","eMail","popup","show","ngOnDestroy","unsubscribe","Bgb","person_get","entityId","validationResult","form","person_save","hide","i3","i4","BgbPersonEditPopupComponent_Query","BgbPersonEditPopupComponent_div_2_Template","_c16","_c17","DxDataGridComponent","ColumnChooserComponent","ctx_r9","ctx_r10","ctx_r11","BgbPersonSearchPopupComponent_div_2_Template_dx_data_grid_onSelectionChanged_1_listener","_r13","ctx_r12","BgbPersonSearchPopupComponent_div_2_Template_dx_data_grid_onToolbarPreparing_1_listener","ctx_r14","onToolbarPreparing","BgbPersonSearchPopupComponent_div_2_Template_dx_data_grid_onContentReady_1_listener","ctx_r15","onContentReady","BgbPersonSearchPopupComponent_div_2_Template_dx_data_grid_onRowDblClick_1_listener","ctx_r16","onClickOk","BgbPersonSearchPopupComponent_div_2_Template_dx_data_grid_focusedRowKeyChange_1_listener","ctx_r17","focusedRowKey","BgbPersonSearchPopupComponent_div_2_Template_dx_data_grid_onRowPrepared_1_listener","ctx_r18","onRowPrepared","BgbPersonSearchPopupComponent_div_2_dxi_column_16_Template","BgbPersonSearchPopupComponent_div_2_dxi_column_17_Template","BgbPersonSearchPopupComponent_div_2_dxi_column_18_Template","BgbPersonSearchPopupComponent_div_2_dxi_column_19_Template","BgbPersonSearchPopupComponent_div_2_dxi_column_20_Template","BgbPersonSearchPopupComponent_div_2_dxi_column_21_Template","selector","ctx_r2","dataGrid","BgbPersonSearchPopupComponent","init","onClickEdit","get_bgbPersonSearchPopupAsObservable","onPersonSearchEvent","ngOnInit","userData","haushaltId","hhId","person_search","totalCount","summary","groupCount","catch","clearSelection","clearFilter","clearSorting","reload","component","columnOption","visibleIndex","fixedPosition","visibleWidth","selected","selectRows","columnChooserButton","toolbarOptions","items","locateInMenu","showText","options","visible","searchPanel","filter","location","widget","stylingMode","icon","hint","onClick","event","columnChooser","deselectRowKeys","selectedRowKeys","rowData","selectedRowsData","blocked","deselectRows","onClickNew","showBgbPersonEditPopup","handleEditCloseEvent","row","refresh","getSelectedRowsData","getSelectedRowKeys","rowType","rowElement","style","color","BgbPersonSearchPopupComponent_Query","BgbPersonSearchPopupComponent_div_2_Template","BgbPersonSearchPopupComponent_app_columnChooser_5_Template","DxFileUploaderComponent","ctx_r5","error","ɵɵtextInterpolate1","filesToUpload","ɵɵtextInterpolate2","ctx_r7","saveCounter","BilderEditComponent_div_2_Template_dx_file_uploader_onValueChanged_3_listener","_r9","ctx_r8","onValueChanged","BilderEditComponent_div_2_span_5_Template","BilderEditComponent_div_2_span_6_Template","BilderEditComponent_div_2_span_7_Template","isSaving","maxFileSize","allowedMimeTypes","allowedFileExtensions","BilderEditComponent","allowed_MimeTypes","allowed_FileExtensions","title","openNew","fileUploader","reset","index","file","validateResult","validateFile","save","input","FormData","append","JSON","stringify","upload","Bilder","add","size","fileNameParts","split","toFind","allowedExt","BilderEditComponent_Query","BilderEditComponent_div_2_Template","confirm","ctx_r3","onClickDelete","data_r6","bezeichnung","ɵɵattribute","ɵɵpipeBind1","preview","ɵɵsanitizeUrl","BilderComponent","_entityId","onReorder","getAll","onRowUpdated","bild","parse","update","height","cssClass","disabled","bilderDataGrid","visibleRows","getVisibleRows","toIndex","indexOf","fromIndex","itemData","splice","orderIndex","reOrder","bilderEditPopup","dialogResult","remove","onEditClose","editRow","rowIndex","BilderComponent_Query","BilderComponent_Template_dx_data_grid_onSelectionChanged_0_listener","BilderComponent_Template_dx_data_grid_onRowPrepared_0_listener","BilderComponent_Template_dx_data_grid_onToolbarPreparing_0_listener","BilderComponent_Template_dx_data_grid_onContentReady_0_listener","BilderComponent_Template_dx_data_grid_onRowUpdated_0_listener","BilderComponent_dxi_button_18_Template","BilderComponent_dxi_button_19_Template","BilderComponent_div_20_Template","BilderComponent_Template_bilder_edit_onClose_21_listener","ɵɵelementContainerStart","ColumnChooserComponent_div_1_ng_container_9_Template_dx_check_box_valueChange_2_listener","restoredCtx","_r6","item_r4","$implicit","ɵɵelementContainerEnd","ColumnChooserComponent_div_1_Template_dx_button_onClick_4_listener","_r8","onClickAllOn","ColumnChooserComponent_div_1_Template_dx_button_onClick_5_listener","onClickAllOff","ColumnChooserComponent_div_1_ng_container_9_Template","ctx_r0","shadow_columns","onClickUebernehmen","onShowingPopup","i","columnCount","c","caption","showInColumnChooser","onHiddenPopup","inputs","decls","vars","consts","template","ColumnChooserComponent_Template","ColumnChooserComponent_Template_dx_popup_onShowing_0_listener","ColumnChooserComponent_Template_dx_popup_onHidden_0_listener","ColumnChooserComponent_Template_dx_popup_visibleChange_0_listener","ColumnChooserComponent_div_1_Template","_c0","_c1","ContextMenuCommandId","create","createOptions","FileTabItemId","Options","RibbonTabType","RichEdit","DocumentFormatApi","DomSanitizer","PdfJsViewerComponent","imageSrc","textSrc","DocxMultiPreviewPopupComponent_div_2_ng2_pdfjs_viewer_3_Template","DocxMultiPreviewPopupComponent_div_2_dx_scroll_view_4_Template","DocxMultiPreviewPopupComponent_div_2_dx_scroll_view_5_Template","DocxMultiPreviewPopupComponent_div_2_div_6_Template","DocxMultiPreviewPopupComponent_div_2_div_7_Template","docType","onClickPlatzhalterliste","currentDocName","DocxMultiPreviewPopupComponent","sanitizer","onPlatzhalter","docs","currentDocIndex","isReadOnly","isVorlage","openBlob","get_dokumentEditPopupAsObservable","doc","openDoc","rich","dispose","blob","fileName","format","richContainerElement","nativeElement","getOptions","openDocument","hasUnsavedChanges","docName","OpenXml","openMulti","dokumentId","mimeType","postDownloadAsBlob","Dokumente","download","errorMessage","Rtf","pdfViewer","pdfSrc","startsWith","postDownloadAsObjectURL","objectURL","bypassSecurityTrustUrl","bypassSecurityTrustHtml","replace","fileContent","width","fileTab","ribbon","getTab","File","removeItem","CreateNewDocument","OpenDocument","activeTabIndex","removeContextMenuItems","events","saving","s","handled","docContentBase64","base64","contextMenu","Copy","loadVorlage","vorlagenId","Vorlagenverwaltung","emit","DocxMultiPreviewPopupComponent_Query","DocxMultiPreviewPopupComponent_div_2_Template","DocxMultiPreviewPopupComponent_dxi_toolbar_item_3_Template","DocxMultiPreviewPopupComponent_div_5_Template","ɵɵpureFunction3","DokumenteEditComponent_div_2_Template_dx_file_uploader_onValueChanged_3_listener","DokumenteEditComponent_div_2_span_5_Template","DokumenteEditComponent_div_2_span_6_Template","DokumenteEditComponent","onAddClose","disableUpload","DokumenteEditComponent_Query","DokumenteEditComponent_div_2_Template","formatDate","onClickVorschau","checkIsVorschauDisabled","isNotHaushalt","DokumenteComponent","hasFilesToUpload","counter_crud","enabledFileExtensions","onClickDownload","old_dataSource","dokumenteDataGrid","isDisabled","toAdd","dokumenteEditPopup","toDelete","postDownload","getType","bereich","id_index","newId","datum","Date","istVomBuerger","updateRow","newData","toEdit","count","ds","dokumentenArtId","fileToUpload","toSend","finish_crud","art","calculateDatum","onRowDblClick","findIndex","showDokumentEditPopup","exist_filesToUpload","exist_dataSource","fileExtensionArray","fileExtension","getIsChanged","DokumenteComponent_Query","DokumenteComponent_Template_dx_data_grid_onSelectionChanged_0_listener","DokumenteComponent_Template_dx_data_grid_onToolbarPreparing_0_listener","DokumenteComponent_Template_dx_data_grid_onContentReady_0_listener","DokumenteComponent_Template_dx_data_grid_onRowUpdating_0_listener","DokumenteComponent_Template_dx_data_grid_onRowDblClick_0_listener","DokumenteComponent_dxi_column_15_Template","DokumenteComponent_dxi_button_23_Template","DokumenteComponent_dxi_button_24_Template","DokumenteComponent_dxi_button_26_Template","DokumenteComponent_Template_dokumente_edit_onAddClose_27_listener","EinkommensrechnerComponent_div_2_div_9_Template_dx_select_box_valueChange_1_listener","_r19","ekBerechnung","rechtsgrundlage","dsRechtsgrundlagen","ekDetails","EinkommensrechnerComponent_div_2_div_13_Template_dx_select_box_valueChange_1_listener","_r21","ctx_r20","ekPersonId_1","EinkommensrechnerComponent_div_2_div_13_Template_dx_select_box_onSelectionChanged_1_listener","ctx_r22","onChangePerson","hhaPersonen","EinkommensrechnerComponent_div_2_div_16_Template_dx_select_box_valueChange_1_listener","_r24","ctx_r23","ekPersonId_2","EinkommensrechnerComponent_div_2_div_16_Template_dx_select_box_onSelectionChanged_1_listener","ctx_r25","EinkommensrechnerComponent_div_2_div_16_Template_dx_select_box_onValueChanged_1_listener","ctx_r26","onChangeValuePerson","EinkommensrechnerComponent_div_2_dxi_item_17_div_1_Template_dx_select_box_valueChange_1_listener","_r29","ctx_r28","ekPersonId_3","EinkommensrechnerComponent_div_2_dxi_item_17_div_1_Template_dx_select_box_onSelectionChanged_1_listener","ctx_r30","EinkommensrechnerComponent_div_2_dxi_item_17_div_1_Template_dx_select_box_onValueChanged_1_listener","ctx_r31","ctx_r27","EinkommensrechnerComponent_div_2_dxi_item_17_div_1_Template","EinkommensrechnerComponent_div_2_div_19_Template_dx_button_onClick_1_listener","_r33","ctx_r32","onClickNeuePerson","ekPerson_3","ctx_r34","EinkommensrechnerComponent_div_2_dxi_item_23_dxi_item_12_Template","anzahlSpalten","ekPerson_1","ekPerson_2","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_3_Template_dx_select_box_valueChange_1_listener","_r46","ekPosition_r35","einkommensartId","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_3_Template_dx_select_box_onSelectionChanged_1_listener","ctx_r47","onChangeEinkommensArt","ctx_r38","dsEinnahmen","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_5_Template_dx_select_box_valueChange_1_listener","_r51","frequenz","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_5_Template_dx_select_box_onSelectionChanged_1_listener","ctx_r52","onChangeEinkommen","ctx_r39","dsEkPerioden","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_7_Template_dx_number_box_valueChange_1_listener","_r56","betrag_1","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_7_Template_dx_number_box_onChange_1_listener","ctx_r57","ctx_r40","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_9_Template_dx_number_box_valueChange_1_listener","_r61","betrag_2","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_9_Template_dx_number_box_onChange_1_listener","ctx_r62","ctx_r41","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_dxi_item_10_div_1_Template_dx_number_box_valueChange_1_listener","_r67","betrag_3","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_dxi_item_10_div_1_Template_dx_number_box_onChange_1_listener","ctx_r68","ctx_r64","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_dxi_item_10_div_1_Template","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_12_Template_dx_button_onClick_1_listener","_r73","ctx_r71","onClickHifsrechner","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_12_Template_dx_button_onClick_2_listener","ctx_r74","onClickRemoveEinkommenDetails","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_3_Template","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_5_Template","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_7_Template","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_9_Template","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_dxi_item_10_Template","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_div_12_Template","ctx_r37","EinkommensrechnerComponent_div_2_dxi_item_24_dxi_item_1_Template","einkommenstyp","ɵɵpipeBind2","gesamtEinnahmen3","EinkommensrechnerComponent_div_2_div_40_Template_dx_button_onClick_1_listener","_r78","ctx_r77","onClickAddEinkommenDetails","ctx_r13","ctx_r79","EinkommensrechnerComponent_div_2_dxi_item_42_dxi_item_12_Template","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_3_Template_dx_select_box_valueChange_1_listener","_r91","ekPosition_r80","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_3_Template_dx_select_box_onSelectionChanged_1_listener","ctx_r92","ctx_r83","dsAbzuege","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_5_Template_dx_select_box_valueChange_1_listener","_r96","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_5_Template_dx_select_box_onSelectionChanged_1_listener","ctx_r97","ctx_r84","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_7_Template_dx_number_box_valueChange_1_listener","_r101","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_7_Template_dx_number_box_onChange_1_listener","ctx_r102","ctx_r85","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_9_Template_dx_number_box_valueChange_1_listener","_r106","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_9_Template_dx_number_box_onChange_1_listener","ctx_r107","ctx_r86","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_dxi_item_10_div_1_Template_dx_number_box_valueChange_1_listener","_r112","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_dxi_item_10_div_1_Template_dx_number_box_onChange_1_listener","ctx_r113","ctx_r109","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_dxi_item_10_div_1_Template","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_12_Template_dx_button_onClick_1_listener","_r118","ctx_r116","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_12_Template_dx_button_onClick_2_listener","ctx_r119","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_3_Template","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_5_Template","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_7_Template","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_9_Template","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_dxi_item_10_Template","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_div_12_Template","ctx_r82","EinkommensrechnerComponent_div_2_dxi_item_43_dxi_item_1_Template","gesamtAbzuege3","EinkommensrechnerComponent_div_2_div_59_Template_dx_button_onClick_1_listener","_r123","ctx_r122","EinkommensrechnerComponent_div_2_Template_dx_form_formDataChange_3_listener","_r125","ctx_r124","EinkommensrechnerComponent_div_2_div_9_Template","EinkommensrechnerComponent_div_2_div_13_Template","EinkommensrechnerComponent_div_2_div_16_Template","EinkommensrechnerComponent_div_2_dxi_item_17_Template","EinkommensrechnerComponent_div_2_div_19_Template","EinkommensrechnerComponent_div_2_dxi_item_23_Template","EinkommensrechnerComponent_div_2_dxi_item_24_Template","EinkommensrechnerComponent_div_2_dxi_item_37_Template","EinkommensrechnerComponent_div_2_div_40_Template","EinkommensrechnerComponent_div_2_dxi_item_42_Template","EinkommensrechnerComponent_div_2_dxi_item_43_Template","EinkommensrechnerComponent_div_2_dxi_item_56_Template","EinkommensrechnerComponent_div_2_div_59_Template","ekEinnahmen","gesamtEinnahmen1","gesamtEinnahmen2","ekAbzuege","gesamtAbzuege1","gesamtAbzuege2","betragMonat","betragJahr","EinkommensrechnerComponent","titel","getEinkommenRechtsgrundlagen","showEkRechner","einkommenBerechnen","hhaAngehoerigerId","fillForm","repaint","refreshDsEinkommensArten","einnahmen1","abzuege1","einnahmen2","abzuege2","einnahmen3","abzuege3","gesamt","Math","round","typ","addEinkommenDetails","idNeu","ek","ekPosition","betraegeLoeschen","resolve","previousValue","pos","EinkommensrechnerComponent_Query","EinkommensrechnerComponent_div_2_Template","SimpleChanges","DxScrollViewComponent","error_r1","category","ErrorBoxComponent_div_5_Template_div_click_0_listener","ErrorBoxComponent_div_5_div_1_Template","ErrorBoxComponent_div_5_div_2_Template","ErrorBoxComponent_div_5_div_3_Template","ErrorBoxComponent","ngOnChanges","changes","isVisible","document","getElementById","currentValue","classList","scrollView","ɵɵNgOnChangesFeature","ErrorBoxComponent_Template","ErrorBoxComponent_div_5_Template","EwoPersonSearchPopupComponent_div_2_div_10_Template_app_autocompletebox_osm_onSelected_1_listener","_r10","onAddrKindSelected","EwoPersonSearchPopupComponent_div_2_div_10_Template_app_autocompletebox_osm_onChange_1_listener","onChangeStrasseKind","searchData","strasse","addressLat","addressLon","EwoPersonSearchPopupComponent_div_2_Template_dx_text_box_valueChange_3_listener","EwoPersonSearchPopupComponent_div_2_Template_dx_text_box_valueChange_6_listener","EwoPersonSearchPopupComponent_div_2_div_10_Template","EwoPersonSearchPopupComponent_div_2_Template_dx_button_onClick_18_listener","onClickEwoFind","EwoPersonSearchPopupComponent_div_2_Template_dx_data_grid_onSelectionChanged_20_listener","EwoPersonSearchPopupComponent_div_2_Template_dx_data_grid_onToolbarPreparing_20_listener","EwoPersonSearchPopupComponent_div_2_Template_dx_data_grid_onContentReady_20_listener","EwoPersonSearchPopupComponent_div_2_Template_dx_data_grid_focusedRowKeyChange_20_listener","ctx_r19","EwoPersonSearchPopupComponent_div_2_Template_dx_data_grid_onRowPrepared_20_listener","getGeschlechtText","getAdressText","EwoPersonSearchPopupComponent","_data","addSorgebrechtigte","onSelectAddSorgeberechtigte","setInitialCurrentPos","get_ewoPersonSearchPopupAsObservable","addSorgeberechtigte","persons","hauptwohnsitz","schluessel","adresse","ort","plz","postleitzahl","hausnummer","hausnummerZusatz","hausnummerzusatz","getGlobalSettingAsNumber","ortsteil","hnr","hnrZusatz","model","hNr","hNrZusatz","Ewo","check_person_residence","check_person_residence_vague","EwoPersonSearchPopupComponent_Query","EwoPersonSearchPopupComponent_div_2_Template","EwoPersonSearchPopupComponent_app_columnChooser_6_Template","_c18","LanguageService","ImprintComponent","languageService","Imprint","get_value","imprintText","wert","Message","ImprintComponent_Template","AuthService","LoginCodePopupComponent_div_2_div_8_Template","LoginCodePopupComponent","authService","username","password","verifyCode","get_loginCodePopupAsObservable","vorlagenDataGrid","login","isLoggedIn","navigate","LoginCodePopupComponent_Query","LoginCodePopupComponent_div_2_Template","control","Icon","map","marker","tileLayer","MapOsmComponent","zoom","isDraggable","dragEnd","_idIndex","_markerArray","mapContainerName","crateGuiid","ngAfterViewInit","_initMap","addMarker","_getNewId","_createMarker","addTo","_map","getAddressFromLatLon","address","_mapOsmToaddress","flyTo","_center_marker","setLatLng","setZoom","removeMarker","removeAllMarker","setMarkerIcon","iconUrl","getIcon","setIcon","layers","maxZoom","attribution","center","scale","_createCenterMarker","markerOptions","centerTitle","draggable","centerImage","popupDetails","centerPopupDetails","onDragend","target","getLatLng","lng","iconSize","iconAnchor","shadowUrl","riseOnHover","on","bindPopup","openPopup","r","random","v","toString","outputs","MapOsmComponent_Template","MenuSidebarService","MenuSidebarComponent_div_1_div_1_Template_div_click_0_listener","menu_r1","onClickMenuItem","isSelected","hasInfo","infoText","hasError","MenuSidebarComponent_div_1_div_2_Template_div_click_0_listener","_r11","onClickMenuWithSubItems","ɵɵpropertyInterpolate1","MenuSidebarComponent_div_1_div_4_Template_div_click_0_listener","_r17","subItem_r13","onClickSubmenuItem","MenuSidebarComponent_div_1_div_4_i_2_Template","MenuSidebarComponent_div_1_div_1_Template","MenuSidebarComponent_div_1_div_2_Template","MenuSidebarComponent_div_1_div_4_Template","ɵɵpropertyInterpolate","MenuSidebarComponent","sidebarService","menuItems","ngAfterContentInit","getSidebarMenuAsObservable","neededLicense","hasLicense","checkRoles","checkSubItems","neededRoles","isInOneOfThisRoles","subItems","subItem","selectedMenuItem","selectMenuWidthSubItems","openItem","isOpen","deselectAllItems","path","navigateToUrlFromMenu","targetId","menuToToggle","display","wrapperToToggleClosed","wrapperToToggleOpen","param","paramKey","paramValue","paramObj","queryParams","queryParamsHandling","MenuSidebarComponent_Template","MenuSidebarComponent_div_1_Template","PrivacyComponent","Privacy","privacyText","PrivacyComponent_Template","getStatusClass","data_r9","data_r10","StapelBearbeitungPopupComponent_div_2_dxi_item_13_Template","StapelBearbeitungPopupComponent_div_2_div_14_Template","StapelBearbeitungPopupComponent_div_2_div_15_Template","StapelBearbeitungPopupComponent_div_2_span_17_Template","StapelBearbeitungPopupComponent_div_2_span_18_Template","StapelBearbeitungPopupComponent_div_2_Template_dx_load_panel_visibleChange_19_listener","_r12","antragIds","statusKatalog","statusId","onStatusChanged","isAblehungsgrundVisible","isStatusMitVorschlag","statusSelected","isError","StapelBearbeitungPopupComponent","statusMitVorschlag","createEmptyFormData","get_stapelBearbeitungPopupAsObservable","getStatusId","Inquire","stapelbearbeitung","sendMail","grundFuerAblehnungID","StapelBearbeitungPopupComponent_Query","StapelBearbeitungPopupComponent_div_2_Template","ɵɵprojection","TableContainerComponent","setHeader1","setHeader2","setFooter","ngContentSelectors","TableContainerComponent_Template","TableContainerComponent_div_0_Template","TableContainerComponent_div_1_Template","TableContainerComponent_div_4_Template","VorlagenPopupComponent_div_2_Template_dx_data_grid_onSelectionChanged_1_listener","VorlagenPopupComponent_div_2_Template_dx_data_grid_onToolbarPreparing_1_listener","VorlagenPopupComponent_div_2_Template_dx_data_grid_onContentReady_1_listener","VorlagenPopupComponent_div_2_Template_dx_radio_group_valueChange_17_listener","bearbeiten","VorlagenPopupComponent_div_2_Template_dx_radio_group_onValueChanged_17_listener","onChangeBearbeiten","optionen","VorlagenPopupComponent","anheften","vorlagen","onClickErzeugen","Vorlage","get_search","get_vorlagePopupAsObservable","getEditor","newFileName","create_without_download","_blob","VorlagenPopupComponent_Query","VorlagenPopupComponent_div_2_Template","getBenutzer","WiedervorlagenEditPopupComponent","wiedervorlagenId","canFinish","canShowZumAntrag","onClickErledigt","onClickUnerledigt","onClickGeheZu","get_wiedervorlageEditPopupAsObservable","Wiedervorlage","ID","finish","erledigt","getVorgang","vorgang","WiedervorlagenEditPopupComponent_Query","WiedervorlagenEditPopupComponent_div_2_Template","WiedervorlagenGridPopupComponent_div_2_Template_dx_data_grid_onSelectionChanged_1_listener","WiedervorlagenGridPopupComponent_div_2_Template_dx_data_grid_onToolbarPreparing_1_listener","WiedervorlagenGridPopupComponent_div_2_Template_dx_data_grid_onContentReady_1_listener","WiedervorlagenGridPopupComponent_div_2_Template_dx_data_grid_onRowDblClick_1_listener","getBenutzerId","WiedervorlagenGridPopupComponent","vorgangString","get_wiedervorlageGridPopupAsObservable","wiedervorlagenDataGrid","selectedFilterOperation","filterValue","antragsZeichen","get_allByAntrag","showWiedervorlageEditPopup","WiedervorlagenGridPopupComponent_Query","WiedervorlagenGridPopupComponent_div_2_Template","Route","UrlSegment","AuthGuard","canActivate","route","can","canLoad","segments","ɵɵinject","factory","ɵfac","UrlTree","CanDeactivateGuard","canDeactivate","currentRoute","currentState","nextState","canExit","RollenGuard","isInRole","StartSite","Auth","get_token","psw_recover","send_verify_code","login_no_2FA","get_is_2FA_on","Poll","Config","get_config","get_config_extern","get_version","get_global_settings","EmailVerwaltung","get_email_vorlage","set_email_vorlage","get_email_vorlage_description","add_antrag","update_antrag","remove_antrag","get_antrag","get_kinder_dublette","check_user","check_status","get_historie","get_all_historie","save_as_pdf","get_profile","update_profile","get_search_buerger","get_buerger","add_buerger","update_buerger","get_anzahl_antraege","remove_buerger","get_antrag_vorlage_description","get_antrag_vorlage_description_file","saveFromBase64","Kataloge","get_katalog","add_katalog","update_katalog","remove_katalog","sort_katalog","get_strassen_katalog","add_strassen_katalog","update_strassen_katalog","remove_strassen_katalog","remove_all_strassen_katalog","reorder_katalog","Faq","get_question","News","get_news","Export","get_export","add_export","download_export","get_protocol","add_basedata_export","download_export_basedata","Settings","Allgemein","Sicherheit","Start","Antrag","Formularfelder","Beitragsberechnung","get_tables","get_table","add_table","save_table","remove_table","holidaycare_get","holidaycare_save","mealallowance_get","mealallowance_save","Einrichtung","get_einrichtungen_select","get_einrichtungen_dashboard","get_einrichtung_by_id","add_einrichtung","update_einrichtung","remove_einrichtung","Kapazitaeten","get_all","Traeger","get_traeger","get_traeger_select","get_traeger_by_id","add_traeger","update_traeger","remove_traeger","Recherche","get_available_selects","search","load_vorlagen","save_vorlage","remove_vorlage","update_imprint","update_privacy","Doctext","update_doctext","Dev","logs_download","logs_delete","Exception","log_error","haushalt_get","haushalt_save","haushalt_search","haushalt_delete","ek_berechnungen_search","ek_berechnung_get","ek_berechnungen_get","ek_berechnung_save","ek_berechnung_delete","vertrag_get","vertrag_save","vertrag_search","vertrag_delete","vertrag_get_hh","elternbeitrag_search","elternbeitrag_get","elternbeitrag_get_bb_kurz","elternbeitrag_save","elternbeitrag_delete","elternbeitrag_timeline","elternbeitrag_timeline2","person_search_kids","essengeld_get","essengeld_save","ferienbetreuung_save","ferienbetreuung_get","ferien_get","ferien_save","ferien_delete","DocxPreviewPopupComponent","updateRibbon","confirmOnLosingChanges","enabled","ExportDocument","clearTabs","insertTab","DocxPreviewPopupComponent_Query","DocxPreviewPopupComponent_div_2_Template","EinkommensrechnerSearchComponent_app_einkommensrechner_13_Template_app_einkommensrechner_onClose_0_listener","_r4","onEkRechnerClose","EinkommensrechnerSearchComponent","ekBerechnungen","ekb","onUpdate","isEkRechnerOpen","ekrechnerDataGrid","ekRechner","hhaId","ekHaushalt","hhaAngehoerige","modus","datumBerechnung","datumNachweis","bemerkung","einkommenDetails","ekObj","EinkommensrechnerSearchComponent_Query","EinkommensrechnerSearchComponent_Template_dx_data_grid_onToolbarPreparing_0_listener","EinkommensrechnerSearchComponent_Template_dx_data_grid_onRowDblClick_0_listener","EinkommensrechnerSearchComponent_app_einkommensrechner_13_Template","ModuleWithProviders","CommonModule","ReactiveFormsModule","FormsModule","DxMenuModule","DxDrawerModule","DxFormModule","DxButtonModule","DxToolbarModule","DxDataGridModule","DxTemplateModule","DxNumberBoxModule","DxLoadIndicatorModule","DxListModule","DxTextBoxModule","DxSelectBoxModule","DxTextAreaModule","DxTabPanelModule","DxPopupModule","DxScrollViewModule","DxFileUploaderModule","DxCheckBoxModule","DxAccordionModule","DxResponsiveBoxModule","DxBoxModule","DxTagBoxModule","DxDateBoxModule","DxPieChartModule","DxLoadPanelModule","DxLookupModule","DxBulletModule","DxPopoverModule","DxSortableModule","DxTooltipModule","DxAutocompleteModule","DxGalleryModule","DxHtmlEditorModule","DxValidatorModule","DxChartModule","DxRadioGroupModule","SecurePipe","DxSliderModule","PdfJsViewerModule","InjectorModule","forRoot","ngModule","providers","_3","declarations","imports","exports","HttpClient","http","transform","responseType","pipe","val","URL","createObjectURL","pure","HttpEventType","HttpHeaders","HttpRequest","StorageService","DOCUMENT","storageService","endPoint","getRequestHeaders","headers","token","getFromSession","errCb","_headers","uploadReq","reportProgress","request","Response","body","Error","xhr","XMLHttpRequest","withCredentials","setRequestHeader","onloadend","a","onload","_fileName","getFilename","_url","window","webkitURL","src","link","createElement","href","appendChild","click","removeChild","revokeObjectURL","send","disposition","getResponseHeader","dispositionSplits","fn","dfn","decodeURI","PollService","pollService","benutzername","okCb","saveToSession","rollen","logout","stop","clearSession","getName","setName","getBenutzerName","role","_roles","getRoles","_role","toLocaleLowerCase","roles","setVerifyCode","loginNo2FA","isVerwaltung2FAOn","i5","BehaviorSubject","ConfigExternService","globalSettings","noConfigFoundWarning","isInit","asObservable","getGlobalSetting","berechnungsDatum","lizenz","_lizenz","getFromLocale","saveToLocale","maxAnzahlSorgeberechtigter","anzahlBetreuungswuensche","anzahlSorgeberechtigter","allKataloge","kataloge","katalogeMitKeineAntragstellung","strassen","betreuungsArten","benutzer","benutzerMitNiedrigererOderGleicherRolle","antragsStatus","monthsOfYear","daysOfMonth","mandantName","getPasswordPolicy","portalTitel","bundesland","getTraegerForSelect","getEinrichtungenForSelect","getEinrichtungenForDashboard","getStrassen","getBenutzerMitNiedrigererOderGleicherRolle","getMandantName","newKatalog","keineAntragstellung","getKatalogMitKeineAntragstellung","isNaN","Number","policy","pswPatternArray","n","trim","String","deMessages","enMessages","supplemental","deCldrData","enCldrData","Globalize","locale","get_selectedLanguageObservable","_selectedLanguage","_blackListWarnings","navigator","language","loadMessages","defaultLang","getDictionary","lang","_lang","_default_lang","messages","setLanguage","forcePageRepaint","translate","params","formatMessage","ex","log","Observable","_sidebarMenu","sidebarMenuAsObservable","_rerender","rerenderAsObservable","rerender","createMenu","menu","changeMenu","itemUrl","changeMenuByName","itemKey","itemName","thisItem","thisSubItem","y","changeMenuByKey","providedIn","timer","counts","_timer","timer_subscription","t","timer_tick","getPollDataAsObservable","clientServerPollTime","closed","complete","_vorlagePopup","_wiedervorlageGridPopup","_wiedervorlageEditPopup","_loginCodeEditPopup","_bgbPersonSearchPopup","_bgbPersonEditPopup","_bgbHolidayCarePopup","_stapelBearbeitungPopup","_dokumentEditPopup","_ewoPersonSearchPopup","showVorlagePopup","showWiedervorlageGridPopup","showLoginCodePopup","showBgbPersonSearchPopup","get_bgbHolidayCarePopupAsObservable","showBgbHolidayCarePopup","showStapelBearbeitungPopup","showEwoPersonSearchPopup","useCrypt","globalConfig","dev","sessionStorage","clear","clearFromSession","encrypt","clearFromLocale","localStorage","getItem","decrypt","setItem","btoa","encodeURIComponent","decodeURIComponent","atob","ActivatedRoute","UrlService","get_externSearchQueryParams","_externSearchQueryParams","get_externSelectedIdsQueryParams","_externSelectedIdsQueryParams","queryParamMap","paras","raw_search","last_externSearchQueryParams","raw_ids","idStringArray","idArray","last_externSelectedIdsQueryParams","naviToMergeQueryParams","naviToPreserveQueryParams","naviTo","refreshQueryParams","relativeTo","RouterModule","PreloadAllModules","m","DepartmentModule","DepartmentInquiresModule","DepartmentStammdatenModule","DepartmentRechercheModule","WiedervorlagenModule","DepartmentOptionenModule","DepartmentUsersModule","DepartmentVorlagenverwaltungModule","BgbModule","routes","redirectTo","pathMatch","loadChildren","ExternModule","AppRoutingModule","onSameUrlNavigation","useHash","preloadingStrategy","DateBox","TextBox","SelectBox","TagtBox","NumberBox","DataGrid","DxForm","Button","Popup","config","dxToast","RELocalization","AppComponent","getVersion","setGlobalConfig","de","info","version","editorStylingMode","defaultCurrency","forceIsoDateParsing","defaultOptions","showClearButton","min","max","showSpinButtons","searchEnabled","searchMode","showSelectionControls","applyValueMode","maxLength","displayFormat","pickerType","useMaskBehavior","dateSerializationFormat","columnAutoWidth","showColumnLines","showRowLines","showBorders","rowAlternationEnabled","allowColumnReordering","allowColumnResizing","columnResizingMode","loadPanel","editing","confirmDelete","child","querySelector","saveButton","saveButtonInstance","getInstance","cancelButton","cancelButtonInstance","onRowRemoving","res","cancel","Promise","reject","scrolling","useNative","mode","showScrollbar","stateStoring","savingTimeout","focusStateEnabled","hoverStateEnabled","shadingColor","onTitleRendered","toolbarItems","ja_btn","nein_btn","speichern_btn","abbruch_btn","showColonAfterLabel","labelLocation","displayTime","position","at","my","offset","AppComponent_Template","AppComponent_div_0_Template","AppComponent_div_1_Template","AppComponent_app_checkInquirePopup_2_Template","AppComponent_app_vorlagenPopup_3_Template","AppComponent_app_wiedervorlagenGridPopup_4_Template","AppComponent_app_wiedervorlagenEditPopup_5_Template","AppComponent_app_loginCodePopup_8_Template","AppComponent_app_bgb_person_search_popup_9_Template","AppComponent_app_stapelBearbeitungPopup_10_Template","AppComponent_app_ewo_person_search_popup_11_Template","HttpHandler","HttpEvent","HTTP_INTERCEPTORS","AuthInterceptor","whiteList","intercept","req","whiteListed","clone","setHeaders","Authorization","handle","authInterceptorProvider","provide","useClass","multi","HttpErrorResponse","throwError","catchError","ErrorInterceptor","stack","Stack","errorInterceptorProvider","NgZone","GlobalErrorHandler","zone","handleError","run","_error","browser","detectBrowserName","detectBrowserVersion","agent","userAgent","opr","chrome","matchTest","tem","test","exec","slice","join","appName","appVersion","BrowserModule","BrowserAnimationsModule","ErrorHandler","LOCALE_ID","HttpClientModule","registerLocaleData","localeDe","localeEn","AppModule","bootstrap","useValue","environment","production","enableProdMode","getBaseUrl","getElementsByTagName","useFactory","deps","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}