diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 6312769..8a524d2 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -88,34 +88,45 @@ export class AppComponent implements OnInit, OnDestroy, AfterContentChecked { if(this.AuthService.SecurityEnabled) { - this.authService.initialize().subscribe(() => { + try { - this.msalBroadcastService.inProgress$ - .pipe( - filter((status_a: InteractionStatus) => { + this.authService.initialize().subscribe(() => { - this.Debug.ShowMessage('Interaction Status: ' + status_a, 'App Component', 'StartApp', this.Debug.Typen.Component); + this.msalBroadcastService.inProgress$ + .pipe( + filter((status_a: InteractionStatus) => { - return status_a === InteractionStatus.None; - }), - takeUntil(this.Destroying) - ) - .subscribe((status_b: InteractionStatus) => { + this.Debug.ShowMessage('Interaction Status: ' + status_a, 'App Component', 'StartApp', this.Debug.Typen.Component); - this.Debug.ShowMessage('Interaction Status: ' + status_b, 'App Component', 'StartApp', this.Debug.Typen.Component); + return status_a === InteractionStatus.None; + }), + takeUntil(this.Destroying) + ) + .subscribe((status_b: InteractionStatus) => { - this.AuthService.SetShowLoginStatus(); - }); + this.Debug.ShowMessage('Interaction Status: ' + status_b, 'App Component', 'StartApp', this.Debug.Typen.Component); + + this.AuthService.SetShowLoginStatus(); + }); + + this.AuthService.LoginSuccessEvent.subscribe(() => { - this.AuthService.LoginSuccessEvent.subscribe(() => { + this.Debug.ShowMessage('LoginSuccessEvent -> Start App', 'App Component', 'StartApp', this.Debug.Typen.Component); - this.Debug.ShowMessage('LoginSuccessEvent -> Start App', 'App Component', 'StartApp', this.Debug.Typen.Component); + this.StartApp(); + }); this.StartApp(); }); - this.StartApp(); - }); + } catch (error) { + + this.AuthService.UnsetActiveUser(); + + this.Debug.ShowErrorMessage(error, 'App Component', 'OnInit', this.Debug.Typen.Component); + } + + } else { diff --git a/src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.ts b/src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.ts index a038b55..83ad70f 100644 --- a/src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.ts +++ b/src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.ts @@ -555,6 +555,7 @@ export class UrlaubsplanungKalenderComponent implements OnInit, OnDestroy, OnCha try { let EndeDatum: Moment; + let Datum: Moment; let Startdatum: Moment; let Kalendertag: Kalendertagestruktur; let Anzahl: number = 0 ; @@ -721,6 +722,19 @@ export class UrlaubsplanungKalenderComponent implements OnInit, OnDestroy, OnCha Kalendertag.IsHalberUrlaubstag = true; Kalendertag.Color = 'white'; + Datum = moment(Tag.Tagstempel); + + if(Datum.isSameOrBefore(Heute)) { + + this.DB.CurrentUrlaubzeitspanne.Status = this.DB.Urlaubstatusvarianten.Genehmigt; + this.DB.CurrentUrlaubzeitspanne.FreigabeanfrageSended = true; + this.DB.CurrentUrlaubzeitspanne.FreigabeantwortSended = true; + this.DB.CurrentUrlaubzeitspanne.FreigabeantwortOfficeSended = true; + this.DB.CurrentUrlaubzeitspanne.Planungmeldung = 'Der Urlaub befand sich zum Tage der Eintragung am ' + Heute.format('DD.MM.YYYY') + ' in der Vergangenheit.'; + + Kalendertag.Background = this.DB.Urlaubsfaben.Genehmigt; + } + this.AddUrlaubFinishedEvent.emit(true); diff --git a/src/app/pages/common-urlaub-planung/common-urlaub-planung.page.ts b/src/app/pages/common-urlaub-planung/common-urlaub-planung.page.ts index 7b4e3f7..5e8fb2a 100644 --- a/src/app/pages/common-urlaub-planung/common-urlaub-planung.page.ts +++ b/src/app/pages/common-urlaub-planung/common-urlaub-planung.page.ts @@ -370,6 +370,10 @@ export class CommonUrlaubPlanungPage implements OnInit, OnDestroy { this.DB.Bundesland = lodash.find(this.BundeslandAuswahlliste, {Data: this.DB.Bundeslandkuerzel}).FirstColumn; + let test = this.DB.CurrentUrlaub.Urlaubzeitspannen; + + debugger; + } catch (error) { this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'PrepareData', this.Debug.Typen.Page); diff --git a/src/app/services/basics/basics.ts b/src/app/services/basics/basics.ts index 4fabc92..c628dae 100644 --- a/src/app/services/basics/basics.ts +++ b/src/app/services/basics/basics.ts @@ -17,9 +17,9 @@ export class BasicsProvider { public InnerContenthoehe: number = 0; public Waittime: number = 300; public Svgpath: string = 'assets/svgs/'; - public AppBuild: string = '05.06.2024 07:00'; - public AppVersionName: string = '1.19'; - public AppVersionDatum: string = '05.06.2024'; + public AppBuild: string = '26.08.2024 07:00'; + public AppVersionName: string = '1.20'; + public AppVersionDatum: string = '26.08.2024'; public WebAppUrl: string = 'https://polite-cliff-084832d03.4.azurestaticapps.net/'; diff --git a/www/main.js b/www/main.js index 3d5eac0..84ed292 100644 --- a/www/main.js +++ b/www/main.js @@ -166,20 +166,25 @@ let AppComponent = class AppComponent { this.Zoomfaktor = this.Pool.Mitarbeitersettings.Zoomfaktor; }); if (this.AuthService.SecurityEnabled) { - this.authService.initialize().subscribe(() => { - this.msalBroadcastService.inProgress$.pipe((0, rxjs_1.filter)(status_a => { - this.Debug.ShowMessage('Interaction Status: ' + status_a, 'App Component', 'StartApp', this.Debug.Typen.Component); - return status_a === msal_browser_1.InteractionStatus.None; - }), (0, rxjs_1.takeUntil)(this.Destroying)).subscribe(status_b => { - this.Debug.ShowMessage('Interaction Status: ' + status_b, 'App Component', 'StartApp', this.Debug.Typen.Component); - this.AuthService.SetShowLoginStatus(); - }); - this.AuthService.LoginSuccessEvent.subscribe(() => { - this.Debug.ShowMessage('LoginSuccessEvent -> Start App', 'App Component', 'StartApp', this.Debug.Typen.Component); + try { + this.authService.initialize().subscribe(() => { + this.msalBroadcastService.inProgress$.pipe((0, rxjs_1.filter)(status_a => { + this.Debug.ShowMessage('Interaction Status: ' + status_a, 'App Component', 'StartApp', this.Debug.Typen.Component); + return status_a === msal_browser_1.InteractionStatus.None; + }), (0, rxjs_1.takeUntil)(this.Destroying)).subscribe(status_b => { + this.Debug.ShowMessage('Interaction Status: ' + status_b, 'App Component', 'StartApp', this.Debug.Typen.Component); + this.AuthService.SetShowLoginStatus(); + }); + this.AuthService.LoginSuccessEvent.subscribe(() => { + this.Debug.ShowMessage('LoginSuccessEvent -> Start App', 'App Component', 'StartApp', this.Debug.Typen.Component); + this.StartApp(); + }); this.StartApp(); }); - this.StartApp(); - }); + } catch (error) { + this.AuthService.UnsetActiveUser(); + this.Debug.ShowErrorMessage(error, 'App Component', 'OnInit', this.Debug.Typen.Component); + } } else { this.StartApp(); } @@ -5502,6 +5507,7 @@ let UrlaubsplanungKalenderComponent = class UrlaubsplanungKalenderComponent { TagClicked(event, Tag, Wocheindex, CurrentTagindex) { try { let EndeDatum; + let Datum; let Startdatum; let Kalendertag; let Anzahl = 0; @@ -5611,6 +5617,15 @@ let UrlaubsplanungKalenderComponent = class UrlaubsplanungKalenderComponent { Kalendertag.IsUrlaub = true; Kalendertag.IsHalberUrlaubstag = true; Kalendertag.Color = 'white'; + Datum = (0, moment_1.default)(Tag.Tagstempel); + if (Datum.isSameOrBefore(Heute)) { + this.DB.CurrentUrlaubzeitspanne.Status = this.DB.Urlaubstatusvarianten.Genehmigt; + this.DB.CurrentUrlaubzeitspanne.FreigabeanfrageSended = true; + this.DB.CurrentUrlaubzeitspanne.FreigabeantwortSended = true; + this.DB.CurrentUrlaubzeitspanne.FreigabeantwortOfficeSended = true; + this.DB.CurrentUrlaubzeitspanne.Planungmeldung = 'Der Urlaub befand sich zum Tage der Eintragung am ' + Heute.format('DD.MM.YYYY') + ' in der Vergangenheit.'; + Kalendertag.Background = this.DB.Urlaubsfaben.Genehmigt; + } this.AddUrlaubFinishedEvent.emit(true); } else { if (IsFeiertag) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Feiertag.');else if (IsUrlaub) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Urlaubstag.');else this.Tools.ShowHinweisDialog('Dieser Tag ist bereits ein Homeofficetag.'); @@ -8762,6 +8777,8 @@ let CommonUrlaubPlanungPage = class CommonUrlaubPlanungPage { _this2.DB.Bundesland = lodash.find(_this2.BundeslandAuswahlliste, { Data: _this2.DB.Bundeslandkuerzel }).FirstColumn; + let test = _this2.DB.CurrentUrlaub.Urlaubzeitspannen; + debugger; } catch (error) { _this2.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'PrepareData', _this2.Debug.Typen.Page); } @@ -11476,9 +11493,9 @@ let BasicsProvider = class BasicsProvider { InnerContenthoehe = 0; Waittime = 300; Svgpath = 'assets/svgs/'; - AppBuild = '05.06.2024 07:00'; - AppVersionName = '1.19'; - AppVersionDatum = '05.06.2024'; + AppBuild = '26.08.2024 07:00'; + AppVersionName = '1.20'; + AppVersionDatum = '26.08.2024'; WebAppUrl = 'https://polite-cliff-084832d03.4.azurestaticapps.net/'; Farben = { BAEBlau: '#307ac1', diff --git a/www/main.js.map b/www/main.js.map index 52b9008..60e6dea 100644 --- a/www/main.js.map +++ b/www/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;;;;;;;;;ACZA;AACA,4CAA4C,mBAAO,CAAC,qEAA0D;AAC9G,kCAAkC,mBAAO,CAAC,8DA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K,WAAW,qCAAqC,uBAAuB,yBAAyB,YAAY,aAAa,aAAa,gCAAgC,GAAG,qBAAqB,kBAAkB,iBAAiB,uBAAuB,GAAG,uBAAuB,oBAAoB,sBAAsB,GAAG,kBAAkB,oBAAoB,sBAAsB,qBAAqB,gBAAgB,GAAG,kBAAkB,0BAA0B,GAAG,qBAAqB;AAC3zB;AACA;;;;;;;;;;;ACpCA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,kHAAkH,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,MAAM,KAAK,UAAU,UAAU,WAAW,UAAU,MAAM,KAAK,UAAU,WAAW,UAAU,WAAW,MAAM,KAAK,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,MAAM,KAAK,WAAW,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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,sIAAsI,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,MAAM,KAAK,WAAW,UAAU,UAAU,MAAM,KAAK,WAAW,UAAU,UAAU,UAAU,UAAU,MAAM,KAAK,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,MAAM,KAAK,WAAW,UAAU,WAAW,UAA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components-page/fi-changelog-editor/fi-changelog-editor.component.ts","./src/app/components-page/fi-changelog-editor/fi-changelog-editor.module.ts","./src/app/components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.component.ts","./src/app/components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module.ts","./src/app/components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.component.ts","./src/app/components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module.ts","./src/app/components-page/fi-standort-editor/fi-standort-editor.component.ts","./src/app/components-page/fi-standort-editor/fi-standort-editor.module.ts","./src/app/components/abstand-element-fixed/abstand-element-fixed.component.ts","./src/app/components/abstand-element-fixed/abstand-element-fixed.module.ts","./src/app/components/alphabet-relative/alphabet-relative.module.ts","./src/app/components/alphabet-relative/alphabet-relative.ts","./src/app/components/alphabet/alphabet.module.ts","./src/app/components/alphabet/alphabet.ts","./src/app/components/auswahl-dialog/auswahl-dialog.module.ts","./src/app/components/auswahl-dialog/auswahl-dialog.ts","./src/app/components/button-value-date/button-value-date.module.ts","./src/app/components/button-value-date/button-value-date.ts","./src/app/components/button-value/button-value.module.ts","./src/app/components/button-value/button-value.ts","./src/app/components/checkbox-clon/checkbox-clon.component.ts","./src/app/components/checkbox-clon/checkbox-clon.module.ts","./src/app/components/input-clone-keeper/input-clone-keeper.component.ts","./src/app/components/input-clone-keeper/input-clone-keeper.module.ts","./src/app/components/input-clone/input-clone.component.ts","./src/app/components/input-clone/input-clone.module.ts","./src/app/components/page-footer/page-footer.module.ts","./src/app/components/page-footer/page-footer.ts","./src/app/components/page-header-center/page-header-center.module.ts","./src/app/components/page-header-center/page-header-center.ts","./src/app/components/page-header-menu/page-header-menu.component.ts","./src/app/components/page-header-menu/page-header-menu.module.ts","./src/app/components/page-header/page-header.module.ts","./src/app/components/page-header/page-header.ts","./src/app/components/page-modal-keeper/page-modal-keeper.component.ts","./src/app/components/page-modal-keeper/page-modal-keeper.module.ts","./src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module.ts","./src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.ts","./src/app/pages/common-einstellungen/common-einstellungen.module.ts","./src/app/pages/common-einstellungen/common-einstellungen.page.ts","./src/app/pages/common-home/common-home.module.ts","./src/app/pages/common-home/common-home.page.ts","./src/app/pages/common-urlaub-einstellungen/common-urlaub-einstellungen.module.ts","./src/app/pages/common-urlaub-einstellungen/common-urlaub-einstellungen.page.ts","./src/app/pages/common-urlaub-freigaben/common-urlaub-freigaben.module.ts","./src/app/pages/common-urlaub-freigaben/common-urlaub-freigaben.page.ts","./src/app/pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.module.ts","./src/app/pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.page.ts","./src/app/pages/common-urlaub-planung/common-urlaub-planung.module.ts","./src/app/pages/common-urlaub-planung/common-urlaub-planung.page.ts","./src/app/pages/common-urlaub-uebersicht/common-urlaub-uebersicht.module.ts","./src/app/pages/common-urlaub-uebersicht/common-urlaub-uebersicht.page.ts","./src/app/pages/common-wartung/common-wartung.module.ts","./src/app/pages/common-wartung/common-wartung.page.ts","./src/app/pages/fi-mitarbeiterliste/fi-mitarbeiterliste.module.ts","./src/app/pages/fi-mitarbeiterliste/fi-mitarbeiterliste.ts","./src/app/pages/fi-standorteliste/fi-standorteliste.module.ts","./src/app/pages/fi-standorteliste/fi-standorteliste.ts","./src/app/pipes/safe.pipe.module.ts","./src/app/pipes/safe.pipe.ts","./src/app/services/auswahl-dialog/auswahl-dialog.service.ts","./src/app/services/basics/basics.ts","./src/app/services/const/const.ts","./src/app/services/database-appeinstellungen/database-appeinstellungen.service.ts","./src/app/services/database-authentication/database-authentication.service.ts","./src/app/services/database-changelog/database-changelog.service.ts","./src/app/services/database-mitarbeiter/database-mitarbeiter.service.ts","./src/app/services/database-mitarbeitersettings/database-mitarbeitersettings.service.ts","./src/app/services/database-pool/database-pool.service.ts","./src/app/services/database-standorte/database-standorte.service.ts","./src/app/services/database-urlaub/database-urlaub.service.ts","./src/app/services/debug/debug.ts","./src/app/services/diplay/display.service.ts","./src/app/services/error/error.service.ts","./src/app/services/graph/graph.ts","./src/app/services/loadinganimation/loadinganimation.ts","./src/app/services/menue/menue.service.ts","./src/app/services/navparameter/navparameter.ts","./src/app/services/security/security.service.ts","./src/app/services/tools/tools.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./node_modules/@stencil/core/internal/client/ lazy ^\\.\\/.*\\.entry\\.js.*$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./src/app/app.component.scss","./src/app/components-page/fi-changelog-editor/fi-changelog-editor.component.scss","./src/app/components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.component.scss","./src/app/components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.component.scss","./src/app/components-page/fi-standort-editor/fi-standort-editor.component.scss","./src/app/components/abstand-element-fixed/abstand-element-fixed.component.scss","./src/app/components/alphabet-relative/alphabet-relative.scss","./src/app/components/alphabet/alphabet.scss","./src/app/components/auswahl-dialog/auswahl-dialog.scss","./src/app/components/button-value-date/button-value-date.scss","./src/app/components/button-value/button-value.scss","./src/app/components/checkbox-clon/checkbox-clon.component.scss","./src/app/components/input-clone-keeper/input-clone-keeper.component.scss","./src/app/components/input-clone/input-clone.component.scss","./src/app/components/page-footer/page-footer.scss","./src/app/components/page-header-center/page-header-center.scss","./src/app/components/page-header-menu/page-header-menu.component.scss","./src/app/components/page-header/page-header.scss","./src/app/components/page-modal-keeper/page-modal-keeper.component.scss","./src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.scss","./src/app/pages/common-einstellungen/common-einstellungen.page.scss","./src/app/pages/common-home/common-home.page.scss","./src/app/pages/common-urlaub-einstellungen/common-urlaub-einstellungen.page.scss","./src/app/pages/common-urlaub-freigaben/common-urlaub-freigaben.page.scss","./src/app/pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.page.scss","./src/app/pages/common-urlaub-planung/common-urlaub-planung.page.scss","./src/app/pages/common-urlaub-uebersicht/common-urlaub-uebersicht.page.scss","./src/app/pages/common-wartung/common-wartung.page.scss","./src/app/pages/fi-mitarbeiterliste/fi-mitarbeiterliste.scss","./src/app/pages/fi-standorteliste/fi-standorteliste.scss","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n\n /*\n {\n path: '404', loadChildren: () => import('./pages/common-home/common-home.module').then(m => m.CommonHomePageModule),\n },\n\n */\n {\n path: 'FiStandortelistePage',\n loadChildren: () => import('./pages/fi-standorteliste/fi-standorteliste.module').then(m => m.FiStandortelistePageModule),\n },\n {\n path: 'FiMitarbeiterlistePage',\n loadChildren: () => import('./pages/fi-mitarbeiterliste/fi-mitarbeiterliste.module').then(m => m.FIMitarbeiterlistePageModule),\n },\n {\n path: '',\n loadChildren: () => import('./pages/common-home/common-home.module').then(m => m.CommonHomePageModule),\n },\n {\n path: 'HomePage',\n loadChildren: () => import('./pages/common-home/common-home.module').then(m => m.CommonHomePageModule),\n },\n {\n path: 'WartungPage',\n loadChildren: () => import('./pages/common-wartung/common-wartung.module').then(m => m.CommonWartungPageModule),\n },\n {\n path: 'EinstellungenPage',\n loadChildren: () => import('./pages/common-einstellungen/common-einstellungen.module').then(m => m.CommonEinstellungenPageModule),\n },\n {\n path: 'UrlaubPlanungPage',\n loadChildren: () => import('./pages/common-urlaub-planung/common-urlaub-planung.module').then(m => m.CommonUrlaubsplanungPageModule),\n },\n {\n path: 'UrlaubUebersichtPage',\n loadChildren: () => import('./pages/common-urlaub-uebersicht/common-urlaub-uebersicht.module').then(m => m.CommonUrlaubsuebersichtPageModule),\n },\n {\n path: 'UrlaubsgesamtuebersichtPage',\n loadChildren: () => import('./pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.module').then(m => m.CommonUrlaubsgesamtuebersichtPageModule),\n },\n {\n path: 'UrlaubFreigabenPage',\n loadChildren: () => import('./pages/common-urlaub-freigaben/common-urlaub-freigaben.module').then(m => m.CommonUrlaubFreigabenPageModule),\n },\n {\n path: 'UrlaubEinstellungenPage',\n loadChildren: () => import('./pages/common-urlaub-einstellungen/common-urlaub-einstellungen.module').then(m => m.CommonUrlaubEinstellungenPageModule),\n }\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, useHash: false })\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","import {AfterContentChecked, ChangeDetectorRef, Component, OnDestroy, OnInit} from '@angular/core';\nimport {Platform} from \"@ionic/angular\";\nimport {DebugProvider} from \"./services/debug/debug\";\nimport {DatabasePoolService} from \"./services/database-pool/database-pool.service\";\nimport {MenueService} from \"./services/menue/menue.service\";\nimport {BasicsProvider} from \"./services/basics/basics\";\nimport {DatabaseAuthenticationService} from \"./services/database-authentication/database-authentication.service\";\nimport {ToolsProvider} from \"./services/tools/tools\";\nimport {filter, Subject, Subscription, takeUntil} from \"rxjs\";\nimport {MsalBroadcastService, MsalService} from \"@azure/msal-angular\";\nimport {InteractionStatus} from \"@azure/msal-browser\";\nimport {ConstProvider} from \"./services/const/const\";\nimport {DatabaseMitarbeiterService} from \"./services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {DatabaseStandorteService} from \"./services/database-standorte/database-standorte.service\";\nimport {DatabaseMitarbeitersettingsService} from \"./services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport * as lodash from \"lodash-es\";\nimport {Graphservice} from \"./services/graph/graph\";\nimport {Mitarbeiterstruktur} from \"./dataclasses/mitarbeiterstruktur\";\nimport {DatabaseUrlaubService} from \"./services/database-urlaub/database-urlaub.service\";\nimport {DatabaseAppeinstellungenService} from \"./services/database-appeinstellungen/database-appeinstellungen.service\";\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n styleUrls: ['app.component.scss'],\n})\nexport class AppComponent implements OnInit, OnDestroy, AfterContentChecked {\n\n private readonly Destroying = new Subject();\n public Zoomfaktor: number;\n private Settingssubscription: Subscription;\n\n constructor(private platform: Platform,\n private Pool: DatabasePoolService,\n private Menuservice: MenueService,\n private AuthService: DatabaseAuthenticationService,\n private changeDetector: ChangeDetectorRef,\n private Basics: BasicsProvider,\n private Tools: ToolsProvider,\n private Const: ConstProvider,\n private authService: MsalService,\n private msalBroadcastService: MsalBroadcastService,\n private MitarbeiterDB: DatabaseMitarbeiterService,\n private MitarbeitersettingsDB: DatabaseMitarbeitersettingsService,\n private StandortDB: DatabaseStandorteService,\n private UrlaubDB: DatabaseUrlaubService,\n public GraphService: Graphservice,\n private AppeinstellungenDB: DatabaseAppeinstellungenService,\n private Debug: DebugProvider) {\n try {\n\n this.Zoomfaktor = 100;\n this.Settingssubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Destroying.next(undefined);\n this.Destroying.complete();\n\n this.StandortDB.FinishService();\n this.MitarbeiterDB.FinishService();\n\n this.Settingssubscription.unsubscribe();\n this.Settingssubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Settingssubscription = this.Pool.MitarbeitersettingsChanged.subscribe(() => {\n\n this.Zoomfaktor = this.Pool.Mitarbeitersettings.Zoomfaktor;\n });\n\n if(this.AuthService.SecurityEnabled) {\n\n this.authService.initialize().subscribe(() => {\n\n this.msalBroadcastService.inProgress$\n .pipe(\n filter((status_a: InteractionStatus) => {\n\n this.Debug.ShowMessage('Interaction Status: ' + status_a, 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n return status_a === InteractionStatus.None;\n }),\n takeUntil(this.Destroying)\n )\n .subscribe((status_b: InteractionStatus) => {\n\n this.Debug.ShowMessage('Interaction Status: ' + status_b, 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n this.AuthService.SetShowLoginStatus();\n });\n\n this.AuthService.LoginSuccessEvent.subscribe(() => {\n\n this.Debug.ShowMessage('LoginSuccessEvent -> Start App', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n this.StartApp();\n });\n\n this.StartApp();\n });\n }\n else {\n\n this.StartApp();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n public async StartApp() {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let Page: string;\n\n this.Debug.ShowMessage('Start App', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n await this.platform.ready();\n await this.AuthService.SetActiveUser();\n\n this.Basics.Contentbreite = this.platform.width();\n this.Basics.Contenthoehe = this.platform.height();\n\n if(this.AuthService.ActiveUser !== null) {\n\n // Benutzer ist angemeldet\n\n this.AuthService.SetShowLoginStatus();\n\n this.Debug.ShowMessage('Benutzer ist angemeldet: ' + this.AuthService.ActiveUser.username, 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n this.Pool.ShowProgress = true;\n this.Pool.MaxProgressValue = 8;\n this.Pool.CurrentProgressValue = 0;\n\n try {\n\n if(this.AuthService.SecurityEnabled === true)\n {\n this.Pool.ProgressMessage = 'Lade eigene Daten';\n\n await this.GraphService.GetOwnUserinfo();\n\n this.Pool.CurrentProgressValue++;\n }\n\n if(this.AuthService.SecurityEnabled === true) {\n\n this.Pool.ProgressMessage = 'Lade eigens Bild';\n\n await this.GraphService.GetOwnUserimage();\n\n this.Pool.CurrentProgressValue++;\n }\n\n this.Pool.ProgressMessage = 'Lade Change Log';\n\n await this.Pool.ReadChangelogliste(); // 1\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Standortliste';\n\n await this.Pool.ReadStandorteliste(); // 2\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade aktuelle Mitarbeiterliste';\n\n await this.Pool.ReadMitarbeiterliste(); // 3\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Positionenliste';\n\n await this.Pool.ReadMitarbeiterpositionenliste(); // 4\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Aktuallisiere Mitarbeiterliste';\n\n let Liste = await this.GraphService.GetAllUsers(); // 5\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Bundesländer';\n\n await this.UrlaubDB.ReadRegionen('DE'); // 6\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Ferien Deutschland';\n\n await this.UrlaubDB.ReadFerien('DE'); // 7\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Ferien Bulgarien';\n\n await this.UrlaubDB.ReadFerien('BG'); // 8\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Appp Einstellungen';\n\n await this.AppeinstellungenDB.ReadAppeinstellungen(); // 9\n\n for(let User of Liste) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, (currentmitarbeiter: Mitarbeiterstruktur) => {\n\n return currentmitarbeiter.UserID === User.id;\n });\n\n if(lodash.isUndefined(Mitarbeiter)) {\n\n console.log('Mitarbeiter wurde nicht gefunden:');\n console.log(User);\n\n if(User.mail.toLowerCase().indexOf('admin') === -1) {\n\n Mitarbeiter = this.MitarbeiterDB.ConvertGraphuserToMitarbeiter(User);\n\n console.log('Neuer Mitrabeiter:');\n console.log(Mitarbeiter);\n\n await this.MitarbeiterDB.AddMitarbeiter(Mitarbeiter);\n }\n }\n }\n }\n catch(error) {\n\n console.log('Error happend heer...');\n }\n\n if(this.MitarbeiterDB.CheckMitarbeiterExists(this.GraphService.Graphuser.mail) === false) {\n\n // Mitarbeiter neu Anlegen\n\n\n\n this.Debug.ShowMessage('Mitarbeiter neu eingetragen.', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n Mitarbeiter = this.MitarbeiterDB.ConvertGraphuserToMitarbeiter(this.GraphService.Graphuser);\n\n if(Mitarbeiter.Email !== null) Mitarbeiter = await this.MitarbeiterDB.AddMitarbeiter(Mitarbeiter);\n }\n else {\n\n this.Debug.ShowMessage('Mitarbeiter ist bereits eingetragen.', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {UserID: this.GraphService.Graphuser.id});\n }\n\n // Mitarbeiter ist bereits registriert\n\n this.Pool.Mitarbeiterdaten = this.Pool.InitMitarbeiter(Mitarbeiter); // fehlende Mitarbeiterdaten initialisieren\n this.Pool.CheckMitarbeiterdaten();\n this.UrlaubDB.SetMitarbeiter(this.Pool.Mitarbeiterdaten);\n\n this.Pool.ProgressMessage = 'Lade Feiertage Deutschland';\n\n await this.UrlaubDB.ReadFeiertage('DE');\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Feiertage Bulgarien';\n\n await this.UrlaubDB.ReadFeiertage('BG');\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Einstellungen';\n\n await this.Pool.ReadSettingsliste();\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Syncronisiere Gesamtprojektliste';\n\n this.Pool.Mitarbeitersettings = this.Pool.InitMitarbeitersettings(); // fehlende Settingseintraege initialisieren\n\n this.Pool.ProgressMessage = 'Aktualisiere Mitarbeitereinstellungen';\n\n await this.MitarbeitersettingsDB.SaveMitarbeitersettings();\n\n this.Pool.CurrentProgressValue++;\n\n this.Zoomfaktor = this.Pool.Mitarbeitersettings.Zoomfaktor;\n\n this.Pool.MitarbeitersettingsChanged.emit();\n\n if(this.Pool.Mitarbeiterdaten.SettingsID === null) {\n\n this.Pool.Mitarbeiterdaten.SettingsID = this.Pool.Mitarbeitersettings._id;\n\n await this.MitarbeiterDB.UpdateMitarbeiter(this.Pool.Mitarbeiterdaten);\n }\n\n this.MitarbeiterDB.InitService();\n this.StandortDB.InitService();\n\n this.Pool.ShowProgress = false;\n\n if(this.Pool.Mitarbeiterdaten.Planeradministrator === true) {\n\n Page = this.Pool.Appeinstellungen.AdminStartseite;\n }\n else {\n\n if(this.Pool.Appeinstellungen.Wartungsmodus === true) Page = this.Const.Pages.WartungPage;\n else Page = this.Const.Pages.UrlaubPlanungPage;\n }\n\n this.Pool.ProjektdatenLoaded = true;\n\n this.SetProjekteMenuebereich(Page);\n\n this.Tools.SetRootPage(Page).then(() => {\n\n this.Pool.LoadingAllDataFinished.emit();\n });\n\n }\n else {\n\n // Benutzer ist nicht angemeldet -> der Login wird angezeigt\n\n this.AuthService.SetShowLoginStatus();\n\n this.Debug.ShowMessage('Benutzer ist nicht angemeldet', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'StartApp', this.Debug.Typen.Component);\n }\n }\n\n SetProjekteMenuebereich(Page: string) {\n\n try {\n\n switch (Page) {\n\n case this.Const.Pages.HomePage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Home;\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n\n break;\n\n case this.Const.Pages.EmaillistePage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Email;\n\n\n break;\n\n case this.Const.Pages.UrlaubPlanungPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Planung;\n\n break;\n\n case this.Const.Pages.UrlaubUebersichtPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Uebersicht;\n\n break;\n\n case this.Const.Pages.UrlaubsgesamtuebersichtPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Gesamtplanung;\n\n break;\n\n case this.Const.Pages.UrlaubFreigabenPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Freigaben;\n\n break;\n\n case this.Const.Pages.UrlaubEinstellungenPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Einstellungen;\n\n break;\n\n default:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Projekte;\n\n break;\n\n }\n\n switch (Page) {\n\n case this.Const.Pages.PjAufgabenlistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n\n break;\n\n case this.Const.Pages.PjProtokolleListePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Protokolle;\n\n break;\n\n case this.Const.Pages.PjBaustelleLoplistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.LOPListe;\n\n break;\n\n case this.Const.Pages.PjBaustelleTagebuchlistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Bautagebuch;\n\n break;\n\n case this.Const.Pages.PjFestlegungslistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Festlegungen;\n\n break;\n\n case this.Const.Pages.PjPlanungsmatrixPage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Planungsmatrix;\n\n break;\n\n case this.Const.Pages.PjSimontabellelistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Simontabelle;\n\n break;\n\n case this.Const.Pages.PjNotizenListePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Notizen;\n\n break;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'App Component', 'function', this.Debug.Typen.Component);\n }\n }\n\n ngAfterContentChecked(): void {\n\n this.changeDetector.detectChanges();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'ngAfterContentChecked', this.Debug.Typen.Component);\n }\n }\n}\n","\nimport { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { IonicModule } from '@ionic/angular';\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './app-routing.module';\nimport {ToolsProvider} from \"./services/tools/tools\";\nimport {DebugProvider} from \"./services/debug/debug\";\nimport {ConstProvider} from \"./services/const/const\";\nimport {BasicsProvider} from \"./services/basics/basics\";\nimport {LoadingAnimationService} from \"./services/loadinganimation/loadinganimation\";\nimport {MenueService} from \"./services/menue/menue.service\";\nimport {DisplayService} from \"./services/diplay/display.service\";\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\nimport {HTTP_INTERCEPTORS, HttpClientModule} from \"@angular/common/http\";\nimport {\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MSAL_INTERCEPTOR_CONFIG,\n MsalBroadcastService, MsalGuard,\n MsalGuardConfiguration,\n MsalInterceptor,\n MsalInterceptorConfiguration,\n MsalModule,\n MsalRedirectComponent,\n MsalService\n} from \"@azure/msal-angular\";\nimport {BrowserCacheLocation, InteractionType, IPublicClientApplication, LogLevel, PublicClientApplication} from \"@azure/msal-browser\";\nimport {environment} from \"../environments/environment\";\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport {HashLocationStrategy, LocationStrategy} from \"@angular/common\";\n\nconst appurl: string = environment.production === false ? 'http://localhost:4200' : 'https://polite-cliff-084832d03.4.azurestaticapps.net';\n\n// !! Server URL auch in Pool service anpassen\n\nconst serverurl: string = environment.production === false && environment.useonlinedb === false ? 'http://localhost:8080' : 'bae-urlaubsplaner-server.azurewebsites.net';\nconst dockerurl: string = environment.production === false && environment.useonlinedb === false ? 'http://localhost:80' : 'bae-urlaubsplaner-docker.azurewebsites.net';\n\nconst MandantenID: string = '8870822d-b5ee-4a63-b4ea-7147f0ee753d';\nconst clientappregistration: string = 'e85e5489-e9fd-4d10-b6aa-37be3ce084b6'; // Login funktioniert mit peter.hornburger\nconst clientserverregistration: string = 'ca7568f7-4672-4348-843b-b80b210d692f';\nconst clientdockerregistration: string = '0caad6ac-8087-46ce-99ca-690c083121a8';\n\n// GITHUB Account\n// Benutzername: peter.hornburger@b-a-e.eu\n// Passwort: Spekyland4##\n\n// Azure Account\n// Benutzername: urlaubsplaner@b-a-e.eu\n// Passwort: Q@699025237410ut\n\n// AZURE MOngo DB\n\n// Collection Indexes\n// projekte Projektname\n// mitarbeiter Name\n\n/*\n\n Speichern der aktuellen Aufgabe bei der Ansicht alle ist falsch. Current Projekt muss geändert werden.\n\nBenutzer ist nicht angemeldet -> Meldung suchen. Im BAE muss ich mich jeden Tag neu anmedlen bzw. LOGIN wird nicht gezeigt.\n\nBautagebuch Editor ist zu groß. Automatische Höhe anwenden.\n\nTerminauswahl Kalenderfarben anpassen.\n\n\n */\n\n\n\nconst isIE = window.navigator.userAgent.indexOf(\"MSIE \") > -1 || window.navigator.userAgent.indexOf(\"Trident/\") > -1;\n\nconst loggerCallback = (logLevel: LogLevel, message: string) => {\n console.log(message);\n};\n\nexport const MSALInstanceFactory = (): IPublicClientApplication => {\n\n return new PublicClientApplication({\n auth: {\n clientId: clientappregistration,\n authority: 'https://login.microsoftonline.com/' + MandantenID,\n redirectUri: appurl,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: isIE, // set to true for IE 11\n },\n system: {\n loggerOptions: {\n loggerCallback,\n logLevel: LogLevel.Error,\n piiLoggingEnabled: false\n }\n }\n });\n};\n\nconst MSALInterceptorConfigFactory = () : MsalInterceptorConfiguration => {\n const protectedResourceMap = new Map>();\n protectedResourceMap.set('https://graph.microsoft.com/v1.0/me', ['user.read']);\n protectedResourceMap.set(dockerurl, ['api://' + clientdockerregistration + '/database_access']);\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap\n };\n};\n\n/*\n 'Calendars.Read',\n 'Calendars.Read.Shared',\n 'Calendars.ReadBasic',\n 'Calendars.ReadWrite',\n 'Calendars.ReadWrite.Shared',\n 'Contacts.ReadWrite',\n 'Mail.Read',\n 'Files.Read',\n 'Sites.ReadWrite.All',\n 'Mail.ReadBasic',\n 'Mail.ReadWrite',\n 'Mail.Send',\n 'MailboxSettings.Read',\n 'MailboxSettings.ReadWrite',\n 'User.ReadBasic.All',\n */\n\nconst MSALGuardConfigFactory = (): MsalGuardConfiguration => {\n return {\n interactionType: InteractionType.Redirect,\n authRequest: {\n scopes: [\n 'User.Read',\n 'offline_access',\n 'openid',\n 'profile',\n 'email',\n 'Mail.Send',\n 'User.ReadBasic.All',\n\n ], // Alle scopes für Tokenabrufe (Auth Service Funktion: RequestToken) müssen hier eingetragen werden\n },\n };\n};\n\n\n// originalKeywordKind -> identifierToKeywordKind(identifier)\n\n@NgModule({\n declarations: [\n AppComponent,\n ],\n imports: [\n BrowserModule,\n IonicModule.forRoot({\n innerHTMLTemplatesEnabled: true\n }),\n AppRoutingModule,\n BrowserAnimationsModule,\n HttpClientModule,\n MsalModule,\n FontAwesomeModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MsalInterceptor,\n multi: true\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory\n },\n {provide: LocationStrategy, useClass: HashLocationStrategy},\n MsalService,\n MsalGuard,\n MsalBroadcastService,\n ToolsProvider,\n DebugProvider,\n ConstProvider,\n BasicsProvider,\n MenueService,\n LoadingAnimationService,\n DisplayService\n ],\n bootstrap: [AppComponent, MsalRedirectComponent],\n exports: [\n\n ]\n})\nexport class AppModule {}\n","import {\n AfterViewInit,\n Component,\n EventEmitter, Input, OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {HttpErrorResponse} from \"@angular/common/http\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport * as Joi from \"joi\";\nimport {ObjectSchema} from \"joi\";\nimport {DatabaseChangelogService} from \"../../services/database-changelog/database-changelog.service\";\nimport {Moment} from 'moment';\nimport moment from 'moment';\n\n@Component({\n selector: 'fi-changelog-editor',\n templateUrl: './fi-changelog-editor.component.html',\n styleUrls: ['./fi-changelog-editor.component.scss'],\n})\n\nexport class FiChangelogEditorComponent implements OnInit, OnDestroy, AfterViewInit {\n\n public Valid: boolean;\n public CanDelete: boolean;\n private JoiShema: ObjectSchema;\n\n @Output() ValidChange = new EventEmitter();\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n @Output() DeleteClickedEvent = new EventEmitter();\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() Dialoghoehe: number;\n @Input() PositionY: number;\n @Input() ZIndex: number;\n\n constructor(public Debug: DebugProvider,\n public Displayservice: DisplayService,\n public Const: ConstProvider,\n private Tools: ToolsProvider,\n public DB: DatabaseChangelogService) {\n\n try {\n\n this.Valid = true;\n this.Valid = true;\n this.Titel = 'Change Log bearbeiten';\n this.Iconname = 'location-outline';\n this.Dialogbreite = 400;\n this.Dialoghoehe = 300;\n this.PositionY = 100;\n this.ZIndex = 2000;\n this.CanDelete = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Changelogeditor);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n private SetupValidation() {\n\n try {\n\n\n this.JoiShema = Joi.object({\n\n Beschreibung: Joi.string().required().max(100),\n\n }).options({ stripUnknown: true });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'SetupValidation', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.SetupValidation();\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Changelogeditor, this.ZIndex);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n ValidateInput() {\n\n try {\n\n let Result = this.JoiShema.validate(this.DB.CurrentChangelog);\n\n if(Result.error) this.Valid = false;\n else this.Valid = true;\n\n this.ValidChange.emit(this.Valid);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'ValidateInput', this.Debug.Typen.Component);\n }\n }\n\n TextChanged(event: { Titel: string; Text: string; Valid: boolean }) {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'TextChanged', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n\n CancelButtonClicked() {\n\n // this.ResetEditor();\n\n this.CancelClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n DeleteButtonClicked() {\n\n try {\n\n if(this.CanDelete) {\n\n this.DB.DeleteChangelog().then(() => {\n\n this.DeleteClickedEvent.emit();\n\n }).catch((exception: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(exception.error.message);\n });\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'DeleteButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n try {\n\n debugger;\n\n if(this.DB.CurrentChangelog._id === null) {\n\n this.DB.AddChangelog().then((result: any) => {\n\n this.OkClickedEvent.emit();\n\n }).catch((error: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(error.error);\n\n });\n }\n else {\n\n this.DB.UpdateChangelog().then(() => {\n\n\n this.OkClickedEvent.emit();\n\n }).catch((exception: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(exception.error.message);\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n CanDeleteCheckedChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.CanDelete = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'CanDeleteCheckedChanged', this.Debug.Typen.Component);\n }\n\n }\n\n GetDatum(): string {\n\n try {\n\n let Datum: Moment = moment(this.DB.CurrentChangelog.Zeitstempel);\n\n return Datum.format('DD.MM.YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Changelog Editor', 'GetDatum', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {FiChangelogEditorComponent} from \"./fi-changelog-editor.component\";\nimport {InputCloneModule} from \"../../components/input-clone/input-clone.module\";\nimport {InputCloneKeeperModule} from \"../../components/input-clone-keeper/input-clone-keeper.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\n\n@NgModule({\n declarations: [\n\n FiChangelogEditorComponent\n ],\n exports: [\n\n FiChangelogEditorComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n InputCloneModule,\n InputCloneKeeperModule,\n AbstandElementFixedModule,\n PageHeaderModule,\n CheckboxClonModule,\n PageFooterModule,\n ],\n providers: [\n\n ]\n})\nexport class FiChangelogEditorModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {AlphabetComponent} from \"../../components/alphabet/alphabet\";\nimport * as lodash from \"lodash-es\";\nimport {Subscription} from \"rxjs\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport {loadFromPath} from \"@ionic/cli/lib/ssh-config\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\n\n@Component({\n selector: 'fi-mitarbeiter-auswahl',\n templateUrl: './fi-mitarbeiter-auswahl.component.html',\n styleUrls: ['./fi-mitarbeiter-auswahl.component.scss'],\n})\nexport class FiMitarbeiterAuswahlComponent implements OnInit, OnDestroy {\n\n @ViewChild('SmallAlphabet', { static: true }) Alphabetcomponent: AlphabetComponent;\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() AuswahlIDliste: string[];\n @Input() Multiselect: boolean;\n @Input() Dialogbreite: number;\n @Input() ZIndex: number;\n @Input() OnlyProjektmitarbeiter: boolean;\n @Input() BlockCurrentMitarbeiter: boolean;\n\n\n\n @Output() OkClickedEvent = new EventEmitter();\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() StandortfilterClickedEvent = new EventEmitter();\n\n public Anzeigeliste: Mitarbeiterstruktur[];\n public Mitarbeiterbuchstabenliste: string[];\n public Standardalphabet: string[];\n public Mitarbeiteralphabet: string[];\n public Mitarbeiteralphabetauswahl: string;\n public Alphapetbreite: number;\n public Lastletter: string;\n public Mitarbeiterfiltertext: string;\n public Mitarbeiterliste: Mitarbeiterstruktur[];\n private FilterSubscription: Subscription;\n public PositionY: number;\n public AuswahlIDListeSicherung: string[];\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public DBStandort: DatabaseStandorteService,\n public Const: ConstProvider,\n private DBUrlaub: DatabaseUrlaubService,\n public Displayservice: DisplayService,\n private Pool: DatabasePoolService) {\n\n try {\n\n this.AuswahlIDliste = [];\n this.Mitarbeiterbuchstabenliste = [];\n this.Standardalphabet = ['Alle', 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J', 'K','L', 'M', 'N', 'O', 'P', 'Q','R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z'];\n this.Mitarbeiteralphabetauswahl = 'Alle';\n this.Mitarbeiteralphabet = this.Standardalphabet;\n this.Alphapetbreite = 44;\n this.Mitarbeiterfiltertext = '';\n this.Multiselect = false;\n this.Titel = this.Const.NONE;\n this.Iconname = 'people-outline';\n this.Dialogbreite = 400;\n this.PositionY = 100;\n this.ZIndex = 3000;\n this.Mitarbeiterliste = [];\n this.FilterSubscription = null;\n this.OnlyProjektmitarbeiter = true;\n this.BlockCurrentMitarbeiter = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy() {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Mitarbeiterauswahl);\n\n this.FilterSubscription.unsubscribe();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n private InitTitel() {\n\n try {\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'file', 'function', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.AuswahlIDListeSicherung = lodash.cloneDeep(this.AuswahlIDliste);\n\n if(this.Alphabetcomponent) this.Alphabetcomponent.InitScreen();\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Mitarbeiterauswahl, this.ZIndex);\n\n this.FilterSubscription = this.DBStandort.StandortfilterChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'function', this.Debug.Typen.Component);\n }\n }\n\n private PrepareDaten() {\n\n try {\n\n let Liste: Mitarbeiterstruktur[];\n let Merker: Mitarbeiterstruktur[];\n let Buchstabe: string;\n let Laenge: number;\n let TeilA: string;\n let TeilB: string;\n let TeilC: string;\n let Teillaenge: number;\n let PosA: number;\n let Solltext: string;\n let Suchtext: string;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n if(this.Pool.Mitarbeiterliste !== null) {\n\n this.Lastletter = '';\n this.Mitarbeiterliste = [];\n\n // Nach Namen sortieren\n\n if(this.OnlyProjektmitarbeiter) {\n\n /*\n\n if(this.DB.CurrentProjekt !== null) {\n\n for(let id of this.DB.CurrentProjekt.MitarbeiterIDListe) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: id});\n\n if(!lodash.isUndefined(Mitarbeiter)) this.Mitarbeiterliste.push(Mitarbeiter);\n }\n }\n\n */\n }\n else {\n\n this.Mitarbeiterliste = lodash.cloneDeep(this.Pool.Mitarbeiterliste);\n }\n\n Liste = lodash.cloneDeep(this.Mitarbeiterliste);\n Liste = lodash.filter(Liste, (currentmit: Mitarbeiterstruktur) => {\n\n return currentmit.Archiviert === false;\n });\n\n Liste.sort( (a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n if(this.BlockCurrentMitarbeiter && this.DBUrlaub.CurrentMitarbeiter !== null) {\n\n Liste = lodash.filter(Liste, (currentmit: Mitarbeiterstruktur) => {\n\n return currentmit._id !== this.DBUrlaub.CurrentMitarbeiter._id;\n });\n }\n\n // Standort Filter anwenden\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n if(Eintrag.StandortID === this.DBStandort.CurrentStandortfilter._id) Liste.push(Eintrag);\n }\n }\n\n // Mitarbeiteralphabetauswahl Buchstaben festlegen\n\n if(Liste.length > 6) {\n\n this.Mitarbeiteralphabet = ['Alle'];\n\n for(let Eintrag of Liste) {\n\n Buchstabe = Eintrag.Name.substring(0, 1).toUpperCase();\n\n if(this.Mitarbeiteralphabet.indexOf(Buchstabe) === -1) this.Mitarbeiteralphabet.push(Buchstabe);\n }\n } else {\n\n this.Mitarbeiteralphabet = this.Standardalphabet;\n }\n\n // Alphabetfilter anwenden\n\n if(this.Mitarbeiteralphabetauswahl !== 'Alle') {\n\n Merker = lodash.cloneDeep(Liste);\n\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Buchstabe = Eintrag.Name.substring(0, 1).toUpperCase();\n\n Buchstabe = Buchstabe === 'Ä' ? 'A' : Buchstabe;\n Buchstabe = Buchstabe === 'Ö' ? 'O' : Buchstabe;\n Buchstabe = Buchstabe === 'Ãœ' ? 'U' : Buchstabe;\n\n if(this.Mitarbeiteralphabetauswahl === Buchstabe) Liste.push(Eintrag);\n }\n }\n\n // Suche Mitarbeiterfilter anwenden\n\n if(this.Mitarbeiterfiltertext !== '') {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Solltext = this.Mitarbeiterfiltertext.toLowerCase();\n Suchtext = Eintrag.Name.toLowerCase();\n PosA = Suchtext.indexOf(Solltext);\n\n if(PosA !== -1) {\n\n Laenge = Eintrag.Name.length;\n Teillaenge = Solltext.length;\n TeilA = Eintrag.Name.substr(0, PosA);\n TeilB = Eintrag.Name.substr(PosA, Teillaenge);\n Teillaenge = Laenge - Teillaenge - PosA;\n TeilC = Eintrag.Name.substr(Laenge - Teillaenge, Teillaenge);\n\n Eintrag.Filtered = true;\n Eintrag.Text_A = TeilA;\n Eintrag.Text_B = TeilB;\n Eintrag.Text_C = TeilC;\n\n Liste.push(Eintrag);\n }\n }\n }\n\n // Buchstabenliste festlegen\n\n this.Mitarbeiterbuchstabenliste = [];\n\n for(let Eintrag of Liste) {\n\n this.Mitarbeiterbuchstabenliste.push(this.GetMitarbeiterAlphabetbuchstabe(Eintrag));\n }\n\n // Alle Auswahlen entfernen\n\n for(Mitarbeiter of Liste) {\n\n Mitarbeiter.Selected = false;\n }\n\n // Auswahl festlegen\n\n for(let MitarbeiterID of this.AuswahlIDliste) {\n\n Mitarbeiter = lodash.find(Liste, {_id: MitarbeiterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) Mitarbeiter.Selected = true;\n }\n\n this.Anzeigeliste = lodash.cloneDeep(Liste);\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'PrepareDaten', this.Debug.Typen.Component);\n }\n }\n\n private GetMitarbeiterAlphabetbuchstabe(value: Mitarbeiterstruktur) {\n\n try {\n\n let Buchstabe: string = value.Name.substring(0, 1).toUpperCase();\n\n if(Buchstabe !== this.Lastletter) {\n\n this.Lastletter = Buchstabe;\n\n return Buchstabe;\n }\n else {\n\n return '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'GetMitarbeiterAlphabetbuchstabe', this.Debug.Typen.Component);\n }\n }\n\n\n MitrabeiterButtonClicked(Mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'MitrabeiterButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n AlphabetClicked(buchstabe: string) {\n\n try {\n\n this.Mitarbeiterfiltertext = '';\n this.Mitarbeiteralphabetauswahl = buchstabe;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'AlphabetClicked', this.Debug.Typen.Component);\n }\n\n }\n\n CheckedChanged(result: { status: boolean; index: number; event: any }) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n\n if(this.Multiselect === false) {\n\n for(Mitarbeiter of this.Mitarbeiterliste) {\n\n Mitarbeiter.Selected = false;\n }\n\n for(Mitarbeiter of this.Anzeigeliste) {\n\n Mitarbeiter.Selected = false;\n }\n }\n\n // Anpassung in der Gesamtliste\n\n Mitarbeiter = lodash.find(this.Mitarbeiterliste, {_id: this.Anzeigeliste[result.index]._id});\n\n if(!lodash.isUndefined(Mitarbeiter)) {\n\n Mitarbeiter.Selected = result.status;\n\n\n if(result.status === true) {\n\n this.AuswahlIDliste.push(Mitarbeiter._id);\n }\n else {\n\n this.AuswahlIDliste = lodash.filter(this.AuswahlIDliste, (id: string) => {\n\n return id !== Mitarbeiter._id;\n });\n }\n }\n\n // Anpassung in der Anzeigeliste\n\n this.Anzeigeliste[result.index].Selected = result.status;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'CheckedChanged', this.Debug.Typen.Component);\n }\n }\n\n CancelButtonClicked() {\n\n this.CancelClickedEvent.emit();\n\n try {\n\n this.AuswahlIDliste = lodash.cloneDeep(this.AuswahlIDListeSicherung);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n /*\n let IDListe: string[] = [];\n\n for(let Mitarbeiter of this.Anzeigeliste) {\n\n if(!lodash.isUndefined(Mitarbeiter.Selected) && Mitarbeiter.Selected === true) {\n\n this.A.push(Mitarbeiter._id);\n }\n }\n\n */\n\n this.OkClickedEvent.emit(this.AuswahlIDliste);\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n\n StandortfilterButtonClicked() {\n\n try {\n\n this.StandortfilterClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'StandortfilterButtonClicked', this.Debug.Typen.Component);\n }\n\n }\n\n GetStandortfiller(): string {\n\n try {\n\n if(this.DBStandort.CurrentStandortfilter === null) return 'kein Standortfilter';\n else return this.DBStandort.CurrentStandortfilter.Kuerzel + ' / ' + this.DBStandort.CurrentStandortfilter.Standort;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'GetStandortfiller', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {InputCloneModule} from \"../../components/input-clone/input-clone.module\";\nimport {InputCloneKeeperModule} from \"../../components/input-clone-keeper/input-clone-keeper.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterAuswahlComponent} from \"./fi-mitarbeiter-auswahl.component\";\nimport {AlphabetModule} from \"../../components/alphabet/alphabet.module\";\nimport {AlphabetRelativeModule} from \"../../components/alphabet-relative/alphabet-relative.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\n\n@NgModule({\n declarations: [\n\n FiMitarbeiterAuswahlComponent\n ],\n exports: [\n\n FiMitarbeiterAuswahlComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n InputCloneModule,\n InputCloneKeeperModule,\n AbstandElementFixedModule,\n CheckboxClonModule,\n AlphabetModule,\n AlphabetRelativeModule,\n PageHeaderModule,\n PageFooterModule\n ],\n providers: [\n\n ]\n})\nexport class FiMitarbeiterAuswahlModule {}\n","import { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport * as Joi from \"joi\";\nimport {ObjectSchema} from \"joi\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {Teamsstruktur} from \"../../dataclasses/teamsstruktur\";\nimport * as lodash from \"lodash-es\";\nimport {Mitarbeiterpositionstruktur} from \"../../dataclasses/mitarbeiterpositionstruktur\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\n\n@Component({\n selector: 'fi-mitarbeiter-editor',\n templateUrl: './fi-mitarbeiter-editor.component.html',\n styleUrls: ['./fi-mitarbeiter-editor.component.scss'],\n})\n\nexport class FiMitarbeiterEditorComponent implements OnInit, OnDestroy, AfterViewInit {\n\n public Valid: boolean;\n\n @Output() ValidChanged = new EventEmitter();\n @Output() StandortClickedEvent = new EventEmitter();\n @Output() AnredeClickedEvent = new EventEmitter();\n @Output() UrlaubClickedEvent = new EventEmitter();\n // @Output() FachbereichClickedEvent = new EventEmitter();\n @Output() PositionClickedEvent = new EventEmitter();\n\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n @Output() ErrorEvent = new EventEmitter();\n @Output() ResturlaubEvent = new EventEmitter();\n\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() ZIndex: number;\n @Input() SkipOkButtonAction: boolean;\n @Input() EmailinputEnabled: boolean;\n\n public DeleteEnabled: boolean;\n public Teamsliste: Teamsstruktur[];\n private JoiShema: ObjectSchema;\n public ErrorMessage: string;\n public PositionY: number;\n public Bereich: string;\n public AddNewPosition: boolean;\n public EditPosition: boolean;\n public Bereiche = {\n\n Allgemein: 'Allgemein',\n Positionen: 'Positionen'\n };\n\n constructor(public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Pool: DatabasePoolService,\n public Const: ConstProvider,\n public Basics: BasicsProvider,\n public Displayservice: DisplayService,\n public StandortDB: DatabaseStandorteService,\n public UrlaubDB: DatabaseUrlaubService,\n public DB: DatabaseMitarbeiterService) {\n\n try {\n\n this.Valid = true;\n this.DeleteEnabled = false;\n this.Titel = this.Const.NONE;\n this.Iconname = 'help-circle-outline';\n this.Dialogbreite = 400;\n this.PositionY = 100;\n this.ZIndex = 2000;\n this.SkipOkButtonAction = false;\n this.EmailinputEnabled = true;\n this.Teamsliste = [];\n this.ErrorMessage = null;\n this.AddNewPosition = false;\n this.EditPosition = false;\n this.Bereich = this.Bereiche.Allgemein;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Mitarbeitereditor);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n private ResetEditor() {\n\n try {\n\n this.DeleteEnabled = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'ResetEditor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.SetupValidation();\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Mitarbeitereditor, this.ZIndex);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n private SetupValidation() {\n\n try {\n\n\n this.JoiShema = Joi.object({\n\n Name: Joi.string().required().max(100),\n Vorname: Joi.string().required().max(100),\n Kuerzel: Joi.string().required().min(3).max(10),\n Email: Joi.string().required().max(255).email({ tlds: { allow: false } }).required(),\n\n }).options({ stripUnknown: true });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'SetupValidation', this.Debug.Typen.Component);\n }\n }\n\n ValidateInput() {\n\n try {\n\n let Result = this.JoiShema.validate(this.DB.CurrentMitarbeiter);\n\n if(Result.error) this.Valid = false;\n else this.Valid = true;\n\n if(this.DB.CurrentMitarbeiter.StandortID === '') this.Valid = false;\n\n // if(this.Pool.Mitarbeiterdaten === null || this.Pool.Mitarbeiterdaten.Planeradministrator === false) this.Valid = false;\n\n this.ValidChanged.emit(this.Valid);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'ValidateInput', this.Debug.Typen.Component);\n }\n }\n\n TextChanged(event: { Titel: string; Text: string; Valid: boolean }) {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'TextChanged', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n this.ValidateInput();\n\n /*\n\n this.GraphService.GetOtherUserteams(this.DB.CurrentMitarbeiter.Email).then((teamsliste: Teamsstruktur[]) => {\n\n this.Teamsliste = teamsliste;\n\n }).catch((error: any) => {\n\n this.ErrorMessage = error.error;\n });\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n StandortClicked() {\n\n try {\n\n this.StandortClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'StandortClicked', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n FachbereichClicked() {\n\n try {\n\n this.FachbereichClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'FachbereichClicked', this.Debug.Typen.Component);\n }\n }\n\n */\n\n LoeschenCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DeleteEnabled = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'LoeschenCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n CancelButtonClicked() {\n\n this.ResetEditor();\n\n this.CancelClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n if(this.SkipOkButtonAction) {\n\n this.OkClickedEvent.emit();\n }\n else {\n\n if(this.DB.CurrentMitarbeiter._id === null) {\n\n this.DB.AddMitarbeiter(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ResetEditor();\n\n this.OkClickedEvent.emit();\n\n }).catch((errora) => {\n\n this.Debug.ShowErrorMessage(errora, 'Mitarbeiter Editor', 'OkButtonClicked / AddMitarbeiter', this.Debug.Typen.Component);\n });\n }\n else {\n\n this.DB.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ResetEditor();\n\n this.OkClickedEvent.emit();\n\n }).catch((errorb) => {\n\n this.Debug.ShowErrorMessage(errorb, 'Mitarbeiter Editor', 'OkButtonClicked / UpdateMitarbeiter', this.Debug.Typen.Component);\n });\n }\n }\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n ArchivierenCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DB.CurrentMitarbeiter.Archiviert = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'ArchivierenCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n\n\n HomeofficefreigabenCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DB.CurrentMitarbeiter.Homeofficefreigaben = event.status;\n\n if(event.status === false) this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'HomeofficefreigabenCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n\n PlaneradministratorCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DB.CurrentMitarbeiter.Planeradministrator = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PlaneradministratorCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n UrlaubsfreigabenCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DB.CurrentMitarbeiter.Urlaubsfreigaben = event.status;\n\n if(event.status === false) this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'UrlaubsfreigabenCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n GetAnrede(): string {\n\n try {\n\n if(this.DB.CurrentMitarbeiter !== null) {\n\n if(this.DB.CurrentMitarbeiter.Anrede === this.Const.NONE) return 'unbekannt';\n else return this.DB.CurrentMitarbeiter.Anrede;\n }\n else return 'null';\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'function', this.Debug.Typen.Component);\n }\n }\n\n UrlaubsfreigabeChecked(id) {\n\n try {\n\n return lodash.indexOf(this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte, id) !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'UrlaubsfreigabeChecked', this.Debug.Typen.Page);\n }\n }\n\n UrlaubsfreigabeChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n if(event.status === true) {\n\n this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte.push(event.value);\n }\n else {\n\n this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte = lodash.filter(this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte, (id) => {\n\n return id !== event.value;\n });\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'UrlaubsfreigabeChanged', this.Debug.Typen.Component);\n }\n }\n\n HomeofficefreigabeChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n if(event.status === true) {\n\n this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte.push(event.value);\n }\n else {\n\n this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte = lodash.filter(this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte, (id) => {\n\n return id !== event.value;\n });\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'HomeofficefreigabeChanged', this.Debug.Typen.Component);\n }\n }\n\n HomeofficefreigabeChecked(id: string) {\n\n try {\n\n return lodash.indexOf(this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte, id) !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'HomeofficefreigabeChecked', this.Debug.Typen.Component);\n }\n }\n\n\n AllgemeinMenuButtonClicked() {\n\n try {\n\n this.Bereich = this.Bereiche.Allgemein;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'AllgemeinMenuButtonClicked', this.Debug.Typen.Component);\n }\n\n }\n\n PositionenMenuButtonClicked() {\n\n try {\n\n this.Bereich = this.Bereiche.Positionen;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionenMenuButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n NeuePositionButtonClicked() {\n\n try {\n\n this.AddNewPosition = true;\n this.DB.CurrentPosition = this.DB.GetEmptyMitarbeiterposition();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'NeuePositionButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n NewPositionTextChanged(event: { Titel: string; Text: string; Valid: boolean }) {\n\n try {\n\n this.DB.CurrentPosition.Bezeichnung = event.Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'NewPositionTextChanged', this.Debug.Typen.Component);\n }\n }\n\n async PositionOkButtonClicked() {\n\n try {\n\n if(this.AddNewPosition) {\n\n await this.DB.AddMitarbeiterposition(this.DB.CurrentPosition);\n\n this.AddNewPosition = false;\n this.DB.CurrentPosition = null;\n }\n\n if(this.EditPosition) {\n\n await this.DB.UpdateMitarbeiterposition(this.DB.CurrentPosition);\n\n this.EditPosition = false;\n this.DB.CurrentPosition = null;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionOkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n PositionCancelButtonClicked() {\n\n try {\n\n if(this.AddNewPosition) {\n\n this.AddNewPosition = false;\n this.DB.CurrentPosition = null;\n }\n\n if(this.EditPosition) {\n\n this.EditPosition = false;\n this.DB.CurrentPosition = null;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionCancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n PositionButtonClicked(Position: Mitarbeiterpositionstruktur) {\n\n try {\n\n if(!this.EditPosition && !this.AddNewPosition) {\n\n this.DB.CurrentPosition = lodash.cloneDeep(Position);\n this.EditPosition = true;\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n PositionClicked() {\n\n try {\n\n this.PositionClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionClicked', this.Debug.Typen.Component);\n }\n\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {FiMitarbeiterEditorComponent} from \"./fi-mitarbeiter-editor.component\";\nimport {InputCloneModule} from \"../../components/input-clone/input-clone.module\";\nimport {InputCloneKeeperModule} from \"../../components/input-clone-keeper/input-clone-keeper.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\n\n@NgModule({\n declarations: [\n\n FiMitarbeiterEditorComponent\n ],\n exports: [\n\n FiMitarbeiterEditorComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n InputCloneModule,\n InputCloneKeeperModule,\n AbstandElementFixedModule,\n CheckboxClonModule,\n PageHeaderModule,\n PageFooterModule,\n ButtonValueModule\n ],\n providers: [\n\n ]\n})\nexport class FiMitarbeiterEditorModule {}\n","import {\n AfterViewInit,\n Component,\n EventEmitter, Input, OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {InputCloneComponent} from \"../../components/input-clone/input-clone.component\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {HttpErrorResponse} from \"@angular/common/http\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport * as Joi from \"joi\";\nimport * as lodash from \"lodash-es\";\nimport {ObjectSchema} from \"joi\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {Regionenstruktur} from \"../../dataclasses/regionenstruktur\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\n\n@Component({\n selector: 'fi-standort-editor',\n templateUrl: './fi-standort-editor.component.html',\n styleUrls: ['./fi-standort-editor.component.scss'],\n})\n\nexport class FiStandortEditorComponent implements OnInit, OnDestroy, AfterViewInit {\n\n public Valid: boolean;\n public CanDelete: boolean;\n private JoiShema: ObjectSchema;\n\n @Output() ValidChange = new EventEmitter();\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n @Output() DeleteClickedEvent = new EventEmitter();\n @Output() LandClickedEvent = new EventEmitter();\n @Output() BundeslandClickedEvent = new EventEmitter();\n @Output() KonfessionClickedEvent = new EventEmitter();\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() Dialoghoehe: number;\n @Input() PositionY: number;\n @Input() ZIndex: number;\n\n constructor(public Debug: DebugProvider,\n public Displayservice: DisplayService,\n public Const: ConstProvider,\n private Tools: ToolsProvider,\n public Pool: DatabasePoolService,\n private DBUrlaub: DatabaseUrlaubService,\n public DBMitarbeiter: DatabaseMitarbeiterService,\n public DB: DatabaseStandorteService) {\n\n try {\n\n this.Valid = true;\n this.Valid = true;\n this.Titel = this.Const.NONE;\n this.Iconname = 'location-outline';\n this.Dialogbreite = 400;\n this.Dialoghoehe = 300;\n this.PositionY = 100;\n this.ZIndex = 2000;\n this.CanDelete = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Standorteditor);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n private SetupValidation() {\n\n try {\n\n\n this.JoiShema = Joi.object({\n\n Standort: Joi.string().required().max(100),\n Kuerzel: Joi.string().required().min(3).max(10),\n Strasse: Joi.string().required().max(100),\n Ort: Joi.string().required().max(100),\n PLZ: Joi.string().required().min(4).max(5),\n Email: Joi.string().required().max(255).email({ tlds: { allow: false } }).required(),\n\n }).options({ stripUnknown: true });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'SetupValidation', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.SetupValidation();\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Standorteditor, this.ZIndex);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n ValidateInput() {\n\n try {\n\n let Result = this.JoiShema.validate(this.DB.CurrentStandort);\n\n if(Result.error) this.Valid = false;\n else this.Valid = true;\n\n if(this.Pool.Mitarbeiterdaten === null || this.Pool.Mitarbeiterdaten.Planeradministrator === false) this.Valid = false;\n\n this.ValidChange.emit(this.Valid);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'ValidateInput', this.Debug.Typen.Component);\n }\n }\n\n TextChanged(event: { Titel: string; Text: string; Valid: boolean }) {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'TextChanged', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n\n CancelButtonClicked() {\n\n // this.ResetEditor();\n\n this.CancelClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n DeleteButtonClicked() {\n\n try {\n\n if(this.CanDelete) {\n\n this.DB.DeleteStandort().then(() => {\n\n this.DeleteClickedEvent.emit();\n\n }).catch((exception: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(exception.error.message);\n });\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'DeleteButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n try {\n\n debugger;\n\n if(this.DB.CurrentStandort._id === null) {\n\n this.DB.AddStandort().then((result: any) => {\n\n this.OkClickedEvent.emit();\n\n }).catch((error: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(error.error);\n\n });\n }\n else {\n\n this.DB.UpdateStandort().then(() => {\n\n\n this.OkClickedEvent.emit();\n\n }).catch((exception: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(exception.error.message);\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n CanDeleteCheckedChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.CanDelete = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'CanDeleteCheckedChanged', this.Debug.Typen.Component);\n }\n\n }\n\n GetLand() {\n\n try {\n\n if(this.DB.CurrentStandort !== null) {\n\n switch (this.DB.CurrentStandort.Land) {\n\n case 'DE': return 'Deutschland'; break;\n case 'BG': return 'Bulgarien'; break;\n }\n }\n else return 'Unbekannt';\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'GetLand', this.Debug.Typen.Component);\n }\n }\n\n GetBundesland(): string {\n\n try {\n\n let Region: Regionenstruktur;\n\n if(this.DB.CurrentStandort !== null) {\n\n Region = lodash.find(this.DBUrlaub.Regionenliste, {isoCode: this.DB.CurrentStandort.Bundesland});\n\n if(!lodash.isUndefined(Region)) return Region.Name;\n else return 'Unbekannt';\n\n } else {\n\n return 'Unbekannt';\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'funGetBundeslandction', this.Debug.Typen.Component);\n }\n }\n\n GetKonfession() {\n\n try {\n\n if(this.DB.CurrentStandort !== null) {\n\n switch (this.DB.CurrentStandort.Konfession) {\n\n case 'RK': return 'Katholisch'; break;\n case 'EV': return 'Evangelisch'; break;\n }\n }\n else return 'Unbekannt';\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'GetKonfession', this.Debug.Typen.Component);\n }\n }\n\n UrlaubsfreigabeChecked(id: string): boolean {\n\n try {\n\n let Index: number = this.DB.CurrentStandort.Urlaubfreigabepersonen.indexOf(id);\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'UrlaubsfreigabeChecked', this.Debug.Typen.Component);\n }\n }\n\n HomeofficefreigabeChecked(id: string): boolean {\n\n try {\n\n let Index: number = this.DB.CurrentStandort.Homeofficefreigabepersonen.indexOf(id);\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'HomeofficefreigabeChecked', this.Debug.Typen.Component);\n }\n }\n\n UrlaubsfreigabeCheckChanged(event: { status: boolean; index: number; event: any; value: string }, id: string) {\n\n try {\n\n if(event.status === true) this.DB.CurrentStandort.Urlaubfreigabepersonen.push(id);\n else {\n\n this.DB.CurrentStandort.Urlaubfreigabepersonen = lodash.filter(this.DB.CurrentStandort.Urlaubfreigabepersonen, (currentid) => {\n\n return id !== currentid;\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'UrlaubsfreigabeCheckChanged', this.Debug.Typen.Component);\n }\n }\n\n HomeofficefreigabeCheckChanged(event: { status: boolean; index: number; event: any; value: string }, id: string) {\n\n try {\n\n if(event.status === true) this.DB.CurrentStandort.Homeofficefreigabepersonen.push(id);\n else {\n\n this.DB.CurrentStandort.Homeofficefreigabepersonen = lodash.filter(this.DB.CurrentStandort.Homeofficefreigabepersonen, (currentid) => {\n\n return id !== currentid;\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'HomeofficefreigabeCheckChanged', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {FiStandortEditorComponent} from \"./fi-standort-editor.component\";\nimport {InputCloneModule} from \"../../components/input-clone/input-clone.module\";\nimport {InputCloneKeeperModule} from \"../../components/input-clone-keeper/input-clone-keeper.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\n\n@NgModule({\n declarations: [\n\n FiStandortEditorComponent\n ],\n exports: [\n\n FiStandortEditorComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n InputCloneModule,\n InputCloneKeeperModule,\n AbstandElementFixedModule,\n PageHeaderModule,\n CheckboxClonModule,\n PageFooterModule,\n ButtonValueModule,\n ],\n providers: [\n\n ]\n})\nexport class FiStandortEditorModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'abstand-element-fixed',\n templateUrl: './abstand-element-fixed.component.html',\n styleUrls: ['./abstand-element-fixed.component.scss']\n})\nexport class AbstandElementFixedComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {AbstandElementFixedComponent} from './abstand-element-fixed.component';\n\n@NgModule({\n declarations: [\n\n AbstandElementFixedComponent,\n ],\n exports: [\n\n AbstandElementFixedComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class AbstandElementFixedModule {}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {AlphabetRelativeComponent} from './alphabet-relative';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n AlphabetRelativeComponent\n ],\n exports: [\n\n AlphabetRelativeComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class AlphabetRelativeModule {}\n","import {\n Component, ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ConstProvider} from '../../services/const/const';\nimport {ToolsProvider} from '../../services/tools/tools';\nimport {PageHeaderComponent} from '../page-header/page-header';\nimport {PageFooterComponent} from '../page-footer/page-footer';\n\n@Component({\n selector: 'alphabet-relative',\n templateUrl: 'alphabet-relative.html',\n styleUrls: ['alphabet-relative.scss']\n})\nexport class AlphabetRelativeComponent implements OnInit, OnChanges {\n\n @Input() Breite: number;\n @Input() Auswahl: string = '';\n @Input() Buchstabenliste: string[] = [];\n @Output() AlphabetClicked = new EventEmitter();\n @Output() ZusatzbuttonClicked = new EventEmitter();\n\n @ViewChild('ImageKeeperDiv', { static: true }) private ImageKeeperDiv: ElementRef;\n\n\n public Style;\n public Filterliste: string[];\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Const: ConstProvider,\n private Tools: ToolsProvider) {\n\n try {\n\n this.Auswahl = '';\n this.Breite = 0;\n this.Buchstabenliste = ['Alle','A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];\n this.Filterliste = [];\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'Constructor', this.Debug.Typen.Component);\n }\n }\n\n public InitScreen() {\n\n try {\n\n let TopPossition: number = 0;\n let BottomPossition: number = 0;\n\n this.Style = {\n\n width: this.Breite + 'px',\n top: TopPossition + 'px',\n bottom: BottomPossition + 'px',\n background: this.Basics.Farben.BAEHellgrau,\n display: 'flex',\n 'flex-direction': 'column',\n 'justify-content': 'center' // horizontal\n };\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'InitScreen', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.InitScreen();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n AlphabetClickedHandler(buchstabe: string) {\n\n try {\n\n this.AlphabetClicked.emit(buchstabe);\n\n this.Auswahl = buchstabe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'AlphabetClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n\n SetFilterliste() {\n\n try {\n\n this.Filterliste = this.Buchstabenliste;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'SetFilterliste', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Value: SimpleChange;\n\n Value = changes.Buchstabenliste;\n\n if(typeof Value !== 'undefined') {\n\n this.SetFilterliste();\n }\n\n Value = changes.Breite;\n\n if(typeof Value !== 'undefined') {\n\n this.InitScreen();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {AlphabetComponent} from './alphabet';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n AlphabetComponent\n ],\n exports: [\n\n AlphabetComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class AlphabetModule {}\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChange, SimpleChanges, ViewChild } from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ConstProvider} from '../../services/const/const';\nimport {ToolsProvider} from '../../services/tools/tools';\nimport {PageHeaderComponent} from '../page-header/page-header';\nimport {PageFooterComponent} from '../page-footer/page-footer';\n\n@Component({\n selector: 'alphabet',\n templateUrl: 'alphabet.html',\n styleUrls: ['alphabet.scss']\n})\nexport class AlphabetComponent implements OnInit, OnChanges {\n\n @Input() Breite: number;\n @Input() Auswahl: string = '';\n @Input() Buchstabenliste: string[] = [];\n @Input() PageHeader: PageHeaderComponent = null;\n @Input() PageFooter: PageFooterComponent = null;\n @Output() AlphabetClicked = new EventEmitter();\n @Output() ZusatzbuttonClicked = new EventEmitter();\n\n @ViewChild('ImageKeeperDiv', { static: true }) private ImageKeeperDiv: ElementRef;\n\n\n public Style;\n public Filterliste: string[];\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Const: ConstProvider,\n private Tools: ToolsProvider) {\n try {\n\n this.Auswahl = '';\n this.Breite = 0;\n this.Buchstabenliste = ['Alle','A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];\n this.Filterliste = [];\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'Constructor', this.Debug.Typen.Component);\n }\n }\n\n public InitScreen() {\n\n try {\n\n let TopPossition: number = 0;\n let BottomPossition: number = 0;\n\n if(typeof this.PageHeader !== 'undefined' && this.PageHeader !== null) TopPossition = this.PageHeader.PageHeaderDiv.nativeElement.clientHeight;\n if(typeof this.PageFooter !== 'undefined' && this.PageFooter !== null) BottomPossition = this.PageFooter.PageFooterFrameDiv.nativeElement.clientHeight;\n\n this.Style = {\n\n width: this.Breite + 'px',\n top: TopPossition + 'px',\n bottom: BottomPossition + 'px',\n background: this.Basics.Farben.BAEHellgrau\n };\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'InitScreen', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.InitScreen();\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n AlphabetClickedHandler(buchstabe: string) {\n\n try {\n\n this.AlphabetClicked.emit(buchstabe);\n\n this.Auswahl = buchstabe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'AlphabetClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n\n SetFilterliste() {\n\n try {\n\n this.Filterliste = this.Buchstabenliste;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'SetFilterliste', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Value: SimpleChange;\n\n Value = changes.Buchstabenliste;\n\n if(typeof Value !== 'undefined') {\n\n this.SetFilterliste();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {AuswahlDialogComponent} from './auswahl-dialog';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from \"@angular/forms\";\nimport {PageHeaderModule} from \"../page-header/page-header.module\";\nimport {PageFooterModule} from \"../page-footer/page-footer.module\";\nimport {SafePipeModule} from \"../../pipes/safe.pipe.module\";\n\n@NgModule({\n declarations: [\n\n AuswahlDialogComponent\n ],\n exports: [\n\n AuswahlDialogComponent\n ],\n imports: [\n\n IonicModule,\n CommonModule,\n FormsModule,\n PageHeaderModule,\n PageFooterModule,\n SafePipeModule,\n\n ],\n providers: [\n\n ]\n})\nexport class AuswahlDialogModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges, OnDestroy,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ToolsProvider} from '../../services/tools/tools';\nimport {ConstProvider} from '../../services/const/const';\nimport {IonSelect} from \"@ionic/angular\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport * as lodash from \"lodash-es\";\n\n@Component({\n selector: 'auswahl-dialog',\n templateUrl: 'auswahl-dialog.html',\n styleUrls: ['auswahl-dialog.scss']\n})\nexport class AuswahlDialogComponent implements OnInit, OnDestroy, OnChanges {\n\n @ViewChild('MySelection', { static: true }) MySelection: IonSelect;\n\n @Input() Titel: string = 'Testtitel';\n @Input() Auswahlliste: Auswahldialogstruktur[];\n @Input() Auswahlindex: number;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() PositionY: number;\n @Input() ZIndex: number;\n\n @Output() IndexChanged = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n @Output() CancelClickedEvent = new EventEmitter();\n\n\n constructor(public Tools: ToolsProvider,\n public Basics: BasicsProvider,\n private Debug: DebugProvider,\n public Displayservice: DisplayService,\n public Const: ConstProvider) {\n try {\n\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null }];\n this.Auswahlindex = 0;\n this.ZIndex = 4000;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Auswahldialog);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'OnDestroy', this.Debug.Typen.Component);\n }\n\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Auswahldialog, this.ZIndex);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n public Setup(titel: string, auswahlliste: Auswahldialogstruktur[], auswahlindex: number) {\n\n try {\n\n this.Titel = titel;\n this.Auswahlliste = auswahlliste;\n this.Auswahlindex = auswahlindex;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'Setup', this.Debug.Typen.Page);\n }\n }\n\n public Open(reset?: boolean, index?: number) {\n\n try {\n\n if(typeof reset !== 'undefined' && reset === true) {\n\n this.Auswahlindex = typeof index !== 'undefined' ? index : -1;\n }\n else {\n\n\n }\n\n this.MySelection.open();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'Open', this.Debug.Typen.Component);\n }\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n\n let Value: SimpleChange = changes.Auswahlindex;\n\n if(typeof Value !== 'undefined') {\n\n if(!Value.firstChange)\n {\n\n }\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n\n IndexChangedHandler(event: any) {\n\n try {\n\n let Index: number;\n\n if(event.detail.value === '') Index = -1;\n else {\n\n if(isNaN(event.detail.value)) Index = -1;\n else Index = event.detail.value;\n }\n\n this.Auswahlindex = Index;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'IndexChanged', this.Debug.Typen.Component);\n }\n }\n\n CancelButtonClicked() {\n\n this.CancelClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n if(!lodash.isUndefined(this.Auswahlliste[this.Auswahlindex])) {\n\n this.OkClickedEvent.emit(this.Auswahlliste[this.Auswahlindex].Data);\n }\n else {\n\n this.OkClickedEvent.emit(null);\n }\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {ButtonValueDateComponent} from './button-value-date';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n ButtonValueDateComponent\n ],\n exports: [\n\n ButtonValueDateComponent\n ],\n imports: [\n\n IonicModule,\n CommonModule,\n ],\n providers: [\n\n ]\n})\nexport class ButtonValueDateModule {}\n"," import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ToolsProvider} from '../../services/tools/tools';\n import {ConstProvider} from '../../services/const/const';\n import {IonDatetime} from \"@ionic/angular\";\n import MyMoment from \"moment\";\n import {Moment} from \"moment\";\n\n@Component({\n selector: 'button-value-date',\n templateUrl: 'button-value-date.html',\n styleUrls: ['button-value-date.scss']\n})\n\nexport class ButtonValueDateComponent implements OnInit, OnChanges {\n\n @Input() public Buttontext: string;\n @Input() public Minimum: Moment;\n @Input() public Maximum: Moment;\n @Input() public Datum: Moment;\n @Input() public Buttoncolor: string;\n @Input() public InnerBackgroundcolor: string;\n @Input() public Enabled: boolean;\n @Input() public ElementID: string;\n @Input() public Buttonsize: string;\n @Input() public ShowKW: boolean;\n @Input() public ValueBreite: number;\n\n @Output() public TimeChanged = new EventEmitter();\n @Output() public DiabledButtonClicked = new EventEmitter();\n\n @ViewChild('DatePicker', { static: false }) DatePicker: IonDatetime;\n\n public Minimumstring: string;\n public Maximumstring: string;\n\n constructor(public Basics: BasicsProvider, public Debug: DebugProvider, public Tools: ToolsProvider, public Const: ConstProvider) {\n\n try {\n\n let Tag: number = 1;\n let Monat: number = 7;\n let Heute: Moment = MyMoment();\n let Jahr: number = Heute.year();\n let Stunde: number = 12;\n let Minute: number = 0;\n\n this.ValueBreite = 260;\n this.Minimum = MyMoment().set({year: 2000, month: 0, date: 1 }).locale('de');\n this.Maximum = MyMoment().set({year: Jahr, month: 11, date: 31}).locale('de');\n this.Minimumstring = '2000-01-01';\n this.Maximumstring = Jahr.toString() + '-12-31';\n this.Buttontext = 'Datum';\n this.Datum = MyMoment( Tag + '.' + Monat + '.' + Jahr + ' ' + Stunde + ':' + Minute, 'DD.MM.YYYY HH:mm').locale('de');\n this.Enabled = true;\n this.Buttoncolor = this.Basics.Farben.Burnicklbraun;\n this.ElementID = 'open-modal-date';\n this.Buttonsize = 'normal';\n this.ShowKW = false;\n\n this.InnerBackgroundcolor = this.Basics.Farben.Burnicklgrau;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'Constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Minimum: SimpleChange = changes.Minimum;\n let Maximum: SimpleChange = changes.Maximum;\n\n if (typeof Minimum !== 'undefined') {\n\n this.Minimum = Minimum.currentValue;\n this.Minimumstring = this.Minimum.format('YYYY-MM-DD');\n }\n\n if (typeof Maximum !== 'undefined') {\n\n this.Maximum = Maximum.currentValue;\n this.Maximumstring = this.Maximum.format('YYYY-MM-DD');\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n ButtonClickedHandler() {\n\n try {\n\n if(this.Enabled === true) {\n\n this.Tools.PlayClicksound().then(() => {\n\n // this.DatePicker.open();\n });\n }\n else {\n\n this.DiabledButtonClicked.emit();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'ButtonClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n */\n\n\n\n public FetigButtonClicked() {\n\n try {\n\n this.DatePicker.confirm(true);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'FetigButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n DateChangedHandler(value: any) {\n\n try {\n\n let Resultstring: string = value.detail.value;\n let Parts: string[] = Resultstring.split('T');\n let Datestring: string = Parts[0];\n let Werte: string[] = Datestring.split('-');\n\n let Tag: number = parseInt(Werte[2]);\n let Monat: number = parseInt(Werte[1]);\n let Jahr: number = parseInt(Werte[0]);\n let Stunde: number = this.Datum.hours();\n let Minute: number = this.Datum.minutes();\n\n this.Datum = MyMoment( Tag + '.' + Monat + '.' + Jahr + ' ' + Stunde + ':' + Minute, 'DD.MM.YYYY HH:mm').locale('de');\n\n this.TimeChanged.emit(this.Datum);\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'DateChangedHandler', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {ButtonValueComponent} from './button-value';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n ButtonValueComponent\n ],\n exports: [\n\n ButtonValueComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ],\n providers: [\n\n ]\n})\nexport class ButtonValueModule {}\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChange, SimpleChanges} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ToolsProvider} from '../../services/tools/tools';\nimport {ConstProvider} from '../../services/const/const';\n\n\n@Component({\n selector: 'button-value',\n templateUrl: 'button-value.html',\n styleUrls: ['button-value.scss'],\n})\n\n\nexport class ButtonValueComponent implements OnInit, OnChanges {\n\n @Input() public Buttoncolor: string;\n @Input() public Buttontext: string;\n @Input() public Wert_A: string; // |Tastaturdatenstruktur;\n @Input() public Wert_B: string;\n @Input() public Iconfile: string;\n @Input() public Iconcolor: string;\n @Input() public Enabled: boolean;\n @Input() public SmallWidth: boolean;\n @Input() public BigHeight: boolean;\n @Input() public ShowMargin: boolean;\n @Input() public Width: number;\n @Input() public ProContent: boolean = false;\n @Input() public ProMessage: string = '';\n @Input() public Buttonvaluecolor: string = '';\n @Input() public Rechtebreite: number;\n @Input() public Linkebreite: number;\n\n @Output() public ButtonClicked = new EventEmitter();\n @Output() public DisabledButtonClicked = new EventEmitter();\n\n public RGB: string;\n public Wert_A_String: string;\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Const: ConstProvider) {\n\n try {\n\n this.Width = 0;\n this.ShowMargin = true;\n this.BigHeight = false;\n this.SmallWidth = false;\n this.Buttontext = '';\n this.Wert_A = '';\n this.Wert_B = '';\n this.Iconcolor = 'red';\n this.Iconfile = '';\n this.Buttoncolor = this.Basics.Farben.Burnicklbraun;\n this.Enabled = true;\n this.Buttonvaluecolor = this.Basics.Farben.Burnicklgrau;\n this.Linkebreite = 40;\n this.Rechtebreite = 60;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value', 'Constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Buttonvalue: SimpleChange = changes.Buttoncolor;\n let Wert_A_Value: SimpleChange = changes.Wert_A;\n // let Werte: Tastaturdatenstruktur;\n let Index: number;\n let Text: string;\n\n if(typeof Buttonvalue !== 'undefined') {\n\n if(!Buttonvalue.firstChange)\n {\n this.RGB = this.Tools.HexToRGB(Buttonvalue.currentValue);\n }\n }\n\n if(typeof Wert_A_Value !== 'undefined' && typeof Wert_A_Value.currentValue !== 'undefined') {\n\n if(typeof Wert_A_Value.currentValue === 'string') {\n\n // Stringausgabe\n\n this.Wert_A_String = Wert_A_Value.currentValue;\n\n } else {\n\n /*\n\n // Tastaturstruktur aks String ausgeben\n\n Werte = Wert_A_Value.currentValue;\n Index = Exponentenzahlen.indexOf(Werte.Exponent);\n\n if(Werte.Currency) {\n\n if(typeof Werte.Wert !== 'undefined') {\n\n Text = Werte.Wert.toFixed(2).replace('.', ',') + ' ' + Exponentensymbole[Index] + Werte.Einheit;\n\n } else {\n\n Text = Werte.Wertname + ' n.d.';\n }\n\n } else {\n\n if(typeof Werte.Wert !== 'undefined') {\n\n Text = Werte.Wert.toString().replace('.', ',') + ' ' + Exponentensymbole[Index] + Werte.Einheit;\n\n } else {\n\n Text = Werte.Wertname + ' n.d.';\n }\n }\n\n if(Werte.Hochzahl === 2) Text += '²';\n if(Werte.Hochzahl === 3) Text += '³';\n\n this.Wert_A_String = Text;\n\n\n */\n }\n }\n }\n\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n\n ButtonClickedHandler() {\n\n try {\n\n if(this.Enabled === true) {\n\n this.ButtonClicked.emit();\n\n }\n else {\n\n this.DisabledButtonClicked.emit();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value', 'ButtonClickedHandler', this.Debug.Typen.Component);\n }\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, SimpleChange, SimpleChanges} from '@angular/core';\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\n\n@Component({\n selector: 'checkbox-clon',\n templateUrl: './checkbox-clon.component.html',\n styleUrls: ['./checkbox-clon.component.scss'],\n})\nexport class CheckboxClonComponent implements OnInit {\n\n @Input() Checked: boolean = false;\n @Input() Enabled: boolean = true;\n @Input() CanUnselect: boolean = true;\n @Input() Index: number = -1;\n @Input() Background: string = 'white';\n @Input() Value: string = null;\n\n @Output() CheckChanged: EventEmitter<{status: boolean; index: number; event: any; value: string}> = new EventEmitter<{status: boolean; index: number; event: any; value: string}>();\n\n public ImgSource: string;\n\n constructor(public Basics: BasicsProvider,\n private Tools: ToolsProvider,\n public Debug: DebugProvider) {\n\n try {\n\n this.ImgSource = this.Basics.Svgpath + 'hacken.svg';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Checkbox', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n PrepareData() {\n\n try {\n\n if(this.Enabled === false) {\n\n this.Background = '#B2BABB';\n }\n else {\n\n this.Background = 'white';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Checkbox', 'PrepareData', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Checkbox', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n DivClickedHnadler(event: MouseEvent) {\n\n try {\n\n event.stopPropagation();\n event.preventDefault();\n\n if(this.Enabled && this.CanUnselect === true || this.Enabled && this.CanUnselect === false && this.Checked === false) {\n\n this.CheckChanged.emit({status: !this.Checked, index: this.Index, event: event, value: this.Value});\n\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Checkbox', 'DivClickedHnadler', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Value: SimpleChange;\n\n Value = changes.Enabled;\n\n if(typeof Value !== 'undefined') {\n\n this.PrepareData();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {CheckboxClonComponent} from \"./checkbox-clon.component\";\n\n@NgModule({\n declarations: [\n\n CheckboxClonComponent\n ],\n exports: [\n\n CheckboxClonComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ],\n providers: [\n\n ]\n})\nexport class CheckboxClonModule {}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output, QueryList,\n ViewChildren\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {InputCloneComponent} from \"../input-clone/input-clone.component\";\n\n@Component({\n selector: 'input-clone-keeper',\n templateUrl: './input-clone-keeper.component.html',\n styleUrls: ['./input-clone-keeper.component.scss'],\n})\nexport class InputCloneKeeperComponent implements OnInit, AfterViewInit {\n\n @Input() Valid: boolean;\n @Output() ValidChange = new EventEmitter();\n\n @ViewChildren(InputCloneComponent) List: QueryList;\n\n private Inputliste: InputCloneComponent[];\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n private elRef: ElementRef,\n public Tools: ToolsProvider) {\n\n try {\n\n this.Valid = true;\n this.Inputliste = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone Keeper', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone Keeper', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n public CheckValid(): boolean {\n\n try {\n\n\n let Valid: boolean = true;\n\n for(let Inputelement of this.Inputliste) {\n\n\n if(!Inputelement.Valid) {\n\n Valid = false;\n\n break;\n }\n }\n\n return Valid;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone Keeper', 'CheckValid', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n this.Inputliste = this.elRef.nativeElement.getElementsByTagName('input-clone');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone Keeper', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {InputCloneKeeperComponent} from \"./input-clone-keeper.component\";\n\n@NgModule({\n declarations: [\n\n InputCloneKeeperComponent\n ],\n exports: [\n\n InputCloneKeeperComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class InputCloneKeeperModule {}\n","import {\n AfterViewInit,\n Component, ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport * as Joi from \"joi\";\nimport {NumberSchema, ObjectSchema, StringSchema} from \"joi\";\n\ntype Textstruktur = {\n\n Text: string;\n};\n\n@Component({\n selector: 'input-clone',\n templateUrl: './input-clone.component.html',\n styleUrls: ['./input-clone.component.scss'],\n})\nexport class InputCloneComponent implements OnInit, OnChanges, AfterViewInit {\n\n\n\n @Input() public Titel: string;\n @Input() public Titelcolor: string;\n @Input() public Value: string;\n @Input() Debouncetime: number;\n @Output() ValueChange = new EventEmitter();\n\n @Input() public MinLength: number;\n @Input() public MaxLength: number;\n @Input() public Enabled: boolean;\n @Input() public Clickable: boolean;\n @Input() public MinHeight: number;\n @Input() public Inputtype: string;\n @Input() public Required: boolean;\n @Input() public Lines: number;\n @Input() public DisabledColor: string;\n @Input() public OkBorderColor: string;\n @Input() public ParseToFloat: boolean;\n @Input() public Textcolor: string;\n @Input() public Textsize: number;\n @Input() public Einheit: string;\n\n @Output() TextChanged = new EventEmitter<{ Titel: string; Text: string; Valid: boolean }>();\n\n public RequiredBorder: string;\n public DisabledBorder: string;\n public Valid: boolean;\n private JoiShema: ObjectSchema;\n public OkBorder: string;\n\n\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Tools: ToolsProvider) {\n\n try {\n\n let Border: number = 1;\n\n\n this.OkBorderColor = this.Basics.Farben.Burnicklgrau;\n this.DisabledColor = this.Basics.Farben.Blau;\n this.OkBorder = Border + 'px solid ' + this.OkBorderColor;\n this.RequiredBorder = Border + 'px solid ' + this.Basics.Farben.Orange;\n this.DisabledBorder = Border + 'px solid ' + this.DisabledColor;\n this.Valid = true;\n this.MinLength = 0;\n this.MaxLength = 0;\n this.Enabled = true;\n this.Titel = '';\n this.Value = '';\n this.MinHeight = 30;\n this.Inputtype = 'text';\n this.Lines = 1;\n this.Debouncetime = 0;\n this.Clickable = false;\n this.Required = false;\n this.Titelcolor = 'black';\n this.ParseToFloat = false;\n this.Textsize = 14;\n this.Einheit = null;\n this.Textcolor = this.Basics.Ionicfarben.Schwarz;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n let Border: number = 1;\n let schema: StringSchema | NumberSchema;\n\n if(this.Inputtype === 'text' || this.Inputtype === 'email') {\n\n schema = Joi.string();\n\n if(this.Inputtype === 'email') schema = schema.email({ tlds: { allow: false } });\n }\n else {\n\n schema = Joi.number();\n }\n\n if(this.MinLength > 0) schema = schema.min(this.MinLength);\n if(this.MaxLength > 0) schema = schema.max(this.MaxLength);\n if(this.Required === true) schema = schema.required();\n else schema = schema.allow('');\n\n this.JoiShema = Joi.object({\n\n Text: schema\n\n }).options({ stripUnknown: true });\n\n this.Valid = this.CheckValid(this.Value);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n CheckValid(text: string): boolean {\n\n try {\n\n let Result: any;\n let valid: boolean;\n\n if(this.JoiShema) {\n\n Result = this.JoiShema.validate({Text: text});\n\n if(Result.error) {\n\n valid = false;\n\n this.Debug.ShowErrorMessage(Result.error.message, 'Input Clone', 'CheckValid', this.Debug.Typen.Component);\n\n }\n else valid = true;\n }\n else {\n\n valid = false;\n }\n\n return valid;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'CheckValid', this.Debug.Typen.Component);\n }\n }\n\n TextChangedHandler(event: any) {\n\n try {\n\n let Text = this.Inputtype === 'text' || this.Inputtype === 'email' ? event.detail.value : this.ParseToFloat ? parseFloat(event.detail.value) : parseInt(event.detail.value);\n\n if(this.Enabled === true) {\n\n if(typeof Text === 'undefined') {\n\n Text = '';\n }\n\n this.Valid = this.CheckValid(Text);\n\n this.ValueChange.emit(Text); // Ãœbertragen für Banana in a Box\n\n this.TextChanged.emit({\n\n Titel: this.Titel,\n Text: Text,\n Valid: this.Valid\n });\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'TextChangedHandler', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Border: number = 1;\n let Value: SimpleChange = changes.Value;\n\n if(typeof Value !== 'undefined') {\n\n this.Valid = this.CheckValid(Value.currentValue);\n\n this.TextChanged.emit({\n\n Titel: this.Titel,\n Text: Value.currentValue,\n Valid: this.Valid\n });\n }\n\n this.DisabledBorder = Border + 'px solid ' + this.DisabledColor;\n this.OkBorder = Border + 'px solid ' + this.OkBorderColor;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {InputCloneComponent} from \"./input-clone.component\";\n\n@NgModule({\n declarations: [\n\n InputCloneComponent\n ],\n exports: [\n\n InputCloneComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class InputCloneModule {}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {PageFooterComponent} from './page-footer';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n PageFooterComponent\n ],\n exports: [\n\n PageFooterComponent\n ],\n imports: [\n\n IonicModule,\n CommonModule\n ],\n providers: [\n\n ]\n})\n\nexport class PageFooterModule {}\n","import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';\nimport {ConstProvider} from '../../services/const/const';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {BasicsProvider} from '../../services/basics/basics';\n\n@Component({\n\n selector: 'page-footer',\n templateUrl: 'page-footer.html',\n styleUrls: ['page-footer.scss']\n})\nexport class PageFooterComponent implements OnInit {\n\n @ViewChild('PageFooterFrameDiv', { read: ElementRef, static: true }) public PageFooterFrameDiv: ElementRef;\n\n public MaxFooterhoehe: number;\n\n constructor(public Const: ConstProvider,\n private Debug: DebugProvider,\n public Basics: BasicsProvider) {\n }\n\n ngOnInit() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Footer', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n\n public InitMaximalhoehe(): number {\n\n try {\n\n this.MaxFooterhoehe = this.PageFooterFrameDiv.nativeElement.clientHeight;\n\n return this.MaxFooterhoehe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Footer', 'InitMaximalhoehe', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {PageHeaderCenterComponent} from './page-header-center';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n PageHeaderCenterComponent,\n ],\n exports: [\n\n PageHeaderCenterComponent,\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ],\n providers: [\n\n ]\n})\nexport class PageHeaderCenterModule {}\n","import { Component, Input, Output, OnInit, EventEmitter, ViewChild, ElementRef} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ConstProvider} from '../../services/const/const';\nimport {MenuController} from \"@ionic/angular\";\n\n@Component({\n selector: 'page-header-center',\n templateUrl: 'page-header-center.html',\n styleUrls: ['page-header-center.scss']\n})\nexport class PageHeaderCenterComponent implements OnInit {\n\n @ViewChild('PageHeaderDiv', { read: ElementRef, static: true }) public PageHeaderDiv: ElementRef;\n\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Const: ConstProvider,\n public menuCtrl: MenuController) {\n try {\n\n }\n catch (error) {\n\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header', 'Construktor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {IonSearchbar} from \"@ionic/angular\";\nimport {Subscription} from \"rxjs\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport * as lodash from 'lodash-es';\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseAuthenticationService} from \"../../services/database-authentication/database-authentication.service\";\nimport {HttpErrorResponse} from \"@angular/common/http\";\nimport moment, {Moment} from \"moment\";\nimport {DatabaseMitarbeitersettingsService} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {Graphservice} from \"../../services/graph/graph\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {environment} from \"../../../environments/environment\";\n\n@Component({\n selector: 'page-header-menu',\n templateUrl: './page-header-menu.component.html',\n styleUrls: ['./page-header-menu.component.scss'],\n})\nexport class PageHeaderMenuComponent implements OnInit, OnDestroy, AfterViewInit {\n\n @ViewChild('Suchleiste', { static: false }) Suchleiste: IonSearchbar;\n @ViewChild('Suchleiste2', { static: false }) Suchleiste2: IonSearchbar;\n @ViewChildren('ion-searchbar') Sucheiste3: QueryList;\n\n @Input() ShowSandortfilter: boolean;\n @Input() ShowSuchleiste: boolean;\n @Input() Filterorigin: string;\n @Input() ShowStandorttitle: boolean;\n @Input() ShowMitarbeitertitle: boolean;\n @Input() ShowProjektetitle: boolean;\n @Input() ShowFavoritentitle: boolean;\n @Input() SendFestlegungenEnabled: boolean;\n @Input() Timelineindex: number;\n\n @Output() SucheChanged = new EventEmitter();\n @Output() StandortfilterClicked = new EventEmitter();\n @Output() ZeitspanneFilterClicked = new EventEmitter();\n @Output() LeistungsphaseFilterClicked = new EventEmitter();\n @Output() FilterChanged = new EventEmitter();\n @Output() ShowProjektauswahlEvent = new EventEmitter();\n @Output() ShowProjektfilesEvent = new EventEmitter();\n @Output() LOPListeZeitspanneEvent = new EventEmitter();\n @Output() ShowOpenFestlegungOnlyEvent = new EventEmitter();\n @Output() SendFestlegungenClicked = new EventEmitter();\n @Output() ShowUngelesenOnlyChanged = new EventEmitter();\n @Output() ProjektsortierungChanged = new EventEmitter();\n @Output() EmailDatumChanged = new EventEmitter();\n @Output() PlanungsmatrixLeistungsphaseClicked = new EventEmitter();\n @Output() ShowLOPListeInfoeintraegeChanged = new EventEmitter();\n @Output() ExpandFestlegungeEvent = new EventEmitter();\n @Output() UrlaubMitarbeiterClicked = new EventEmitter();\n @Output() UrlaubMitarbeiterMeClicked = new EventEmitter();\n @Output() JahrButtonClicked = new EventEmitter();\n\n private SuchleisteInputSubscription: Subscription;\n private Suchleiste2InputSubscription: Subscription;\n private SuchleisteClearSubscription: Subscription;\n private Suchleiste2ClearSubscription: Subscription;\n private FavoritenSubscription: Subscription;\n public Inputtimer: any;\n public Projektauswahlbreite: number;\n public Wochentaghoehe: number;\n public Tagbreite: number;\n public HomeMouseOver: boolean;\n public EmailMouseOver: boolean;\n public FilesMouseOver: boolean;\n public ShowOpenFestlegungOnly: boolean;\n public BackMouseOver: boolean;\n public Timelinebreite: number;\n public LogoutMouseOver: boolean;\n public JahrMouseOver: boolean;\n\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Const: ConstProvider,\n public DBMitarbeiter: DatabaseMitarbeiterService,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public Auswahlservice: AuswahlDialogService,\n public DBStandort: DatabaseStandorteService,\n public DBUrlaub: DatabaseUrlaubService,\n public GraphService: Graphservice,\n public AuthService: DatabaseAuthenticationService,\n public Pool: DatabasePoolService,\n public Menuservice: MenueService) {\n try {\n\n this.ShowSuchleiste = false;\n this.SuchleisteClearSubscription = null;\n this.Suchleiste2ClearSubscription = null;\n this.SuchleisteInputSubscription = null;\n this.Suchleiste2InputSubscription = null;\n this.FavoritenSubscription = null;\n this.Inputtimer = null;\n this.ShowSandortfilter = false;\n this.Projektauswahlbreite = 200;\n this.Filterorigin = this.Const.NONE;\n this.Wochentaghoehe = 30;\n this.Tagbreite = 0;\n this.Timelinebreite = 40;\n this.HomeMouseOver = false;\n this.EmailMouseOver = false;\n this.ShowStandorttitle = false;\n this.ShowMitarbeitertitle = false;\n this.ShowProjektetitle = false;\n this.ShowFavoritentitle = false;\n this.FilesMouseOver = false;\n this.ShowOpenFestlegungOnly = false;\n this.SendFestlegungenEnabled = false;\n this.BackMouseOver = false;\n this.LogoutMouseOver = false;\n this.JahrMouseOver = false;\n this.Timelineindex = 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'consturctor', this.Debug.Typen.Component);\n }\n }\n\n LogoutButtonClicked() {\n\n try {\n\n this.Pool.ProjektdatenLoaded = false;\n\n this.AuthService.Logout();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'LogoutButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n BackButtonClicked() {\n\n try {\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Projekte;\n\n this.Menuservice.SetCurrentPage();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'BackButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.Projektauswahlbreite = this.Basics.Contentbreite - 630;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n\n async ngAfterViewInit() {\n\n try {\n\n this.Tagbreite = (this.Basics.Contentbreite - 4 - this.Timelinebreite) / 5;\n\n /*\n\n let Text: string;\n\n\n let test = this.Sucheiste3;\n\n\n\n if(this.Suchleiste) { // Muss hier stehen / funktioniert in OnInit() nicht\n\n this.SuchleisteInputSubscription = this.Suchleiste.ionInput.subscribe((data: any) => {\n\n debugger;\n\n Text = data.target.value;\n\n if(this.Inputtimer !== null) {\n\n window.clearTimeout(this.Inputtimer);\n\n this.Inputtimer = null;\n }\n\n if(Text.length >= 3 || Text.length === 0) {\n\n this.Inputtimer = window.setTimeout(() => {\n\n this.SucheChanged.emit(Text);\n\n }, 600);\n }\n\n });\n\n this.SuchleisteClearSubscription = this.Suchleiste.ionClear.subscribe(() => {\n\n this.SucheChanged.emit('');\n });\n\n\n }\n else this.Suchleiste = null;\n\n if(this.Suchleiste2) { // Muss hier stehen / funktioniert in OnInit() nicht\n\n this.Suchleiste2InputSubscription = this.Suchleiste2.ionInput.subscribe((data: any) => {\n\n debugger;\n\n Text = data.target.value;\n\n if(this.Inputtimer !== null) {\n\n window.clearTimeout(this.Inputtimer);\n\n this.Inputtimer = null;\n }\n\n if(Text.length >= 3 || Text.length === 0) {\n\n this.Inputtimer = window.setTimeout(() => {\n\n this.SucheChanged.emit(Text);\n\n }, 600);\n }\n\n });\n\n this.Suchleiste2ClearSubscription = this.Suchleiste2.ionClear.subscribe(() => {\n\n this.SucheChanged.emit('');\n });\n\n\n }\n else this.Suchleiste2 = null;\n\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'ngAfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n MainMenueButtonClicked(mainmenubereich: string) {\n\n try {\n\n this.Menuservice.MainMenuebereich = mainmenubereich;\n\n this.Menuservice.SetCurrentPage();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'MainMenueButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n FirmaMenueButtonClicked(firmamenubereich: string) {\n\n try {\n\n this.Menuservice.FirmaMenuebereich = firmamenubereich;\n\n this.Menuservice.SetCurrentPage();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'FirmaMenueButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ProjekteMenueButtonClicked(projektmenubereich: string) {\n\n try {\n\n this.Menuservice.ProjekteMenuebereich = projektmenubereich;\n\n switch (this.Menuservice.ProjekteMenuebereich) {\n\n case this.Menuservice.ProjekteMenuebereiche.Aufgabenliste:\n\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Projekt;\n\n break;\n\n default:\n\n break;\n }\n\n this.Menuservice.SetCurrentPage();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'ProjekteMenueButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n UrlaubMenueButtonClicked(urlaubmenubereich: string) {\n\n try {\n\n this.Menuservice.UrlaubMenuebereich = urlaubmenubereich;\n\n switch (this.Menuservice.UrlaubMenuebereich) {\n\n case this.Menuservice.ProjekteMenuebereiche.Aufgabenliste:\n\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Projekt;\n\n break;\n\n default:\n\n break;\n }\n\n this.Menuservice.SetCurrentPage();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'ProjekteMenueButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n GetProjekteMenueIconcolor(projektemenubereich: string) {\n\n try {\n\n return projektemenubereich === this.Menuservice.ProjekteMenuebereich ? 'schwarz' : 'weiss';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetProjekteMenueIconcolor', this.Debug.Typen.Component);\n }\n }\n\n GetProjekteMenueFontcolor(projektemenubereich: string) {\n\n try {\n\n return projektemenubereich === this.Menuservice.ProjekteMenuebereich ? '#000000' : 'white';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetProjekteMenueIconcolor', this.Debug.Typen.Component);\n }\n }\n\n GetUrlaubMenueIconcolor(urlaubmenubereich: string) {\n\n try {\n\n return urlaubmenubereich === this.Menuservice.UrlaubMenuebereich ? 'schwarz' : 'weiss';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetUrlaubMenueIconcolor', this.Debug.Typen.Component);\n }\n }\n\n GetUrlaubMenueFontcolor(urlaubmenubereich: string) {\n\n try {\n\n return urlaubmenubereich === this.Menuservice.UrlaubMenuebereich ? '#000000' : 'white';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetUrlaubMenueFontcolor', this.Debug.Typen.Component);\n }\n }\n\n StandortButtonClicked() {\n\n try {\n\n this.StandortfilterClicked.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'StandortButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ZeitspaneClickedHandler(origin: string) {\n\n try {\n\n this.ZeitspanneFilterClicked.emit(origin);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'ZeitspaneClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n LeistungsphaseClickedHandler() {\n\n try {\n\n this.LeistungsphaseFilterClicked.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'LeistungsphaseClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n public GetAufgabenansicht(): Aufgabenansichtstruktur {\n\n try {\n\n let Aufgabenansicht: Aufgabenansichtstruktur = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt !== null ? this.DBProjekte.CurrentProjekt._id : null);\n\n return null; Aufgabenansicht;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetAufgabenansicht', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n\n StatusFilterChanged(event: any, Statusname: string) {\n\n try {\n\n let status = event.status;\n\n let Aufgabenansicht: Aufgabenansichtstruktur = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt !== null ? this.DBProjekte.CurrentProjekt._id : null);\n\n switch (Statusname) {\n\n case 'Bilder':\n\n Aufgabenansicht.AufgabenShowBilder = status;\n\n break;\n\n case this.Const.Projektpunktstatustypen.Offen.Name:\n\n Aufgabenansicht.AufgabenShowOffen = status;\n\n break;\n\n case this.Const.Projektpunktstatustypen.Geschlossen.Name:\n\n Aufgabenansicht.AufgabenShowGeschlossen= status;\n\n break;\n\n case this.Const.Projektpunktstatustypen.Bearbeitung.Name:\n\n Aufgabenansicht.AufgabenShowBearbeitung = status;\n\n break;\n\n case this.Const.Projektpunktstatustypen.Ruecklauf.Name:\n\n Aufgabenansicht.AufgabenShowRuecklauf = status;\n\n break;\n\n case 'Meilenstein':\n\n Aufgabenansicht.AufgabenShowMeilensteinOnly = status;\n\n break;\n }\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, Aufgabenansicht).then(() => {\n\n this.FilterChanged.emit(Statusname);\n\n }).catch((error: HttpErrorResponse) => {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'StatusFilterChanged', this.Debug.Typen.Component);\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'StatusFilterChanged', this.Debug.Typen.Component);\n }\n }\n\n */\n\n StatusFilterShowFaelligOnlyChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n // this.DBProjekte.CurrentProjekt.Aufgabenlistefilter.FilterShowFaelligOnly = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'StatusFilterShowFaelligOnlyChanged', this.Debug.Typen.Component);\n }\n }\n\n GetZeitfilterButtontext(): string {\n\n try {\n\n\n switch (this.Filterorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Aufgabenliste_Zeitfilter:\n\n switch (this.Pool.Mitarbeitersettings.AufgabenTerminfiltervariante) {\n\n case this.Const.Faelligkeitsterminfiltervarianten.Seit_dem_Zeitpunkt:\n\n return 'Seit dem Zeitpunkt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Bis_zum_Zeitpunkt:\n\n return 'Bis zum Zeitpunkt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Zeitspanne:\n\n return 'Zeitspanne';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Nur_diesen_Monat:\n\n return 'Monat';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Nur_diese_Woche:\n\n return 'Woche';\n\n break;\n\n default:\n\n return 'Zeitfilter';\n\n break;\n }\n\n break;\n\n default:\n\n return 'Zeitfilter';\n\n break;\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetZeitfilterButtontext', this.Debug.Typen.Component);\n }\n }\n\n GetZeitfilterButtonwert(): string {\n\n try {\n\n let Starttag: Moment;\n let Endetag: Moment;\n let Text: string = '';\n\n if(this.Pool.Mitarbeitersettings !== null) {\n\n switch (this.Filterorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Aufgabenliste_Zeitfilter:\n\n switch (this.Pool.Mitarbeitersettings.AufgabenTerminfiltervariante) {\n\n case this.Const.Faelligkeitsterminfiltervarianten.Seit_dem_Zeitpunkt:\n\n if(this.Pool.Mitarbeitersettings.AufgabenTerminfilterStartwert !== null) {\n\n Starttag = moment(this.Pool.Mitarbeitersettings.AufgabenTerminfilterStartwert);\n\n return Starttag.format('DD.MM.YYYY');\n }\n else return 'Unbekannt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Bis_zum_Zeitpunkt:\n\n if(this.Pool.Mitarbeitersettings.AufgabenTerminfilterEndewert !== null) {\n\n Endetag = moment(this.Pool.Mitarbeitersettings.AufgabenTerminfilterEndewert);\n\n return Endetag.format('DD.MM.YYYY');\n }\n else return 'Unbekannt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Zeitspanne:\n\n if(this.Pool.Mitarbeitersettings.AufgabenTerminfilterStartwert !== null) {\n\n Starttag = moment(this.Pool.Mitarbeitersettings.AufgabenTerminfilterStartwert);\n\n Text += Starttag.format('DD.MM.YYYY');\n }\n else Text += 'Unbekannt';\n\n Text += ' - ';\n\n if(this.Pool.Mitarbeitersettings.AufgabenTerminfilterEndewert !== null) {\n\n Endetag = moment(this.Pool.Mitarbeitersettings.AufgabenTerminfilterEndewert);\n\n Text += Endetag.format('DD.MM.YYYY');\n }\n else Text += 'Unbekannt';\n\n return Text;\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Nur_diesen_Monat:\n\n return 'Unbekannt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Nur_diese_Woche:\n\n return 'Unbekannt';\n\n break;\n\n default:\n\n return 'kein Filter';\n\n break;\n }\n\n break;\n\n default:\n\n return 'Zeitfilter';\n\n break;\n\n }\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetZeitfilterButtonwert', this.Debug.Typen.Component);\n }\n }\n\n\n MeintagClicked() {\n\n try {\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Mein_Tag;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'MeintagClicked', this.Debug.Typen.Component);\n }\n }\n\n\n MeineWocheClicked() {\n\n try {\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Meine_Woche;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'MeineWocheClicked', this.Debug.Typen.Component);\n }\n }\n\n MeilensteineClicked() {\n\n try {\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Meilensteine;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'MeilensteineClicked', this.Debug.Typen.Component);\n }\n }\n\n ProjektClicked() {\n\n try {\n\n if(this.Menuservice.Aufgabenlisteansicht !== this.Menuservice.Aufgabenlisteansichten.Projekt) {\n\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Projekt;\n }\n else {\n\n this.ShowProjektauswahlEvent.emit();\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ProjektClicked', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n ProjektGoBackClicked() {\n\n try {\n\n let Aufgabenansichten: Aufgabenansichtstruktur;\n\n if(this.DBProjekte.CurrentProjektindex > 0) {\n\n this.DBProjekte.CurrentProjektindex--;\n\n this.DBProjekte.CurrentProjekt = this.DBProjekte.Projektliste[this.DBProjekte.CurrentProjektindex];\n this.Pool.Mitarbeitersettings.Favoritprojektindex = this.DBProjekte.CurrentProjektindex;\n this.Pool.Mitarbeitersettings.ProjektID = this.DBProjekte.CurrentProjekt._id;\n\n Aufgabenansichten = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt._id);\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, Aufgabenansichten);\n\n this.DBProjekte.CurrentFavoritenProjektChanged.emit();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ProjektGoBackClicked', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n\n ProjektGoForwardClicked() {\n\n try {\n\n let Aufgabenansichten: Aufgabenansichtstruktur;\n\n if(this.DBProjekte.CurrentProjektindex < this.DBProjekte.Projektliste.length - 1) {\n\n this.DBProjekte.CurrentProjektindex++;\n this.DBProjekte.CurrentProjekt = this.DBProjekte.Projektliste[this.DBProjekte.CurrentProjektindex];\n\n this.Pool.Mitarbeitersettings.Favoritprojektindex = this.DBProjekte.CurrentProjektindex;\n this.Pool.Mitarbeitersettings.ProjektID = this.DBProjekte.CurrentProjekt._id;\n\n\n Aufgabenansichten = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt._id);\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, Aufgabenansichten);\n\n this.DBProjekte.CurrentFavoritenProjektChanged.emit();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ProjektGoForwardClicked', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n\n GetProjektBackButtoncolor(): string {\n\n try {\n\n if(this.Menuservice.Aufgabenlisteansicht === this.Menuservice.Aufgabenlisteansichten.Projekt && this.DBProjekte.CurrentProjektindex > 0) {\n\n return 'grau';\n }\n else {\n\n return 'silber';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetProjektBackButtoncolor', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n GetProjektForwardButtoncolor(): string {\n\n try {\n\n if(this.Menuservice.Aufgabenlisteansicht === this.Menuservice.Aufgabenlisteansichten.Projekt && this.DBProjekte.CurrentProjektindex < this.DBProjekte.Projektliste.length - 1) {\n\n return 'grau';\n }\n else {\n\n return 'silver';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetProjektForwardButtoncolor', this.Debug.Typen.Component);\n }\n }\n\n\n */\n ProjektfilesClicked() {\n\n try {\n\n this.GraphService.FilebrowserModus = this.GraphService.FilebrowserModusvarianten.Current_Projekt;\n\n this.ShowProjektfilesEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ProjektfilesClicked', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n GetKostengruppenname(id: string): string {\n\n try {\n\n let Kategorie: Festlegungskategoriestruktur;\n\n if(this.DBProjekte.CurrentProjekt !== null && this.Pool.Mitarbeitersettings !== null) {\n\n Kategorie = lodash.find(this.Pool.Festlegungskategorienliste[this.DBProjekte.CurrentProjekt.Projektkey], (Eintrag: Festlegungskategoriestruktur) => {\n\n return Eintrag.Unterkostengruppe === this.Pool.Mitarbeitersettings.UnterkostengruppeFilter &&\n Eintrag.Hauptkostengruppe === this.Pool.Mitarbeitersettings.HauptkostengruppeFilter &&\n Eintrag.Oberkostengruppe === this.Pool.Mitarbeitersettings.OberkostengruppeFilter;\n });\n\n if(!lodash.isUndefined(Kategorie)) {\n\n return Kategorie.Kostengruppennummer + ' ' + Kategorie.Beschreibung;\n }\n else {\n\n return 'Alle';\n\n }\n }\n else {\n\n return 'Alle';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetKostengruppenname', this.Debug.Typen.Component);\n }\n }\n\n */\n\n ShowOpenFestlegungOnlyChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.ShowOpenFestlegungOnly = event.status;\n\n this.ShowOpenFestlegungOnlyEvent.emit(event.status);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowOpenFestlegungOnlyChanged', this.Debug.Typen.Component);\n }\n }\n\n\n GetDatumtext(tag: string): string {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Montag: Moment = Heute.clone().startOf('isoWeek');\n\n switch (tag) {\n\n case 'Montag':\n\n return Montag.format('DD.MM.');\n\n break;\n\n case 'Dienstag':\n\n return Montag.clone().add(1,'day').format('DD.MM.');\n\n break;\n\n case 'Mittwoch':\n\n return Montag.clone().add(2,'day').format('DD.MM.');\n\n break;\n\n case 'Donnerstag':\n\n return Montag.clone().add(3,'day').format('DD.MM.');\n\n break;\n\n case 'Freitag':\n\n return Montag.clone().add(4,'day').format('DD.MM.');\n\n break;\n\n }\n\n return '';\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetDatumtext', this.Debug.Typen.Component);\n }\n }\n\n /*\n ShowBeschereibungenChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.DBProjekte.CurrentProjekt.DisplayBeschreibungen = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowBeschereibungenChanged', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n DisplayKG410Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG410 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG410Changed', this.Debug.Typen.Page);\n }\n }\n\n */\n\n /*\n\n DisplayKG420Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG420 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG420Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG430Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG430 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG430Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG434Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG434 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG434Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG440Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG440 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG440Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG450Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG450 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG450Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG460Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG460 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG460Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG475Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG475 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG475Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG480Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG480 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG480Changed', this.Debug.Typen.Page);\n }\n }\n\n */\n\n /*\n ShowUngenutzteChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.DBProjekte.CurrentProjekt.DisplayUngenutzte = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowUngenutzteChanged', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n AlleProjekteClicked() {\n\n try {\n\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Alle;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'AlleProjekteClicked', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n ShowLOPListeInfoeintraegeChangedHandler(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.DBLOPliste.ShowLOPListeInfoeintraege = event.status;\n\n this.ShowLOPListeInfoeintraegeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowLOPListeInfoeintraegeChanged', this.Debug.Typen.Component);\n }\n }\n\n ShowLOPListeGewerkChangedHandler(event: {status: boolean; index: number; event: any}, Gewerk: Fachbereichestruktur) {\n\n try {\n\n Gewerk.Visible = event.status;\n\n this.Pool.CurrentLOPGewerkelisteChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowLOPListeGewerkChangedHandler', this.Debug.Typen.Component);\n }\n }\n\n */\n\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {PageHeaderMenuComponent} from \"../page-header-menu/page-header-menu.component\";\nimport {ButtonValueModule} from \"../button-value/button-value.module\";\nimport {CheckboxClonModule} from \"../checkbox-clon/checkbox-clon.module\";\nimport {ButtonValueDateModule} from \"../button-value-date/button-value-date.module\";\n\n@NgModule({\n declarations: [\n\n PageHeaderMenuComponent\n ],\n exports: [\n\n PageHeaderMenuComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ButtonValueModule,\n CheckboxClonModule,\n ButtonValueDateModule,\n ],\n providers: [\n\n ]\n})\nexport class PageHeaderMenuModule {}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {PageHeaderComponent} from './page-header';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n PageHeaderComponent,\n ],\n exports: [\n\n PageHeaderComponent,\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ],\n providers: [\n\n ]\n})\nexport class PageHeaderModule {}\n","import { Component, Input, Output, OnInit, EventEmitter, ViewChild, ElementRef} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ConstProvider} from '../../services/const/const';\nimport {MenuController} from \"@ionic/angular\";\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\n\n@Component({\n selector: 'page-header',\n templateUrl: 'page-header.html',\n styleUrls: ['page-header.scss']\n})\nexport class PageHeaderComponent implements OnInit {\n\n @ViewChild('PageHeaderDiv', { read: ElementRef, static: true }) public PageHeaderDiv: ElementRef;\n\n @Input() ProgressMessage: string;\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public Const: ConstProvider) {\n\n try {\n\n this.ProgressMessage = 'Stammdaten werden geladen werden geladen';\n }\n catch (error) {\n\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header', 'Construktor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\n\n@Component({\n selector: 'page-modal-keeper',\n templateUrl: './page-modal-keeper.component.html',\n styleUrls: ['./page-modal-keeper.component.scss'],\n})\nexport class PageModalKeeperComponent implements OnInit {\n\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() StandortfilterClickedEvent = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() Dialoghoehe: number;\n @Input() OkButtonEneabled: boolean;\n @Input() ShowSandortfilter: boolean;\n @Input() PositionY: number;\n\n /*\n @Input() DialogVisible: boolean;\n @Output() DialogVisibleChange = new EventEmitter();\n\n */\n\n\n constructor(private Debug: DebugProvider,\n public Const: ConstProvider,\n public Basics: BasicsProvider,\n public DBStandort: DatabaseStandorteService) {\n try {\n\n this.Titel = this.Const.NONE;\n this.Iconname = 'help-circle-outline';\n // this.DialogVisible = false;\n this.Dialogbreite = 400;\n this.Dialoghoehe = 300;\n this.OkButtonEneabled = true;\n this.ShowSandortfilter = true;\n this.PositionY = 100;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'consturctor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n\n CancelButtonClicked() {\n\n this.CancelClickedEvent.emit();\n // this.DialogVisibleChange.emit(false);\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n\n this.OkClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n StandortfilterButtonClicked() {\n\n try {\n\n this.StandortfilterClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'StandortfilterButtonClicked', this.Debug.Typen.Component);\n }\n\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {PageModalKeeperComponent} from \"./page-modal-keeper.component\";\nimport {PageHeaderModule} from \"../page-header/page-header.module\";\n\n@NgModule({\n declarations: [\n\n PageModalKeeperComponent\n ],\n exports: [\n\n PageModalKeeperComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n PageHeaderModule,\n ],\n providers: [\n\n ]\n})\nexport class PageModalKeepermodule {}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {\n UrlaubsplanungKalenderComponent,\n} from \"./urlausplanung-kalender\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {PageHeaderCenterModule} from \"../../components/page-header-center/page-header-center.module\";\n\n@NgModule({\n declarations: [\n\n UrlaubsplanungKalenderComponent\n ],\n exports: [\n\n UrlaubsplanungKalenderComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ReactiveFormsModule,\n FormsModule,\n PageFooterModule,\n PageHeaderCenterModule,\n ],\n providers: [\n\n ]\n})\nexport class UrlausplanungKalenderModule {}\n","import {\n Component,\n Input,\n Output,\n OnInit,\n EventEmitter,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n SimpleChange\n} from '@angular/core';\nimport {Moment} from \"moment\";\nimport moment from \"moment\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport 'moment-duration-format';\nimport * as lodash from \"lodash-es\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {Kalendertagestruktur} from \"../../dataclasses/kalendertagestruktur\";\nimport {Subscription} from \"rxjs\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {boolean} from \"joi\";\n\n@Component({\n selector: 'urlaubsplanung-kalender',\n templateUrl: 'urlausplanung-kalender.html',\n styleUrls: ['urlausplanung-kalender.scss']\n})\nexport class UrlaubsplanungKalenderComponent implements OnInit, OnDestroy, OnChanges {\n\n @Input() public ShowProtokollpunkte: boolean;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() Dialoghoehe: number;\n @Input() PositionY: number;\n @Input() ZIndex: number;\n @Input() Monatindex: number;\n @Input() Jahr: number;\n @Input() AddUrlaubRunning: boolean;\n @Input() AddHomeofficerunning: boolean;\n @Input() AddHalberUrlaubstagRunning: boolean;\n @Input() ShowYear: boolean;\n\n @Output() FeiertagCrossedEvent = new EventEmitter<{Name: string; Laendercode: string}>();\n @Output() FerientagCrossedEvent = new EventEmitter<{Name: string; Laendercode: string}>();\n @Output() AddUrlaubFinishedEvent = new EventEmitter();\n @Output() AddHomeofficeFinishedEvent = new EventEmitter();\n @Output() ExternUrlaubstagClickedEvent = new EventEmitter();\n\n public Kalendertageliste: Kalendertagestruktur[][];\n public KalendertageExternliste: Kalendertagestruktur[][][];\n private DataSubscription: Subscription;\n private MonateSubscription: Subscription;\n public Monatname: string;\n private ExterneUrlaubSubscription: Subscription;\n private UrlaubStatusSubscription: Subscription;\n private HomeofficeStatusSubscription: Subscription;\n private ExterneHomeofficeSubscription: Subscription;\n private CurrentTagindex: number;\n private CurrentWochenindex: number;\n private CancelUrlaubSubscription: Subscription;\n private UpdateKalenderSubscription: Subscription;\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public Displayservice: DisplayService,\n public DB: DatabaseUrlaubService,\n private Tools: ToolsProvider,\n public Const: ConstProvider) {\n try {\n\n this.Dialogbreite = 300;\n this.Dialoghoehe = 400;\n this.Jahr = 2023;\n this.ShowProtokollpunkte = true;\n this.Kalendertageliste = [];\n this.KalendertageExternliste = [];\n this.Monatname = 'none';\n this.AddUrlaubRunning = false;\n this.AddHomeofficerunning = false;\n this.Monatindex = 0;\n this.ShowYear = false;\n this.CurrentWochenindex = null;\n this.CurrentTagindex = null;\n this.Monatname = this.DB.Monateliste[this.Monatindex];\n\n this.DataSubscription = null;\n this.MonateSubscription = null;\n this.ExterneUrlaubSubscription = null;\n this.UrlaubStatusSubscription = null;\n this.HomeofficeStatusSubscription = null;\n this.ExterneHomeofficeSubscription = null;\n this.CancelUrlaubSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Kalender', 'Construktor', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n try {\n\n let Monatindexvalue: SimpleChange = changes.Monatindex;\n let AddHomeofficerunningvalue: SimpleChange = changes.AddHomeofficerunning;\n\n if(!lodash.isUndefined(Monatindexvalue)) {\n\n this.PrepareData();\n }\n\n if(!lodash.isUndefined(AddHomeofficerunningvalue)) {\n\n if(AddHomeofficerunningvalue.firstChange === false && AddHomeofficerunningvalue.previousValue === false && AddHomeofficerunningvalue.currentValue === true) {\n\n this.DB.CurrentHomeofficecounter = 0;\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'ngOnChanges', this.Debug.Typen.Component);\n }\n\n }\n\n private PrepareData() {\n\n try {\n\n let Tageanzahl: number;\n let Tagesumme: number;\n let Tagindex: number;\n let Tage: number;\n let Wochenanazahl: number;\n let Monattext: any = this.Monatindex + 1;\n let Tag: Kalendertagestruktur;\n let Startdatum: Moment;\n let Endedatum: Moment;\n let Datum: Moment;\n let Mitarbeiterindex: number;\n let Datumsicherung: Moment;\n let Kalenderewoche: number;\n let Wochentagnummer: number;\n\n this.Monatname = this.DB.Monateliste[this.Monatindex];\n\n if(Monattext < 10 ) Monattext = '0' + Monattext.toString();\n else Monattext = Monattext.toString();\n\n Tageanzahl = moment(this.Jahr.toString() + '-' + Monattext , \"YYYY-MM\").daysInMonth(); // 31\n Tagesumme = Tageanzahl;\n\n let MonatStartdatum: Moment = moment().set({date: 1, month: this.Monatindex, year: this.Jahr, hour: 8, minute: 0}).locale('de');\n let MonatEndedatum: Moment = moment().set({date: Tageanzahl, month: this.Monatindex, year: this.Jahr, hour: 8, minute: 0}).locale('de');\n\n Tagindex = MonatStartdatum.isoWeekday();\n Tage = Tagindex - 1;\n Tagesumme = Tagesumme + Tage;\n\n Startdatum = MonatStartdatum.clone().subtract(Tage, 'day');\n Datum = Startdatum.clone();\n Tagindex = MonatEndedatum.isoWeekday();\n Tage = 7 - Tagindex;\n Tagesumme = Tagesumme + Tage;\n Wochenanazahl = Tagesumme / 7;\n Datumsicherung = Datum.clone();\n\n this.Kalendertageliste = [];\n\n for(let wochenindex = 0; wochenindex < Wochenanazahl; wochenindex++) {\n\n this.Kalendertageliste[wochenindex] = [];\n\n for(let tagindex = 0; tagindex < 7; tagindex++) {\n\n Kalenderewoche = Datum.isoWeek();\n\n Tag = {\n\n Tagnummer: Datum.date(),\n Tag: Datum.format('dddd'),\n Datumstring: Datum.format('DD.MM.YYYY'),\n Hauptmonat: Datum.isSameOrAfter(MonatStartdatum, 'day') && Datum.isSameOrBefore(MonatEndedatum, 'day'),\n Kalenderwoche: Kalenderewoche,\n Tagstempel: Datum.valueOf(),\n Datum: Datum,\n };\n\n if(lodash.isUndefined(this.DB.Kalenderwochenhoehenliste[Kalenderewoche])) this.DB.Kalenderwochenhoehenliste[Kalenderewoche] = [];\n\n // Feiertag eintragen\n\n Tag.IsFeiertag_DE = this.DB.CheckIsFeiertag(Tag, 'DE');\n Tag.IsFeiertag_BG = this.DB.CheckIsFeiertag(Tag, 'BG');\n\n if(Tag.IsFeiertag_DE) Tag.Feiertagname_DE = this.DB.GetFeiertag(Tag, 'DE').Feiertagname_DE; // 'DE: ' +\n else Tag.Feiertagname_DE = '';\n\n if(Tag.IsFeiertag_BG) Tag.Feiertagname_BG = this.DB.GetFeiertag(Tag, 'BG').Feiertagname_BG; // 'BG: ' +\n else Tag.Feiertagname_BG = '';\n\n // Ferientage eintragen\n\n Tag.IsFerientag_DE = this.DB.CheckIsFerientag(Tag, 'DE');\n Tag.IsFerientag_BG = this.DB.CheckIsFerientag(Tag, 'BG');\n\n if(Tag.IsFerientag_DE) Tag.Ferienname_DE = this.DB.GetFerientag(Tag, 'DE').Ferienname_DE; // 'DE: ' +\n else Tag.Ferienname_DE = '';\n\n if(Tag.IsFerientag_BG) Tag.Ferienname_BG = this.DB.GetFerientag(Tag, 'BG').Ferienname_BG; // 'BG: ' +\n else Tag.Ferienname_BG = '';\n\n\n Tag.Background = 'white';\n Tag.Color = 'black';\n Tag.IsUrlaub = false;\n Tag.IsHomeoffice = false;\n Tag.IsHalberUrlaubstag = false;\n\n // Urlaube eintragen\n\n if(this.DB.CurrentUrlaub !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Urlaubzeitspannen) {\n\n Startdatum = moment(Zeitspanne.Startstempel);\n Endedatum = moment(Zeitspanne.Endestempel);\n\n if(Datum.isSameOrAfter(Startdatum, 'day') === true &&\n Datum.isSameOrBefore(Endedatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsUrlaub = true;\n Tag.Background = this.DB.GetUrlaubStatuscolor(Zeitspanne);\n Tag.Color = 'white';\n\n break;\n }\n }\n }\n\n // Halbe Urlaubstage eintragen\n\n if(this.DB.CurrentUrlaub !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Halbertag) {\n\n Startdatum = moment(Zeitspanne.Startstempel);\n Endedatum = moment(Zeitspanne.Endestempel);\n\n if(Datum.isSame(Startdatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsHalberUrlaubstag = true;\n Tag.IsUrlaub = true;\n Tag.Background = this.DB.GetUrlaubStatuscolor(Zeitspanne);\n Tag.Color = 'white';\n\n break;\n }\n }\n }\n }\n\n // Homeoffice eintragen\n\n if(this.DB.CurrentUrlaub !== null && this.Pool.Mitarbeitersettings !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Homeofficezeitspannen) {\n\n Startdatum = moment(Zeitspanne.Startstempel);\n Endedatum = moment(Zeitspanne.Endestempel);\n\n if(Datum.isSameOrAfter(Startdatum, 'day') === true &&\n Datum.isSameOrBefore(Endedatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsHomeoffice = true;\n Tag.Background = this.Pool.Mitarbeitersettings.ShowHomeoffice ? this.DB.GetHomeofficeStatuscolor(Zeitspanne.Status) : 'none';\n Tag.Color = this.Pool.Mitarbeitersettings.ShowHomeoffice ? 'white' : 'black';\n\n\n break;\n }\n }\n }\n\n this.Kalendertageliste[wochenindex].push(Tag);\n\n Datum.add(1, 'day');\n }\n }\n\n // Externe Urlaube\n\n this.KalendertageExternliste = [];\n Mitarbeiterindex = 0;\n\n for(let i = 0; i < this.DB.UrlaublisteExtern.length; i++) {\n\n Datum = Datumsicherung.clone();\n\n if(this.DB.CheckDisplayExternenUrlaub(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern)) {\n\n this.KalendertageExternliste[Mitarbeiterindex] = [];\n\n for(let wochenindex = 0; wochenindex < Wochenanazahl; wochenindex++) {\n\n this.KalendertageExternliste[Mitarbeiterindex][wochenindex] = [];\n\n for(let tagindex = 0; tagindex < 7; tagindex++) {\n\n Tag = {\n\n Kuerzel: this.DB.UrlaublisteExtern[i].NameKuerzel,\n MitarbeiterID: this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern,\n Tagnummer: Datum.date(),\n Tag: Datum.format('dddd'),\n Datumstring: Datum.format('DD.MM.YYYY'),\n Hauptmonat: Datum.isSameOrAfter(MonatStartdatum, 'day') && Datum.isSameOrBefore(MonatEndedatum, 'day'),\n Kalenderwoche: Datum.isoWeek(),\n Tagstempel: Datum.valueOf(),\n Datum: Datum.clone(),\n IsUrlaub: false,\n IsHomeoffice: false,\n Background: 'white',\n Color: 'black'\n };\n\n // Urlaub Extern\n\n for(let UrlaubZeitspanne of this.DB.UrlaublisteExtern[i].Urlaubzeitspannen) {\n\n Startdatum = moment(UrlaubZeitspanne.Startstempel);\n Endedatum = moment(UrlaubZeitspanne.Endestempel);\n Kalenderewoche = Startdatum.isoWeek();\n\n if(lodash.isUndefined(this.DB.Kalenderwochenhoehenliste[Kalenderewoche])) {\n\n this.DB.Kalenderwochenhoehenliste[Kalenderewoche] = [];\n\n for(let i = 0; i < 5; i++) {\n\n this.DB.Kalenderwochenhoehenliste[Kalenderewoche][i] = [];\n }\n }\n\n if(Datum.isSameOrAfter(Startdatum, 'day') === true &&\n Datum.isSameOrBefore(Endedatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsUrlaub = true;\n Tag.IsHomeoffice = false;\n Tag.Background = this.DB.GetUrlaubStatuscolor(UrlaubZeitspanne);\n Tag.Color = 'white';\n\n Wochentagnummer = Datum.weekday();\n\n debugger;\n\n if(lodash.isUndefined(this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer]) === false && this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer].indexOf(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern) === -1) {\n\n this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer].push(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern);\n }\n\n break;\n }\n }\n\n // Homeoffice Extern\n\n for(let HomeofficeZeitspanne of this.DB.UrlaublisteExtern[i].Homeofficezeitspannen) {\n\n Startdatum = moment(HomeofficeZeitspanne.Startstempel);\n Endedatum = moment(HomeofficeZeitspanne.Endestempel);\n\n if(Datum.isSameOrAfter(Startdatum, 'day') === true &&\n Datum.isSameOrBefore(Endedatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsHomeoffice = true;\n Tag.IsUrlaub = false;\n Tag.Background = this.DB.GetHomeofficeStatuscolor(HomeofficeZeitspanne.Status);\n Tag.Color = 'white';\n\n Wochentagnummer = Datum.weekday();\n\n if(lodash.isUndefined(this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer]) === false && this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer].indexOf(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern) === -1) {\n\n this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer].push(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern);\n }\n\n break;\n }\n }\n\n this.KalendertageExternliste[Mitarbeiterindex][wochenindex].push(Tag);\n\n Datum.add(1, 'day');\n }\n }\n\n Mitarbeiterindex++;\n }\n }\n\n // debugger;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Kalender', 'PrepareData', this.Debug.Typen.Component);\n }\n }\n\n\n ngOnInit() {\n\n try {\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n\n this.MonateSubscription = this.DB.PlanungsmonateChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.ExterneUrlaubSubscription = this.DB.ExterneUrlaubeChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.ExterneHomeofficeSubscription = this.DB.ExterneHomeofficeChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.UrlaubStatusSubscription = this.DB.UrlaubStatusChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.HomeofficeStatusSubscription = this.DB.HomeofficeStatusChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.CancelUrlaubSubscription = this.DB.AddUrlaubCancelEvent.subscribe(() => {\n\n this.CancelUrlaub();\n });\n\n this.UpdateKalenderSubscription = this.DB.UpdateKalenderRequestEvent.subscribe(() => {\n\n this.PrepareData();\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Kalender', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.ProjektpunktDateKwPicker);\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n this.MonateSubscription.unsubscribe();\n this.MonateSubscription = null;\n\n this.ExterneUrlaubSubscription.unsubscribe();\n this.ExterneUrlaubSubscription = null;\n\n this.UrlaubStatusSubscription.unsubscribe();\n this.UrlaubStatusSubscription = null;\n\n this.HomeofficeStatusSubscription.unsubscribe();\n this.HomeofficeStatusSubscription = null;\n\n this.ExterneHomeofficeSubscription.unsubscribe();\n this.ExterneHomeofficeSubscription = null;\n\n this.CancelUrlaubSubscription.unsubscribe();\n this.CancelUrlaubSubscription = null;\n\n this.UpdateKalenderSubscription.unsubscribe();\n this.UpdateKalenderSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Kalender', 'ngOnDestroy', this.Debug.Typen.Component);\n }\n }\n\n FeietragMouseOverEvent(Tag: Kalendertagestruktur, laendercode: string) {\n\n try {\n\n let Name: string = '';\n let Datum: Moment = moment(Tag.Tagstempel).locale(laendercode === 'DE' ? 'de' : 'en');\n\n if(Tag.IsFeiertag_DE || Tag.IsFeiertag_BG) {\n\n if(laendercode === 'DE' && Tag.IsFeiertag_DE) {\n\n Name = Tag.Feiertagname_DE + ' / ' + Datum.format('D. MMMM YYYY');\n\n this.FeiertagCrossedEvent.emit({Name: Name, Laendercode: laendercode});\n }\n else if (laendercode === 'BG' && Tag.IsFeiertag_BG){\n\n Name = Tag.Feiertagname_BG + ' / ' + Datum.format('D. MMMM YYYY');\n\n this.FeiertagCrossedEvent.emit({Name: Name, Laendercode: laendercode});\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'FeietragMouseOverEvent', this.Debug.Typen.Component);\n }\n }\n\n FerientagMouseOverEvent(Tag: Kalendertagestruktur, laendercode: string) {\n\n try {\n\n let Name: string = laendercode === 'DE' ? Tag.Ferienname_DE : Tag.Ferienname_BG;\n\n this.FerientagCrossedEvent.emit({Name: Name, Laendercode: laendercode});\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'FerientagMouseOverEvent', this.Debug.Typen.Component);\n }\n }\n\n TagClicked(event: MouseEvent, Tag: Kalendertagestruktur, Wocheindex: number, CurrentTagindex: number) {\n\n try {\n\n let EndeDatum: Moment;\n let Startdatum: Moment;\n let Kalendertag: Kalendertagestruktur;\n let Anzahl: number = 0 ;\n let IsFeiertag: boolean = this.DB.Laendercode === 'DE' ? Tag.IsFeiertag_DE : Tag.IsFeiertag_BG;\n let Resturlaub: number;\n let IsUrlaub: boolean = Tag.IsUrlaub && this.DB.CurrentUrlaubzeitspanne === null;\n let IsHomeoffice: boolean = Tag.IsHomeoffice;\n let Starttagindex: number;\n let Endetagindex: number;\n let Heute: Moment = moment();\n\n event.stopPropagation();\n event.preventDefault();\n\n this.CurrentTagindex = CurrentTagindex;\n this.CurrentWochenindex = Wocheindex;\n\n if(this.AddUrlaubRunning) {\n\n if (IsFeiertag === false && IsHomeoffice === false && IsUrlaub === false) {\n\n if (this.DB.CurrentUrlaubzeitspanne === null) {\n\n this.DB.CurrentUrlaubzeitspanne = this.DB.GetEmptyUrlaubszeitspanne();\n\n this.DB.CurrentUrlaubzeitspanne.Startstempel = Tag.Tagstempel;\n this.DB.CurrentUrlaubzeitspanne.Startstring = Tag.Datumstring;\n\n Tag.Background = this.DB.Urlaubsfaben.Geplant;\n Tag.IsUrlaub = true;\n Tag.Color = 'white';\n\n } else {\n\n Startdatum = moment(this.DB.CurrentUrlaubzeitspanne.Startstempel);\n Starttagindex = Startdatum.isoWeekday() - 1;\n Endetagindex = CurrentTagindex;\n EndeDatum = moment(Tag.Tagstempel);\n\n if (EndeDatum.isSameOrAfter(Startdatum, 'day') === true && EndeDatum.isSame(Startdatum, 'week')) {\n\n this.DB.CurrentUrlaubzeitspanne.Endestempel = Tag.Tagstempel;\n this.DB.CurrentUrlaubzeitspanne.Endestring = Tag.Datumstring;\n\n if(EndeDatum.isSameOrBefore(Heute)) {\n\n this.DB.CurrentUrlaubzeitspanne.Status = this.DB.Urlaubstatusvarianten.Genehmigt;\n this.DB.CurrentUrlaubzeitspanne.FreigabeanfrageSended = true;\n this.DB.CurrentUrlaubzeitspanne.FreigabeantwortSended = true;\n this.DB.CurrentUrlaubzeitspanne.FreigabeantwortOfficeSended = true;\n this.DB.CurrentUrlaubzeitspanne.Planungmeldung = 'Der Urlaub befand sich zum Tage der Eintragung am ' + Heute.format('DD.MM.YYYY') + ' in der Vergangenheit.';\n }\n\n for (let Index = Starttagindex; Index <= Endetagindex; Index++) {\n\n Kalendertag = this.Kalendertageliste[Wocheindex][Index];\n IsFeiertag = this.DB.Laendercode === 'DE' ? Kalendertag.IsFeiertag_DE : Kalendertag.IsFeiertag_BG;\n\n if (IsFeiertag === false) {\n\n Kalendertag.Background = this.DB.Urlaubsfaben.Geplant;\n Kalendertag.IsUrlaub = true;\n Kalendertag.Color = 'white';\n\n Anzahl++;\n }\n }\n\n this.DB.CurrentUrlaubzeitspanne.Tageanzahl = Anzahl;\n\n Resturlaub = this.DB.CountResturlaub();\n\n if (Resturlaub - Anzahl >= 0) {\n\n this.AddUrlaubFinishedEvent.emit(true);\n\n } else {\n\n this.Tools.ShowHinweisDialog('Du hast nur noch ' + Resturlaub + ' Tage Resturlaub.');\n\n this.DB.CurrentUrlaubzeitspanne = null;\n\n window.setTimeout(() => {\n\n for (let Index = Starttagindex; Index < Endetagindex; Index++) {\n\n Kalendertag = this.Kalendertageliste[Wocheindex][Index];\n IsFeiertag = this.DB.Laendercode === 'DE' ? Kalendertag.IsFeiertag_DE : Kalendertag.IsFeiertag_BG;\n\n if (IsFeiertag === false) {\n\n Kalendertag.Background = 'none';\n Kalendertag.IsUrlaub = false;\n Kalendertag.Color = 'black';\n }\n }\n\n this.AddUrlaubFinishedEvent.emit(false);\n\n }, 3000);\n\n }\n } else {\n\n this.Tools.ShowHinweisDialog('Bitte Tag in der gleichen Woche wählen.');\n }\n }\n\n } else {\n\n if (IsFeiertag) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Feiertag.');\n else if(IsHomeoffice) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Homeofficetag.');\n else this.Tools.ShowHinweisDialog('Dieser Tag ist bereits ein Urlaubstag.');\n }\n }\n\n if(this.AddHomeofficerunning) {\n\n if(IsFeiertag === false && IsUrlaub === false && IsHomeoffice === false) {\n\n this.DB.CurrentHomeofficezeitspanne = this.DB.GetEmptyHomeofficezeitspanne();\n\n this.DB.CurrentHomeofficezeitspanne.Startstempel = Tag.Tagstempel;\n this.DB.CurrentHomeofficezeitspanne.Endestempel = Tag.Tagstempel;\n this.DB.CurrentHomeofficezeitspanne.Startstring = Tag.Datumstring;\n this.DB.CurrentHomeofficezeitspanne.Endestring = Tag.Datumstring;\n this.DB.CurrentHomeofficezeitspanne.Tageanzahl = 1;\n\n Kalendertag = this.Kalendertageliste[Wocheindex][CurrentTagindex];\n Kalendertag.Background = this.DB.Homeofficefarben.Geplant;\n Kalendertag.IsHomeoffice = true;\n Kalendertag.Color = 'white';\n\n this.DB.CurrentHomeofficecounter++;\n\n this.AddHomeofficeFinishedEvent.emit(true);\n\n } else {\n\n if (IsFeiertag) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Feiertag.');\n else if(IsHomeoffice) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Homeofficetag.');\n else this.Tools.ShowHinweisDialog('Dieser Tag ist bereits ein Urlaubstag.');\n\n this.DB.CurrentHomeofficezeitspanne = null;\n }\n }\n\n if(this.AddHalberUrlaubstagRunning) {\n\n if(IsFeiertag === false && IsUrlaub === false && IsHomeoffice === false) {\n\n this.DB.CurrentUrlaubzeitspanne = this.DB.GetEmptyUrlaubszeitspanne();\n\n this.DB.CurrentUrlaubzeitspanne.Halbertag = true;\n this.DB.CurrentUrlaubzeitspanne.Startstempel = Tag.Tagstempel;\n this.DB.CurrentUrlaubzeitspanne.Endestempel = Tag.Tagstempel;\n this.DB.CurrentUrlaubzeitspanne.Startstring = Tag.Datumstring;\n this.DB.CurrentUrlaubzeitspanne.Endestring = Tag.Datumstring;\n this.DB.CurrentUrlaubzeitspanne.Tageanzahl = 0.5;\n\n Kalendertag = this.Kalendertageliste[Wocheindex][CurrentTagindex];\n Kalendertag.Background = this.DB.Urlaubsfaben.Geplant;\n Kalendertag.IsUrlaub = true;\n Kalendertag.IsHalberUrlaubstag = true;\n Kalendertag.Color = 'white';\n\n\n this.AddUrlaubFinishedEvent.emit(true);\n\n } else {\n\n if (IsFeiertag) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Feiertag.');\n else if(IsUrlaub) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Urlaubstag.');\n else this.Tools.ShowHinweisDialog('Dieser Tag ist bereits ein Homeofficetag.');\n\n this.DB.CurrentUrlaubzeitspanne = null;\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'TagClicked', this.Debug.Typen.Component);\n }\n }\n\n GetMonatname(): string {\n\n try {\n\n let Text: string = this.Monatname;\n\n if(this.ShowYear) Text += ' ' + this.Jahr;\n\n return Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'GetMonatname', this.Debug.Typen.Component);\n }\n }\n\n GetTagBackground(Tag: Kalendertagestruktur): string {\n\n try {\n\n if(Tag.IsUrlaub === true || Tag.IsHomeoffice === true) {\n\n if (Tag.IsUrlaub) return Tag.Background;\n else if(Tag.IsHomeoffice === true && this.Pool.Mitarbeitersettings.ShowHomeoffice === true) return Tag.Background;\n else return 'none';\n }\n else return 'none';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'GetTagBackground', this.Debug.Typen.Component);\n }\n }\n\n private CancelUrlaub() {\n\n try {\n\n\n let Kalendertag: Kalendertagestruktur;\n\n if(lodash.isUndefined(this.CurrentWochenindex) === false && this.CurrentWochenindex !== null &&\n lodash.isUndefined(this.CurrentTagindex) === false && this.CurrentTagindex !== null) {\n\n Kalendertag = this.Kalendertageliste[this.CurrentWochenindex][this.CurrentTagindex];\n\n Kalendertag.Background = 'none';\n Kalendertag.IsUrlaub = false;\n Kalendertag.Color = 'black';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'CancelUrlaub', this.Debug.Typen.Component);\n }\n }\n\n protected readonly lodash = lodash;\n\n GetMaxExternUrlaubseintraege(Kalenderwoche: number): number {\n\n try {\n\n let Liste: string[][] = this.DB.Kalenderwochenhoehenliste[Kalenderwoche];\n // let IDListe: string[] = [];\n // let Eintrag: string;\n let Eintraege: string[];\n let Max: number = 0;\n\n if(Liste.length > 0) {\n\n if(Kalenderwoche === 25) {\n\n // debugger;\n }\n\n for(let i = 0; i < Liste.length; i++) {\n\n if(!lodash.isUndefined(Liste[i])) {\n\n Eintraege = Liste[i];\n\n if(Eintraege.length > Max) Max = Eintraege.length;\n\n /*\n for(let j = 0; j < Eintraege.length; j++) {\n\n if(lodash.isUndefined(Eintraege[j]) === false) {\n\n Eintrag = Eintraege[j];\n\n if(IDListe.indexOf(Eintrag) === -1) IDListe.push(Eintrag);\n }\n }\n\n */\n }\n }\n }\n\n return Max;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'GetMaxExternUrlaubseintraege', this.Debug.Typen.Component);\n }\n }\n\n ExternUrlaubstagClicked(event: MouseEvent, MitarbeiterID: string) {\n\n try {\n\n event.preventDefault();\n event.stopPropagation();\n\n this.ExternUrlaubstagClickedEvent.emit(MitarbeiterID);\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'ExternUrlaubstagClicked', this.Debug.Typen.Component);\n }\n\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonEinstellungenPage } from './common-einstellungen.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {SafePipeModule} from \"../../pipes/safe.pipe.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonEinstellungenPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n CheckboxClonModule,\n ButtonValueModule,\n AuswahlDialogModule,\n SafePipeModule,\n ],\n declarations: [CommonEinstellungenPage]\n})\nexport class CommonEinstellungenPageModule {}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {SecurityService} from \"../../services/security/security.service\";\nimport {\n DatabaseAppeinstellungenService\n} from \"../../services/database-appeinstellungen/database-appeinstellungen.service\";\nimport {Subscription} from \"rxjs\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport moment from \"moment\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport * as lodash from \"lodash-es\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {loadFromPath} from \"@ionic/cli/lib/ssh-config\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {cloneDeep} from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\n\n@Component({\n selector: 'common-einstellungen-page',\n templateUrl: 'common-einstellungen.page.html',\n styleUrls: ['common-einstellungen.page.scss'],\n})\nexport class CommonEinstellungenPage implements OnInit, OnDestroy {\n\n private DataSubscription: Subscription;\n public Vertreterliste: Mitarbeiterstruktur[];\n public Freigeberliste: Mitarbeiterstruktur[];\n public ShowAuswahl: boolean;\n public Auswahlindex: number;\n public Auswahltitel: string;\n public Auswahlliste: Auswahldialogstruktur[];\n\n constructor(public Pool: DatabasePoolService,\n public Const: ConstProvider,\n public Basics: BasicsProvider,\n private Tools: ToolsProvider,\n private DBUrlaub: DatabaseUrlaubService,\n private DB: DatabaseAppeinstellungenService,\n public Debug: DebugProvider) {\n try {\n\n this.DataSubscription = null;\n this.Vertreterliste = [];\n this.Freigeberliste = [];\n this.ShowAuswahl = false;\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Einstellungen', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n DebugNoExternalEmaillCheckedChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Appeinstellungen.DebugNoExternalEmail = event.status;\n\n this.DB.SaveAppeinstellungen();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'DebugNoExternalEmaillCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n ShowHomescreeninfosChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Appeinstellungen.ShowHomeScreenInfos = event.status;\n\n this.DB.SaveAppeinstellungen();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'ShowHomescreeninfosChanged', this.Debug.Typen.Page);\n }\n }\n\n async StartseiteChangedHandler(event: any) {\n\n try {\n\n this.Pool.Appeinstellungen.AdminStartseite = event.detail.value;\n\n await this.DB.SaveAppeinstellungen();\n\n this.Tools.ShowHinweisDialog('App wird neu gestartet.....');\n\n window.setTimeout(() => {\n\n location.replace(this.Pool.ApplicationURL)\n\n },500);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'StartseiteChangedHandler', this.Debug.Typen.Page);\n }\n }\n\n WartungsmodusCheckChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Appeinstellungen.Wartungsmodus = event.status;\n\n this.DB.SaveAppeinstellungen();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'WartungsmodusCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n private PrepareData() {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let CurrentMitarbeiter: Mitarbeiterstruktur;\n let Jahr: number = moment().year();\n let Urlaub: Urlaubsstruktur;\n let CurrentZeitspanne: Urlauzeitspannenstruktur;\n let Standort: Standortestruktur;\n let Vertreter: Mitarbeiterstruktur;\n let Freigeber: Mitarbeiterstruktur;\n\n this.Vertreterliste = [];\n this.Freigeberliste = [];\n\n for(CurrentMitarbeiter of this.Pool.Mitarbeiterliste) {\n\n Urlaub = lodash.find(CurrentMitarbeiter.Urlaubsliste, (currenturlaub: Urlaubsstruktur) => {\n\n return currenturlaub.Jahr === Jahr;\n });\n\n if(lodash.isUndefined(Urlaub) === false) {\n\n for(CurrentZeitspanne of Urlaub.Urlaubzeitspannen) {\n\n switch (CurrentZeitspanne.Status) {\n\n case this.DBUrlaub.Urlaubstatusvarianten.Vertreteranfrage:\n\n for(let Konversation of CurrentZeitspanne.Vertretungskonversationliste) {\n\n Vertreter = lodash.cloneDeep(lodash.find(this.Pool.Mitarbeiterliste, { _id: Konversation.VertreterID }));\n Mitarbeiter = lodash.find(this.Vertreterliste, { _id: Konversation.VertreterID });\n\n if(lodash.isUndefined(Mitarbeiter)) {\n\n Vertreter.Vertretungenanfragenanzahl = 1;\n Vertreter.Selected = false;\n Vertreter.UrlaubanfrageReminderSended = false;\n\n this.Vertreterliste.push(Vertreter);\n }\n else {\n\n Mitarbeiter.Vertretungenanfragenanzahl++;\n }\n }\n\n break;\n\n case this.DBUrlaub.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: CurrentMitarbeiter.StandortID});\n\n if(lodash.isUndefined(Standort) === false) {\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigeber = lodash.cloneDeep(lodash.find(this.Pool.Mitarbeiterliste, { _id: FreigeberID }));\n Mitarbeiter = lodash.find(this.Freigeberliste, { _id: FreigeberID });\n\n if(lodash.isUndefined(Mitarbeiter) === true) {\n\n Freigeber.Freigabenanfragenanzahl = 1;\n Freigeber.Selected = false;\n Freigeber.UrlaubanfrageReminderSended = false;\n\n this.Freigeberliste.push(Freigeber);\n }\n else {\n\n Mitarbeiter.Freigabenanfragenanzahl++;\n }\n }\n }\n\n break;\n }\n }\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n FreigberCheckedChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Freigeberliste[event.index].Selected = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'FreigberCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n VertreterCheckedChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Vertreterliste[event.index].Selected = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'VertreterCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n async SendUrlaubReminderMail() {\n\n try {\n\n for(let Vertreter of this.Vertreterliste) {\n\n if(Vertreter.Selected) {\n\n await this.DBUrlaub.SendVertreterreminder(Vertreter);\n\n Vertreter.UrlaubanfrageReminderSended = true;\n Vertreter.Selected = false;\n }\n }\n\n for(let Freigeber of this.Freigeberliste) {\n\n if(Freigeber.Selected) {\n\n await this.DBUrlaub.SendFreigabereminder(Freigeber);\n\n Freigeber.UrlaubanfrageReminderSended = true;\n Freigeber.Selected = false;\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'SendUrlaubReminderMail', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport { Routes, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { CommonHomePage } from './common-home.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {FiChangelogEditorModule} from \"../../components-page/fi-changelog-editor/fi-changelog-editor.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonHomePage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n RouterModule.forChild(routes),\n PageHeaderModule,\n AbstandElementFixedModule,\n ReactiveFormsModule,\n PageFooterModule,\n FiChangelogEditorModule\n ],\n declarations: [CommonHomePage]\n})\nexport class CommonHomePageModule {}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DatabaseAuthenticationService} from \"../../services/database-authentication/database-authentication.service\";\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport * as lodash from \"lodash-es\";\nimport {DatabaseChangelogService} from \"../../services/database-changelog/database-changelog.service\";\nimport moment, {Moment} from \"moment\";\nimport {Changelogstruktur} from \"../../dataclasses/changelogstruktur\";\nimport {filter, Subscription} from \"rxjs\";\nimport {MsalBroadcastService, MsalService} from \"@azure/msal-angular\";\nimport {AuthenticationResult, EventMessage, EventType, InteractionStatus} from \"@azure/msal-browser\";\nimport {Graphservice} from \"../../services/graph/graph\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {environment} from \"../../../environments/environment\";\nimport {SecurityService} from \"../../services/security/security.service\";\n\n\n@Component({\n selector: 'common-home-page',\n templateUrl: './common-home.page.html',\n styleUrls: ['./common-home.page.scss'],\n})\nexport class CommonHomePage implements OnInit, OnDestroy {\n\n public Title: string;\n public StandortMouseOver: boolean;\n public MitarbeiterMouseOver: boolean;\n public ProjekteMouseOver: boolean;\n public FavoritenMouseOver: boolean;\n public LogoutMouseOver: boolean;\n public DebugMouseOver: boolean;\n public EinstellungenMouseOver: boolean;\n public PlayMouseOver: boolean;\n public BackgroundimageURL: string;\n public Backgroundinterval: any;\n public ShowChangelogEditor: boolean;\n private ChangelogSubscription: Subscription;\n public ProgressMessage: string;\n public ReloadMouseOver: boolean;\n public UrlaubMouseOver: boolean;\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Const: ConstProvider,\n public Pool: DatabasePoolService,\n private authService: MsalService,\n private msalBroadcastService: MsalBroadcastService,\n public GraphService: Graphservice,\n public DBChangelog: DatabaseChangelogService,\n public AuthService: DatabaseAuthenticationService,\n private Security: SecurityService,\n private Menuservice: MenueService) {\n try\n {\n this.StandortMouseOver = false;\n this.MitarbeiterMouseOver = false;\n this.ProjekteMouseOver = false;\n this.FavoritenMouseOver = false;\n this.LogoutMouseOver = false;\n this.DebugMouseOver = false;\n this.EinstellungenMouseOver = false;\n this.PlayMouseOver = false;\n this.BackgroundimageURL = '../../../assets/background/' + lodash.random(1, 36, false).toString() + '.jpg';\n this.Backgroundinterval = null;\n this.ShowChangelogEditor = false;\n this.ChangelogSubscription = null;\n this.ProgressMessage = '';\n this.ReloadMouseOver = false;\n this.UrlaubMouseOver = false;\n\n // Test\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Security.CheckSecurity();\n\n this.ChangelogSubscription = this.Pool.ChangeloglisteChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n this.msalBroadcastService.msalSubject$\n .pipe(\n filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS),\n )\n .subscribe((result: EventMessage) => {\n\n const payload = result.payload as AuthenticationResult;\n\n this.authService.instance.setActiveAccount(payload.account);\n\n this.AuthService.ActiveUser = payload.account;\n // this.AuthService.AccessToken = payload.accessToken;\n\n this.AuthService.SetShowLoginStatus();\n\n this.AuthService.LoginSuccessEvent.emit();\n /*\n this.AuthService.SaveAccessToken(payload.accessToken).then(() => {\n\n });\n\n */\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n ionViewDidEnter() {\n\n try {\n\n let Nummer: number;\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Home;\n\n /*\n this.Backgroundinterval = window.setInterval(() => {\n\n Nummer = lodash.random(1, 36, false);\n\n this.BackgroundimageURL = '../../../assets/background/' + Nummer.toString() + '.jpg';\n\n\n }, 60000);\n\n */\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ionViewDidLeave() {\n\n try {\n\n this.Backgroundinterval = null;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'ionViewDidLeave', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.ChangelogSubscription.unsubscribe();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n FavoritChangedHandler(event: any) {\n\n try {\n\n /*\n\n this.DBProjekte.CurrentFavorit = lodash.find(this.Pool.Mitarbeiterdaten.Favoritenliste, {FavoritenID: event.detail.value});\n\n if(lodash.isUndefined(this.DBProjekte.CurrentFavorit)) this.DBProjekte.CurrentFavorit = null;\n\n if(this.DBProjekte.CurrentFavorit === null) {\n\n this.Pool.Mitarbeitersettings.FavoritenID = null;\n this.DBProjekte.CurrentFavoritenlisteindex = null;\n this.Pool.Mitarbeitersettings.ProjektID = null;\n }\n else {\n\n this.Pool.Mitarbeitersettings.FavoritenID = this.DBProjekte.CurrentFavorit.FavoritenID;\n this.DBProjekte.CurrentFavoritenlisteindex = lodash.findIndex(this.Pool.Mitarbeiterdaten.Favoritenliste, {FavoritenID: this.DBProjekte.CurrentFavorit.FavoritenID});\n this.Pool.Mitarbeitersettings.ProjektID = null;\n }\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'FavoritChangedHandler', this.Debug.Typen.Page);\n }\n }\n\n DebugButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.DebugPage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'DebugButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n EinstellungenButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.EinstellungenPage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'EinstellungenButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n LogoutButtonClicked() {\n\n try {\n\n this.Pool.ProjektdatenLoaded = false;\n\n this.AuthService.Logout();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'LogoutButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n LoginButtonClicked() {\n\n try {\n\n this.Pool.ProjektdatenLoaded = false;\n\n this.AuthService.Login();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'LoginButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n StandorteButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.FiStandortelistePage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'StandorteButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.FiMitarbeiterlistePage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'MitarbeiterButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n PlanerButtonClicked() {\n\n try {\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Planung;\n\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubPlanungPage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'PlanerButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n ProjekteButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.PjListePage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'ProjekteButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n FavoritenButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.PjFavoritenlistePage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'FavoritenButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n public async PlayButtonClicked() {\n\n try {\n\n /*\n\n let Aufgabenansicht: Aufgabenansichtstruktur;\n\n if(this.DBProjekte.CurrentFavorit !== null && this.DBProjekte.GesamtprojektlisteHasDatenerror === false) {\n\n if(this.Pool.ProjektdatenLoaded === false) {\n\n this.ProgressMessage = 'Projektdaten werden geladen';\n\n this.DBProjekte.SetProjekteliste(this.DBProjekte.CurrentFavorit.Projekteliste);\n this.DBProjekte.SetCurrentFavoritenprojekt();\n\n await this.Pool.ReadProjektdaten(this.DBProjekte.Projektliste);\n\n Aufgabenansicht = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt !== null ? this.DBProjekte.CurrentProjekt._id : null);\n\n await this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, Aufgabenansicht);\n\n this.Pool.ProjektdatenLoaded = true;\n }\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Projekte;\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Projekt;\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n }\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'PlayButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n GetFavoritenlistehoehe(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.Pool.Mitarbeiterdaten !== null) {\n\n Anzahl = this.Pool.Mitarbeiterdaten.Favoritenliste.length === 0 ? 2 : this.Pool.Mitarbeiterdaten.Favoritenliste.length;\n }\n\n if(Anzahl === 0) Anzahl = 1;\n\n return Anzahl * 50;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'GetFavoritenlistehoehe', this.Debug.Typen.Page);\n }\n }\n\n AddChangelogClicked() {\n\n try {\n\n this.DBChangelog.CurrentChangelog = this.DBChangelog.GetEmptyChangelog();\n this.ShowChangelogEditor = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'AddChangelogClicked', this.Debug.Typen.Page);\n }\n }\n\n GetDatum(Zeitstempel: number): string {\n\n try {\n\n let Datum: Moment = moment(Zeitstempel);\n\n return Datum.format('DD.MM.YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'GetDatum', this.Debug.Typen.Page);\n }\n }\n\n ChangelogClicked(Changelog: Changelogstruktur) {\n\n try {\n\n this.DBChangelog.CurrentChangelog = lodash.cloneDeep(Changelog);\n this.ShowChangelogEditor = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'ChangelogClicked', this.Debug.Typen.Page);\n }\n\n }\n\n private PrepareDaten() {\n\n try {\n\n let Changelog: Changelogstruktur;\n\n if(this.Pool.Changlogliste.length > 0) {\n\n Changelog = this.Pool.Changlogliste[0];\n\n this.Basics.AppVersionName = Changelog.Version;\n this.Basics.AppVersionDatum = moment(Changelog.Zeitstempel).format('DD.MM.YYYY');\n\n } else {\n\n this.Basics.AppVersionName = 'none';\n this.Basics.AppVersionDatum = 'none';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'PrepareDaten', this.Debug.Typen.Page);\n }\n }\n\n CountMitarbeiter(): string {\n\n try {\n\n return lodash.filter(this.Pool.Mitarbeiterliste, (Mitarbeiter: Mitarbeiterstruktur) => {\n\n return !Mitarbeiter.Archiviert;\n\n }).length.toString();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'CountMitarbeiter', this.Debug.Typen.Page);\n }\n }\n\n CountProjekte(): number {\n\n try {\n\n /*\n\n let Liste: Projektestruktur[] = lodash.filter(this.DBProjekte.Gesamtprojektliste, (Projekt: Projektestruktur) => {\n\n return Projekt.ProjektIsReal === true;\n\n });\n\n */\n\n return 0; // Liste.length;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'CountProjekte', this.Debug.Typen.Page);\n }\n }\n\n RelaodButtonClicked() {\n\n try {\n\n this.Pool.ProjektdatenLoaded = false;\n\n this.PlayButtonClicked();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'RelaodButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n protected readonly environment = environment;\n\n CheckAllMitarbeiterdaten(): boolean {\n\n try {\n\n let Valid: boolean = true;\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter.Archiviert === false) {\n\n if(Mitarbeiter.Kuerzel === '' || Mitarbeiter.StandortID === '') {\n\n Valid = false;\n }\n }\n }\n\n return Valid;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'CheckAllMitarbeiterdaten', this.Debug.Typen.Page);\n }\n\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubEinstellungenPage } from './common-urlaub-einstellungen.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubEinstellungenPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n ],\n declarations: [CommonUrlaubEinstellungenPage]\n})\nexport class CommonUrlaubEinstellungenPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {cloneDeep} from \"lodash-es\";\nimport {Ferienstruktur} from \"../../dataclasses/ferienstruktur\";\nimport {Feiertagestruktur} from \"../../dataclasses/feiertagestruktur\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {Subscription} from \"rxjs\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-einstellungen-page',\n templateUrl: 'common-urlaub-einstellungen.page.html',\n styleUrls: ['common-urlaub-einstellungen.page.scss'],\n})\nexport class CommonUrlaubEinstellungenPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', {static: false}) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', {static: false}) PageFooter: PageFooterComponent;\n\n public Auswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public ShowAuswahl: boolean;\n public Auswahlhoehe: number;\n\n private Auswahldialogorigin: string;\n public ShowMitarbeiterauswahl: boolean;\n public BlockCurrentMitarbeiter: boolean;\n public AuswahlIDliste: string[];\n public MitarbeiterauswahlTitel: string;\n public Projektbeteiligteliste: Mitarbeiterstruktur[];\n public Urlaubsfreigeberliste: Mitarbeiterstruktur[];\n public Homeofficefreigeberliste: Mitarbeiterstruktur[];\n public MitarbeiterMultiselect: boolean;\n public Ferienliste: Ferienstruktur[];\n public Feiertageliste: Feiertagestruktur[];\n private DataSubscription: Subscription;\n\n constructor(public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n public Const: ConstProvider,\n public DBStandort: DatabaseStandorteService,\n public DBMitarbeiterstettings: DatabaseMitarbeitersettingsService,\n public Auswahlservice: AuswahlDialogService,\n public Loadinganimation: LoadingAnimationService,\n public Tools: ToolsProvider,\n public Debug: DebugProvider) {\n try {\n\n this.Auswahlliste = [{Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.DataSubscription = null;\n this.Auswahldialogorigin = this.Const.NONE;\n this.ShowMitarbeiterauswahl = false;\n this.AuswahlIDliste = [];\n this.MitarbeiterauswahlTitel = '';\n this.MitarbeiterMultiselect = true;\n this.Ferienliste = [];\n this.Feiertageliste = [];\n this.Projektbeteiligteliste = [];\n this.Urlaubsfreigeberliste = [];\n this.Homeofficefreigeberliste = [];\n this.BlockCurrentMitarbeiter = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n private PrepareData() {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let Standort: Standortestruktur;\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.CountAnfragenanzahlen();\n\n this.Projektbeteiligteliste = [];\n\n for (let Eintrag of this.DB.CurrentUrlaub.Projektbeteiligteliste) {\n\n Mitarbeiter = this.DBMitarbeiter.GetMitarbeiterByID(Eintrag.MitarbeiterID);\n\n if (Mitarbeiter !== null) this.Projektbeteiligteliste.push(Mitarbeiter);\n }\n\n this.Projektbeteiligteliste.sort((a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.DB.CurrentMitarbeiter.StandortID});\n\n this.Urlaubsfreigeberliste = [];\n\n for(let MitarbeterID of Standort.Urlaubfreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) this.Urlaubsfreigeberliste.push(Mitarbeiter);\n }\n\n this.Urlaubsfreigeberliste.sort((a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n this.Homeofficefreigeberliste = [];\n\n for(let MitarbeterID of Standort.Homeofficefreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) this.Homeofficefreigeberliste.push(Mitarbeiter);\n }\n\n this.Homeofficefreigeberliste.sort((a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n this.Ferienliste = [];\n\n if (!lodash.isUndefined(this.DB.Ferienliste[this.DB.Laendercode])) {\n\n this.Ferienliste = lodash.cloneDeep(this.DB.Ferienliste[this.DB.Laendercode]);\n }\n\n this.Feiertageliste = [];\n\n if (!lodash.isUndefined(this.DB.Feiertageliste[this.DB.Laendercode])) {\n\n this.Feiertageliste = lodash.cloneDeep(this.DB.Feiertageliste[this.DB.Laendercode]);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Eintrag: Urlaubprojektbeteiligtestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n let Index: number;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubEinstellungen_Projektbeteiligte_Auswahl:\n\n // Projektbeteiligte auf die IDListe begrezen / gelöschte entfernen\n\n this.DB.CurrentUrlaub.Projektbeteiligteliste = lodash.filter( this.DB.CurrentUrlaub.Projektbeteiligteliste, (beteiligt: Urlaubprojektbeteiligtestruktur) => {\n\n return idliste.indexOf(beteiligt.MitarbeiterID) !== -1;\n });\n\n // Neue Eintraege hinzufügen wenn nicht bereits vorhanden\n\n for(let id of idliste) {\n\n Eintrag = lodash.find(this.DB.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: id});\n\n if(lodash.isUndefined(Eintrag)) this.DB.CurrentUrlaub.Projektbeteiligteliste.push({\n MitarbeiterID: id,\n Display: false\n });\n }\n\n Index = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentUrlaub.Jahr });\n\n debugger;\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Index] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.PrepareData();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n\n break;\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubEinstellungen_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null});\n Index++;\n\n for (let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({\n Index: Index,\n FirstColumn: Eintrag.Kuerzel,\n SecoundColumn: Eintrag.Standort,\n Data: Eintrag\n });\n Index++;\n }\n\n if (this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n } else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n\n debugger;\n\n switch (this.Auswahldialogorigin) {\n\n\n case 'Urlaub':\n\n this.DB.CurrentMitarbeiter.Urlaub = data;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter);\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubEinstellungen_Standort_Filter:\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeiterstettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.PrepareData();\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n break;\n }\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterAuswahlClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubEinstellungen_Projektbeteiligte_Auswahl;\n this.MitarbeiterauswahlTitel = 'Mitarbeiter/innen auswählen';\n this.ShowMitarbeiterauswahl = true;\n this.BlockCurrentMitarbeiter = true;\n this.AuswahlIDliste = [];\n this.MitarbeiterMultiselect = true;\n\n for(let eintrag of this.DB.CurrentUrlaub.Projektbeteiligteliste) {\n\n this.AuswahlIDliste.push(eintrag.MitarbeiterID);\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n\n\n GetDatum(stempel: number) {\n\n try {\n\n return moment(stempel).format('DD.MM.YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'GetDatum', this.Debug.Typen.Page);\n }\n\n }\n\n UrlaubClickedEvent() {\n\n try {\n\n this.Auswahldialogorigin = 'Urlaub';\n this.Auswahlhoehe = 600;\n this.Auswahltitel = 'Urlaubsanspruch festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({Index: 0, FirstColumn: '10', SecoundColumn: 'Tage', Data: 10});\n this.Auswahlliste.push({Index: 1, FirstColumn: '11', SecoundColumn: 'Tage', Data: 11});\n this.Auswahlliste.push({Index: 2, FirstColumn: '12', SecoundColumn: 'Tage', Data: 12});\n this.Auswahlliste.push({Index: 3, FirstColumn: '13', SecoundColumn: 'Tage', Data: 13});\n this.Auswahlliste.push({Index: 4, FirstColumn: '14', SecoundColumn: 'Tage', Data: 14});\n this.Auswahlliste.push({Index: 5, FirstColumn: '15', SecoundColumn: 'Tage', Data: 15});\n this.Auswahlliste.push({Index: 6, FirstColumn: '16', SecoundColumn: 'Tage', Data: 16});\n this.Auswahlliste.push({Index: 7, FirstColumn: '17', SecoundColumn: 'Tage', Data: 17});\n this.Auswahlliste.push({Index: 8, FirstColumn: '18', SecoundColumn: 'Tage', Data: 18});\n this.Auswahlliste.push({Index: 9, FirstColumn: '19', SecoundColumn: 'Tage', Data: 19});\n this.Auswahlliste.push({Index: 10, FirstColumn: '20', SecoundColumn: 'Tage', Data: 20});\n this.Auswahlliste.push({Index: 11, FirstColumn: '21', SecoundColumn: 'Tage', Data: 21});\n this.Auswahlliste.push({Index: 12, FirstColumn: '22', SecoundColumn: 'Tage', Data: 22});\n this.Auswahlliste.push({Index: 13, FirstColumn: '23', SecoundColumn: 'Tage', Data: 23});\n this.Auswahlliste.push({Index: 14, FirstColumn: '24', SecoundColumn: 'Tage', Data: 24});\n this.Auswahlliste.push({Index: 15, FirstColumn: '25', SecoundColumn: 'Tage', Data: 25});\n this.Auswahlliste.push({Index: 16, FirstColumn: '26', SecoundColumn: 'Tage', Data: 26});\n this.Auswahlliste.push({Index: 17, FirstColumn: '27', SecoundColumn: 'Tage', Data: 27});\n this.Auswahlliste.push({Index: 18, FirstColumn: '28', SecoundColumn: 'Tage', Data: 28});\n this.Auswahlliste.push({Index: 19, FirstColumn: '29', SecoundColumn: 'Tage', Data: 29});\n this.Auswahlliste.push({Index: 20, FirstColumn: '30', SecoundColumn: 'Tage', Data: 30});\n this.Auswahlliste.push({Index: 21, FirstColumn: '31', SecoundColumn: 'Tage', Data: 31});\n this.Auswahlliste.push({Index: 22, FirstColumn: '32', SecoundColumn: 'Tage', Data: 32});\n this.Auswahlliste.push({Index: 23, FirstColumn: '33', SecoundColumn: 'Tage', Data: 33});\n this.Auswahlliste.push({Index: 24, FirstColumn: '34', SecoundColumn: 'Tage', Data: 34});\n this.Auswahlliste.push({Index: 25, FirstColumn: '35', SecoundColumn: 'Tage', Data: 35});\n this.Auswahlliste.push({Index: 26, FirstColumn: '36', SecoundColumn: 'Tage', Data: 36});\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, (Eintrag: Auswahldialogstruktur) => {\n\n return Eintrag.Data === this.DB.CurrentMitarbeiter.Urlaub;\n });\n\n this.ShowAuswahl = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'ResturlaubClickedEvent', this.Debug.Typen.Page);\n }\n }\n\n CheckFerienBlocker(Anfangstempel: number): boolean {\n\n try {\n\n\n return this.DB.CurrentUrlaub.Ferienblockerliste.indexOf(Anfangstempel) === -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'CheckFerienBlocker', this.Debug.Typen.Page);\n }\n }\n\n FerienBlockedChanged(event: { status: boolean; index: number; event: any; value: string }, Anfangstempel: number) {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n\n if (event.status === false) {\n\n this.DB.CurrentUrlaub.Ferienblockerliste.push(Anfangstempel);\n } else {\n\n this.DB.CurrentUrlaub.Ferienblockerliste = lodash.filter(this.DB.CurrentUrlaub.Ferienblockerliste, (stempel: number) => {\n\n return stempel !== Anfangstempel;\n });\n }\n\n Urlaub = lodash.find(this.DB.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.DB.CurrentUrlaub.Jahr});\n\n if (!lodash.isUndefined(Urlaub)) {\n\n Urlaub.Ferienblockerliste = this.DB.CurrentUrlaub.Ferienblockerliste;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'FereinBlockedChanged', this.Debug.Typen.Page);\n }\n\n }\n\n CheckFeiertagBlocker(Anfangstempel: any) {\n\n try {\n return this.DB.CurrentUrlaub.Feiertageblockerliste.indexOf(Anfangstempel) === -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'CheckFeiertagBlocker', this.Debug.Typen.Page);\n }\n }\n\n\n FeiertagBlockedChanged(event: { status: boolean; index: number; event: any; value: string }, Anfangstempel: number) {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n\n if (event.status === false) {\n\n this.DB.CurrentUrlaub.Feiertageblockerliste.push(Anfangstempel);\n } else {\n\n this.DB.CurrentUrlaub.Feiertageblockerliste = lodash.filter(this.DB.CurrentUrlaub.Feiertageblockerliste, (stempel: number) => {\n\n return stempel !== Anfangstempel;\n });\n }\n\n Urlaub = lodash.find(this.DB.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.DB.CurrentUrlaub.Jahr});\n\n if (!lodash.isUndefined(Urlaub)) {\n\n Urlaub.Feiertageblockerliste = this.DB.CurrentUrlaub.Feiertageblockerliste;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'FereinBlockedChanged', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.BlockCurrentMitarbeiter = false;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n UrlaubMitarbeiterMeClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'UrlaubMitarbeiterMeClickedHandler', this.Debug.Typen.Page);\n }\n\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr wechseln';\n this.Auswahlliste = [];\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubFreigabenPage } from './common-urlaub-freigaben.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubFreigabenPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n AbstandElementFixedModule,\n ],\n declarations: [CommonUrlaubFreigabenPage]\n})\nexport class CommonUrlaubFreigabenPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {cloneDeep} from \"lodash-es\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {Homeofficezeitspannenstruktur} from \"../../dataclasses/homeofficezeitspannenstruktur\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {Urlaubsvertretungkonversationstruktur} from \"../../dataclasses/urlaubsvertretungkonversationstruktur\";\nimport {environment} from \"../../../environments/environment\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-freigaben-page',\n templateUrl: 'common-urlaub-freigaben.page.html',\n styleUrls: ['common-urlaub-freigaben.page.scss'],\n})\nexport class CommonUrlaubFreigabenPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', {static: false}) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', {static: false}) PageFooter: PageFooterComponent;\n\n\n protected readonly environment = environment;\n\n public Auswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public ShowAuswahl: boolean;\n\n private Auswahldialogorigin: string;\n private DataSubscription: Subscription;\n public ShowMitarbeiterauswahl: boolean;\n public AuswahlIDliste: string[];\n public MitarbeiterauswahlTitel: string;\n public MitarbeiterMultiselect: boolean;\n public Message: string;\n public Flagsource: string;\n public LegendeVisible: boolean;\n public Legendehoehe: number;\n public Legendebreite: number;\n\n constructor(public Loadinganimation: LoadingAnimationService,\n public Basics: BasicsProvider,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n public Const: ConstProvider,\n public DBStandort: DatabaseStandorteService,\n public DBMitarbeiterstettings: DatabaseMitarbeitersettingsService,\n public Auswahlservice: AuswahlDialogService,\n public Debug: DebugProvider) {\n try {\n\n this.Auswahlliste = [{Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.DataSubscription = null;\n this.Auswahldialogorigin = this.Const.NONE;\n this.ShowMitarbeiterauswahl = false;\n this.AuswahlIDliste = [];\n this.MitarbeiterauswahlTitel = '';\n this.MitarbeiterMultiselect = true;\n this.Message = '';\n this.Flagsource = '';\n this.LegendeVisible = false;\n this.Legendehoehe = 0;\n this.Legendebreite = 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Freigaben Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n\n for(let Mitarbeiter of this.DB.Homeofficefreigabenliste) {\n\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, {Jahr: this.DB.CurrentUrlaub.Jahr});\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.Status = this.DB.Homeofficestatusvarianten.Freigabeanfrage;\n }\n }\n\n if(Mitarbeiter._id === this.DB.CurrentMitarbeiter._id && Urlaub.Jahr === this.DB.CurrentUrlaub.Jahr) {\n\n this.DB.CurrentUrlaub = Urlaub;\n }\n\n this.DB.CountAnfragenanzahlen();\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Legendebreite = 400;\n this.Legendehoehe = this.Basics.InnerContenthoehe + 20;\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n\n private async PrepareData() {\n\n try {\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.SetPlanungsmonate();\n this.DB.CountAnfragenanzahlen();\n\n this.DB.UpdateKalenderRequestEvent.emit();\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n GetDatumlangtext(Startstempel: number): string {\n\n try {\n\n return moment(Startstempel).locale('de').format('DD. MMMM YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'GetDatumlangtext', this.Debug.Typen.Page);\n }\n }\n\n UrlaubMitarbeiterMeClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'UrlaubMitarbeiterMeClickedHandler', this.Debug.Typen.Page);\n }\n\n }\n\n MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n\n break;\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Freigaben Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubAnfargen_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null});\n Index++;\n\n for (let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({\n Index: Index,\n FirstColumn: Eintrag.Kuerzel,\n SecoundColumn: Eintrag.Standort,\n Data: Eintrag\n });\n Index++;\n }\n\n if (this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n } else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Freigaben Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubAnfargen_Standort_Filter:\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n this.ShowAuswahl = false;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n this.PrepareData();\n\n break;\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Freigaben Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n\n GetDatum(stempel: number) {\n\n try {\n\n return moment(stempel).format('DD.MM.YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'GetDatum', this.Debug.Typen.Page);\n }\n }\n\n VerteretungStatusChangedHandler(event: any, Zeitspanne: Urlauzeitspannenstruktur, _id: string) {\n\n try {\n\n let Index: number = lodash.findIndex(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.DB.CurrentMitarbeiter._id });\n\n Zeitspanne.Vertretungskonversationliste[Index].Status = event.detail.value;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'VerteretungStatusChangedHandler', this.Debug.Typen.Page);\n }\n }\n\n FreigabeStatusChangedHandler(event: any, Zeitspanne: Urlauzeitspannenstruktur, _id: string) {\n\n try {\n\n Zeitspanne.Status = event.detail.value;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'FreigabeStatusChangedHandler', this.Debug.Typen.Page);\n }\n }\n\n CheckVertretungUpdateButtonEnabled(Mitareiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): boolean {\n\n try {\n\n let Available: boolean = false;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitareiter.StandortID});\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n for (let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.DB.CurrentMitarbeiter._id});\n\n if (!lodash.isUndefined(Konversation)) {\n\n //Zeitspanne.UrlaubsvertreterID === this.DB.CurrentMitarbeiter._id &&\n\n if(Standort.Urlaubfreigabepersonen.length > 0 &&\n Konversation.VertreterantwortSended === false &&\n (Konversation.Status === this.DB.Urlaubstatusvarianten.Vertreterablehnung || Konversation.Status === this.DB.Urlaubstatusvarianten.Vertreterfreigabe)) Available = true;\n }\n }\n\n return Available;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'CheckVertretungUpdateButtonEnabled', this.Debug.Typen.Page);\n }\n }\n\n UrlaubSuchen(Zeitspanne: Urlauzeitspannenstruktur, Mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Datum: Moment = moment(Zeitspanne.Startstempel);\n\n this.DB.CurrentMonatindex = Datum.month();\n this.DB.SetPlanungsmonate();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'UrlaubSuchen', this.Debug.Typen.Page);\n }\n }\n\n CheckFreigabeUpdateButtonEnabled(Mitareiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): boolean {\n\n try {\n\n let Available: boolean = false;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(lodash.isUndefined(Zeitspanne.FreigabeantwortSended)) Zeitspanne.FreigabeantwortSended = false;\n\n if(Zeitspanne.FreigabeantwortSended === false &&\n (Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Genehmigt || Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Abgelehnt)) Available = true;\n }\n\n return Available;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'CheckFreigabeUpdateButtonEnabled', this.Debug.Typen.Page);\n }\n }\n\n async SendVertretungUpdate(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n await this.DB.UpdateVertreterantworten(Mitarbeiter, Urlaub);\n await this.PrepareData();\n\n this.DB.ExterneUrlaubeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'SendVertretungUpdate', this.Debug.Typen.Page);\n }\n }\n\n FerientagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'FerientagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n DisplayExternCheckChanged(event: { status: boolean; index: number; event: any; value: string }, Urlaub: Urlaubsstruktur, i: number) {\n\n try {\n\n let Beteiligt: Urlaubprojektbeteiligtestruktur = lodash.find(this.DB.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: Urlaub.MitarbeiterIDExtern});\n\n if(!lodash.isUndefined(Beteiligt)) Beteiligt.Display = event.status;\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.ExterneUrlaubeChanged.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'DisplayExternCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n DisplayMeinenUrlaubCheckChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Mitarbeitersettings.UrlaubShowMeinenUrlaub = event.status;\n\n this.DBMitarbeiterstettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.DB.ExterneUrlaubeChanged.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'DisplayMeinenUrlaubCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n MonatBackButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex > 0) {\n\n this.DB.CurrentMonatindex--;\n\n this.DB.SetPlanungsmonate();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'MonatBackButtonClicked', this.Debug.Typen.Page);\n }\n\n }\n\n MonatForwardButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex < 11) {\n\n this.DB.CurrentMonatindex++;\n\n this.DB.SetPlanungsmonate();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'MonatForwardButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n\n FeiertagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'FeiertagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n MonatButtonClicked(Monatindex: number) {\n\n try {\n\n this.DB.CurrentMonatindex = Monatindex;\n this.DB.SetPlanungsmonate();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'MonatButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n GetMonatButtonColor(Monatindex: number): string {\n\n try {\n\n if(this.DB.CurrentMonatindex === Monatindex) return 'orange';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'GetMonatButtonColor', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFerientageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_DE = event.status;\n this.DB.ShowFerientage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_BG = event.status;\n this.DB.ShowFerientage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'AnsichtFerientageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFeiertageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_DE = event.status;\n this.DB.ShowFeiertage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_BG = event.status;\n this.DB.ShowFeiertage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'AnsichtFeiertageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n GetStellvertretername(MitarbeieterID: string): string{\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeieterID});\n\n if(lodash.isUndefined(Mitarbeiter)) return 'unbekannt';\n else return Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'GetStellvertretername', this.Debug.Typen.Page);\n }\n }\n\n public async SendFreigabeUpdate(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n await this.DB.UpdateFreigabenantworten(Mitarbeiter, Urlaub);\n await this.PrepareData();\n\n this.DB.ExterneUrlaubeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'SendFreigabeUpdate', this.Debug.Typen.Page);\n }\n }\n\n HomeofficeStatusChanged(event: any, Zeitspanne: Homeofficezeitspannenstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n debugger;\n\n let Status: string = event.detail.value;\n\n Zeitspanne.Status = Status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'HomeofficeStatusChanged', this.Debug.Typen.Page);\n }\n }\n\n HomeofficeGenehmigeAll(Urlaub: Urlaubsstruktur) {\n\n try {\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.Status = this.DB.Homeofficestatusvarianten.Genehmigt;\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'HomeofficeGenehmigeAll', this.Debug.Typen.Page);\n }\n }\n\n HomeofficeAblehnenAll(Urlaub: Urlaubsstruktur) {\n\n try {\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.Status = this.DB.Homeofficestatusvarianten.Abgelehnt;\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'HomeofficeAblehnenAll', this.Debug.Typen.Page);\n }\n }\n\n async SendHomeofficeUpdate(Urlaub: Urlaubsstruktur, Mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n await this.DB.SendHomeofficeFreigabeantworten(Mitarbeiter, Urlaub);\n await this.PrepareData();\n\n\n this.DB.ExterneHomeofficeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'SendHomeofficeUpdate', this.Debug.Typen.Page);\n }\n }\n\n CheckHomeofficeUpdateButtonEnabled(Urlaub: Urlaubsstruktur) {\n\n try {\n\n let Enabled: boolean = false;\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) {\n\n if(Zeitspanne.Status === this.DB.Homeofficestatusvarianten.Abgelehnt || Zeitspanne.Status === this.DB.Homeofficestatusvarianten.Genehmigt) Enabled = true;\n }\n }\n\n return Enabled;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'CheckHomeofficeUpdateButtonEnabled', this.Debug.Typen.Page);\n }\n }\n\n GetPlanungmeldung(Zeitspanne: Urlauzeitspannenstruktur, Mitarbeiter: Mitarbeiterstruktur): string {\n\n try {\n\n let Text: string;\n let Datum: Moment;\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n switch (Zeitspanne.Status) {\n\n case this.DB.Urlaubstatusvarianten.Vertreteranfrage:\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.DB.CurrentMitarbeiter._id});\n\n if(lodash.isUndefined(Konversation)) Datum = moment();\n else Datum = moment(Konversation.Vertretunganfragezeitstempel);\n\n\n Text = 'Vertretungsanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' vom ' + Datum.format('DD.MM.YYYY');\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterablehnung:\n\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.DB.CurrentMitarbeiter._id});\n\n if(lodash.isUndefined(Konversation)) Datum = moment();\n else Datum = moment(Konversation.Vertretungantwortzeitstempel);\n\n Text = 'Vertretungsanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' wurde am ' + Datum.format('DD.MM.YYYY') + ' abgelehnt';\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.DB.CurrentMitarbeiter._id});\n\n if(lodash.isUndefined(Konversation)) Datum = moment();\n else Datum = moment(Konversation.Vertretungantwortzeitstempel);\n\n Text = 'Vertretungsanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' wurde am ' + Datum.format('DD.MM.YYYY') + ' zugestimmt.';\n\n break;\n }\n\n return Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetPlanungmeldung', this.Debug.Typen.Page);\n }\n }\n\n CheckHasAnfragen(Urlaub: Urlaubsstruktur): boolean {\n\n try {\n\n let HasAnfragen: boolean = false;\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) HasAnfragen = true;\n }\n\n return HasAnfragen;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'CheckHasAnfragen', this.Debug.Typen.Page);\n }\n }\n\n HomeofficeSuchen(Zeitspanne: Homeofficezeitspannenstruktur) {\n\n try {\n\n let Datum: Moment = moment(Zeitspanne.Startstempel);\n\n this.DB.CurrentMonatindex = Datum.month();\n this.DB.SetPlanungsmonate();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'HomeofficeSuchen', this.Debug.Typen.Page);\n }\n }\n\n ExternUrlaubstagClickedEventHandler(mitarbeiterid: string) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, { _id: mitarbeiterid });\n\n if(lodash.isUndefined(Mitarbeiter) === false) {\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'ExternUrlaubstagClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n\n ShowHomeofficeChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Mitarbeitersettings.ShowHomeoffice = event.status;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.DB.UpdateKalenderRequestEvent.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'ShowHomeofficeChanged', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr wechseln';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n this.Auswahlliste = [];\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubGesamtuebersichtPage } from './common-urlaub-gesamtuebersicht.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubGesamtuebersichtPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n ],\n declarations: [CommonUrlaubGesamtuebersichtPage]\n})\nexport class CommonUrlaubsgesamtuebersichtPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {cloneDeep} from \"lodash-es\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {Kalendertagestruktur} from \"../../dataclasses/kalendertagestruktur\";\nimport {Kalenderwochestruktur} from \"../../dataclasses/kalenderwochestruktur\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-gesamtuebersicht-page',\n templateUrl: 'common-urlaub-gesamtuebersicht.page.html',\n styleUrls: ['common-urlaub-gesamtuebersicht.page.scss'],\n})\nexport class CommonUrlaubGesamtuebersichtPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n public Ansichtenvarinaten = {\n\n Gesamtjahr: 'Gesamtjahr',\n HalbjahrEins: 'HalbjahrEins',\n HalbjahrZwei: 'HalbjahrZwei'\n };\n\n public Ansichtvariante: string;\n\n public Message: string;\n private Auswahldialogorigin: string;\n private DataSubscription: Subscription;\n public AuswahlIDliste: string[];\n public ShowMitarbeiterauswahl: boolean;\n public LegendeVisible: boolean;\n public Legendehoehe: number;\n public Legendebreite: number;\n public Flagsource: string;\n public Standortliste: Standortestruktur[];\n public Mitrbeiterliste: Mitarbeiterstruktur[][];\n public Kalendertageliste: Kalendertagestruktur[];\n public Kalenderwochenliste: Kalenderwochestruktur[];\n public Monatname: string;\n public Tagesumme: number;\n public Auswahlindex: number;\n public Auswahltitel: string;\n public Auswahlliste: Auswahldialogstruktur[];\n public ShowAuswahl: boolean;\n public MitarbeiterauswahlTitel: string;\n public Headerhoehe: number;\n public Contenthoehe: number;\n\n constructor(public Loadinganimation: LoadingAnimationService,\n public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n public Const: ConstProvider,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public DBStandort: DatabaseStandorteService,\n public Auswahlservice: AuswahlDialogService,\n public Debug: DebugProvider) {\n try {\n\n this.DataSubscription = null;\n this.Message = '';\n this.MitarbeiterauswahlTitel = '';\n this.Auswahldialogorigin = this.Const.NONE;\n this.AuswahlIDliste = [];\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.ShowMitarbeiterauswahl = false;\n this.LegendeVisible = false;\n this.Legendehoehe = 0;\n this.Legendebreite = 0;\n this.Flagsource = '';\n this.Ansichtvariante = this.Ansichtenvarinaten.Gesamtjahr;\n this.Standortliste = [];\n this.Mitrbeiterliste = [];\n this.Kalendertageliste = [];\n this.Kalenderwochenliste = [];\n this.Mitrbeiterliste = [];\n this.Headerhoehe = 0;\n this.Contenthoehe = 0;\n this.Tagesumme = 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubPlanung_Standort_Filter:\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.ShowAuswahl = false;\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n this.ShowAuswahl = false;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n this.PrepareData();\n\n break;\n\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n\n MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n debugger;\n\n this.PrepareData();\n\n this.DB.PlanungsmonateChanged.emit();\n\n break;\n\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubPlanung_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null });\n Index++;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Standort, Data: Eintrag });\n Index++;\n }\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n }\n else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n\n ngOnInit(): void {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Monat: number = Heute.month() + 1;\n\n if(Monat <= 6) this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrEins;\n else this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrZwei;\n\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n private async PrepareData() {\n\n try {\n\n let Tageanzahl: number;\n let Tagindex: number;\n let Tage: number;\n let Monattext: any = this.DB.CurrentMonatindex + 1;\n let Tag: Kalendertagestruktur;\n let Startdatum: Moment;\n let Standort: Standortestruktur;\n let NextStandort: Standortestruktur;\n let Datum: Moment;\n let CurrentKW: Kalenderwochestruktur;\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.CountAnfragenanzahlen();\n\n this.Monatname = this.DB.Monateliste[this.DB.CurrentMonatindex];\n\n if(Monattext < 10 ) Monattext = '0' + Monattext.toString();\n else Monattext = Monattext.toString();\n\n Tageanzahl = moment(this.DB.CurrentJahr.toString() + '-' + Monattext , \"YYYY-MM\").daysInMonth(); // 31\n this.Tagesumme = Tageanzahl;\n\n let MonatStartdatum: Moment = moment().set({date: 1, month: this.DB.CurrentMonatindex, year: this.DB.CurrentJahr, hour: 8, minute: 0}).locale('de');\n let MonatEndedatum: Moment = moment().set({date: Tageanzahl, month: this.DB.CurrentMonatindex, year: this.DB.CurrentJahr, hour: 8, minute: 0}).locale('de');\n\n Tagindex = MonatStartdatum.isoWeekday();\n Tage = Tagindex - 1;\n this.Tagesumme = this.Tagesumme + Tage;\n\n Startdatum = MonatStartdatum.clone().subtract(Tage, 'day');\n Datum = Startdatum.clone();\n Tagindex = MonatEndedatum.isoWeekday();\n Tage = 7 - Tagindex;\n this.Tagesumme = this.Tagesumme + Tage;\n\n CurrentKW = {\n\n Nummer: Datum.isoWeek(),\n Tageanzahl: 0\n };\n\n this.Kalendertageliste = [];\n this.Kalenderwochenliste = [];\n\n for(let i = 0; i < this.Tagesumme; i++) {\n\n Tag = {\n\n Tagnummer: Datum.date(),\n Tag: Datum.format('dd'),\n Datumstring: Datum.format('DD.MM.YYYY'),\n Hauptmonat: Datum.isSameOrAfter(MonatStartdatum, 'day') && Datum.isSameOrBefore(MonatEndedatum, 'day'),\n Kalenderwoche: Datum.isoWeek(),\n Tagstempel: Datum.valueOf(),\n Datum: Datum,\n };\n\n this.Kalendertageliste.push(Tag);\n\n if(Tag.Kalenderwoche === CurrentKW.Nummer) CurrentKW.Tageanzahl++;\n else {\n\n this.Kalenderwochenliste.push(CurrentKW);\n\n CurrentKW = {\n\n Nummer: Tag.Kalenderwoche,\n Tageanzahl: 1\n };\n }\n\n Datum.add(1, 'day');\n }\n\n if(this.Kalenderwochenliste[this.Kalenderwochenliste.length - 1].Nummer != CurrentKW.Nummer) {\n\n this.Kalenderwochenliste.push(CurrentKW);\n };\n\n this.Standortliste = [];\n this.Mitrbeiterliste = [];\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter.ShowInGesamtuebersicht && Mitarbeiter.Archiviert === false) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n if(!lodash.isUndefined(Standort)) {\n\n NextStandort = lodash.find(this.Standortliste, (standort: Standortestruktur) => {\n\n return Standort._id === standort._id;\n });\n\n if(lodash.isUndefined(NextStandort)) {\n\n this.Standortliste.push(Standort);\n\n this.Mitrbeiterliste[Standort._id] = [];\n this.Mitrbeiterliste[Standort._id].push(Mitarbeiter);\n }\n else {\n\n this.Mitrbeiterliste[Standort._id].push(Mitarbeiter);\n }\n }\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Legendebreite = 320;\n this.Legendehoehe = this.Basics.InnerContenthoehe;\n\n\n this.Headerhoehe = 160;\n this.Contenthoehe = this.Basics.InnerContenthoehe - this.Headerhoehe;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n StandortCheckChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: event.value});\n\n Standort.ShowInGesamtuebersicht = event.status;\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter.StandortID === Standort._id) {\n\n Mitarbeiter.ShowInGesamtuebersicht = event.status;\n }\n }\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'StandortCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterCheckChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, {_id: event.value});\n\n Mitarbeiter.ShowInGesamtuebersicht = event.status;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MitarbeiterCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n MonatBackButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex > 0) {\n\n this.DB.CurrentMonatindex--;\n\n this.PrepareData();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MonatBackButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n GetMonatButtonColor(Monatindex: number): string {\n\n try {\n\n if(this.DB.CurrentMonatindex === Monatindex) return 'orange';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'GetMonatButtonColor', this.Debug.Typen.Page);\n }\n }\n\n MonatForwardButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex < 11) {\n\n this.DB.CurrentMonatindex++;\n\n this.PrepareData();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MonatForwardButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MonatButtonClicked(Monatindex: number) {\n\n try {\n\n this.DB.CurrentMonatindex = Monatindex;\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MonatButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n SettingsCheckedChanged(event: {status: boolean; index: number; event: any; value: string}) {\n\n try {\n\n switch (event.value) {\n\n case this.DB.Urlaubstatusvarianten.Geplant:\n\n this.DB.GesamtuebersichtSetting.ShowGeplant = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreteranfrage:\n\n this.DB.GesamtuebersichtSetting.ShowVertreteranfragen = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n this.DB.GesamtuebersichtSetting.ShowVertreterfreigaben = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterablehnung:\n\n this.DB.GesamtuebersichtSetting.ShowVertreterablehnungen = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Genehmigt:\n\n this.DB.GesamtuebersichtSetting.ShowUrlaubsgenehmigungen = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Abgelehnt:\n\n this.DB.GesamtuebersichtSetting.ShowUrlaubsablehnungen = event.status;\n\n break;\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'SettingsCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n SettingsHomeofficeCheckedChanged(event: {status: boolean; index: number; event: any; value: string}) {\n\n try {\n\n switch (event.value) {\n\n case this.DB.Homeofficestatusvarianten.Geplant:\n\n this.DB.GesamtuebersichtSetting.ShowHomeofficeGeplant = event.status;\n\n break;\n\n case this.DB.Homeofficestatusvarianten.Freigabeanfrage:\n\n this.DB.GesamtuebersichtSetting.ShowHomeofficeAnfrage = event.status;\n\n break;\n\n case this.DB.Homeofficestatusvarianten.Genehmigt:\n\n this.DB.GesamtuebersichtSetting.ShowHomeofficeGenehmigt = event.status;\n\n break;\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'SettingsHomeofficeCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n UrlaubMitarbeiterMeClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'UrlaubMitarbeiterMeClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr wechseln';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n this.Auswahlliste = [];\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubPlanungPage } from './common-urlaub-planung.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubPlanungPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n ],\n declarations: [CommonUrlaubPlanungPage]\n})\nexport class CommonUrlaubsplanungPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {backspace, languageSharp} from \"ionicons/icons\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {cloneDeep} from \"lodash-es\";\nimport {Homeofficezeitspannenstruktur} from \"../../dataclasses/homeofficezeitspannenstruktur\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {Urlaubsvertretungkonversationstruktur} from \"../../dataclasses/urlaubsvertretungkonversationstruktur\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-planung-page',\n templateUrl: 'common-urlaub-planung.page.html',\n styleUrls: ['common-urlaub-planung.page.scss'],\n})\nexport class CommonUrlaubPlanungPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n public Monateliste_Uebersicht: string[][];\n public Monateliste_Mounseover: boolean[];\n public Auswahlliste: Auswahldialogstruktur[];\n public BundeslandAuswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public ShowAuswahl: boolean;\n public Auswahlhoehe: number;\n\n public Message: string;\n public ShowMitarbeitereditor: boolean;\n public AddUrlaubRunning: boolean;\n public AddHalberUrlaubstagRunning: boolean;\n public AddHomeofficeRunning: boolean;\n private Auswahldialogorigin: string;\n private DataSubscription: Subscription;\n public ShowMitarbeiterauswahl: boolean;\n public AuswahlIDliste: string[];\n public MitarbeiterauswahlTitel: string;\n public LegendeVisible: boolean;\n public Legendehoehe: number;\n public Legendebreite: number;\n public Flagsource: string;\n public MitarbeiterMultiselect: boolean;\n\n constructor(public Loadinganimation: LoadingAnimationService,\n public Basics: BasicsProvider,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n public Const: ConstProvider,\n public DBStandort: DatabaseStandorteService,\n public Auswahlservice: AuswahlDialogService,\n public Tools: ToolsProvider,\n public Debug: DebugProvider) {\n try {\n\n this.Monateliste_Uebersicht = [];\n this.Monateliste_Uebersicht.push(['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni']);\n this.Monateliste_Uebersicht.push(['Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']);\n\n this.Monateliste_Mounseover = [false, false, false, false, false, false, false, false, false, false, false, false ];\n\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.DataSubscription = null;\n this.Message = '';\n this.ShowMitarbeitereditor = false;\n this.Auswahldialogorigin = this.Const.NONE;\n this.AddUrlaubRunning = false;\n this.AddHomeofficeRunning = false;\n this.ShowMitarbeiterauswahl = false;\n this.AuswahlIDliste = [];\n this.MitarbeiterauswahlTitel = 'Mitarbeiter wechseln';\n this.LegendeVisible = false;\n this.Legendehoehe = 0;\n this.Legendebreite = 0;\n this.Flagsource = '';\n this.AddHalberUrlaubstagRunning = false;\n this.MitarbeiterMultiselect = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Legendebreite = 400;\n this.Legendehoehe = this.Basics.InnerContenthoehe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n let Zeitspanne: Urlauzeitspannenstruktur;\n let Urlaubindex: number;\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsliste_Bundesland:\n\n this.DB.Bundeslandkuerzel = data;\n\n let landcode = this.DB.Bundeslandkuerzel.substring(0, 2);\n\n this.DB.ReadFeiertage(landcode).then(() => {\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Status_Aendern:\n\n if(data !== null && data !== this.DB.CurrentUrlaubzeitspanne.Status) {\n\n Zeitspanne = lodash.find(this.DB.CurrentUrlaub.Urlaubzeitspannen, { ZeitspannenID: this.DB.CurrentUrlaubzeitspanne.ZeitspannenID });\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.DB.CurrentMitarbeiter._id });\n\n\n\n switch (data) {\n\n case this.DB.Urlaubstatusvarianten.Geplant:\n\n Zeitspanne.Status = data;\n\n Zeitspanne.FreigabeanfrageSended = false;\n Zeitspanne.FreigabeantwortSended = false;\n Zeitspanne.FreigabeantwortOfficeSended = false;\n Zeitspanne.Freigabeantwortzeitstempel = null;\n Zeitspanne.FreigabeantwortOfficezeitstempel = null;\n\n if(lodash.isUndefined(Konversation) === false) {\n\n Konversation.VertreteranfrageSended = false;\n Konversation.VertreterantwortSended = false;\n Konversation.Vertretunganfragezeitstempel = null;\n Konversation.Vertretungantwortzeitstempel = null;\n Konversation.Vertretungantwortzeitstempel = null;\n }\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreteranfrage:\n\n if(Zeitspanne.UrlaubsvertreterIDListe.length > 0) {\n\n Zeitspanne.Status = data;\n\n this.DB.UpdateVertreteranfragen();\n }\n else {\n\n Zeitspanne.Status = this.DB.Urlaubstatusvarianten.Geplant;\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n }\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n\n\n\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterablehnung:\n\n Zeitspanne.Status = data;\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Abgelehnt:\n\n Zeitspanne.Status = data;\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Genehmigt:\n\n Zeitspanne.Status = data;\n\n this.DB.CurrentUrlaub = await this.DB.SendOfficeFreigabezusage(this.DB.CurrentMitarbeiter, this.Pool.Mitarbeiterdaten, this.DB.CurrentUrlaub);\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n\n break;\n }\n }\n\n\n\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubPlanung_Standort_Filter:\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n this.ShowAuswahl = false;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n this.PrepareData();\n\n break;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n private async PrepareData() {\n\n try {\n\n let Index: number = 0;\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.SetPlanungsmonate();\n this.DB.CountAnfragenanzahlen();\n\n this.DB.UpdateKalenderRequestEvent.emit();\n\n this.BundeslandAuswahlliste = [];\n\n for(let Region of this.DB.Regionenliste) {\n\n this.BundeslandAuswahlliste.push({ Index: Index, FirstColumn: Region.Name, SecoundColumn: Region.isoCode, Data: Region.isoCode });\n\n Index++;\n }\n\n this.DB.Bundesland = lodash.find(this.BundeslandAuswahlliste, {Data: this.DB.Bundeslandkuerzel}).FirstColumn;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n FeiertagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'FeiertagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n FerientagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'FerientagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n GetDatum(Anfangstempel: number) {\n\n return moment(Anfangstempel).format('DD.MM.YYYY');\n }\n\n AnsichtFerientageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_DE = event.status;\n this.DB.ShowFerientage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_BG = event.status;\n this.DB.ShowFerientage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AnsichtFerientageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFeiertageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_DE = event.status;\n this.DB.ShowFeiertage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_BG = event.status;\n this.DB.ShowFeiertage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AnsichtFeiertageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n\n GetMonatButtonColor(Monatindex: number): string {\n\n try {\n\n if(this.DB.CurrentMonatindex === Monatindex) return 'orange';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetMonatButtonColor', this.Debug.Typen.Page);\n }\n }\n\n MonatButtonClicked(Monatindex: number) {\n\n try {\n\n this.DB.CurrentMonatindex = Monatindex;\n this.DB.SetPlanungsmonate();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MonatButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MonatBackButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex > 0) {\n\n this.DB.CurrentMonatindex--;\n\n this.DB.SetPlanungsmonate();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MonatBackButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MonatForwardButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex < 11) {\n\n this.DB.CurrentMonatindex++;\n\n this.DB.SetPlanungsmonate();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MonatForwardButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AddUrlaub() {\n\n try {\n\n this.DB.CurrentUrlaubzeitspanne = null;\n this.AddUrlaubRunning = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddUrlaub', this.Debug.Typen.Page);\n }\n }\n\n AddHalbenUrlaubstag() {\n\n try {\n\n this.DB.CurrentUrlaubzeitspanne = null;\n this.AddHalberUrlaubstagRunning = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddHalbenUrlaubstag', this.Debug.Typen.Page);\n }\n }\n\n AddHomeofficeStart() {\n\n try {\n\n this.DB.CurrentHomeofficezeitspanne = null;\n this.AddHomeofficeRunning = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddHomeofficeStart', this.Debug.Typen.Page);\n }\n }\n\n AddUrlaubFinishedHandler() {\n\n try {\n\n this.AddUrlaubRunning = false;\n this.AddHalberUrlaubstagRunning = false;\n\n if(this.DB.CurrentUrlaubzeitspanne !== null) {\n\n this.DB.CurrentUrlaub.Urlaubzeitspannen.push(this.DB.CurrentUrlaubzeitspanne);\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddUrlaubFinishedHandler', this.Debug.Typen.Page);\n }\n }\n\n UrlaubLoeschen(Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n\n let Zeitspannen = lodash.filter(this.DB.CurrentUrlaub.Urlaubzeitspannen, (eintrag: Urlauzeitspannenstruktur) => {\n\n return eintrag.ZeitspannenID !== Zeitspanne.ZeitspannenID;\n });\n\n this.DB.CurrentUrlaub = lodash.find(this.DB.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.DB.CurrentJahr});\n this.DB.CurrentUrlaub.Urlaubzeitspannen = Zeitspannen;\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.PlanungsmonateChanged.emit();\n });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'UrlaubLoeschen', this.Debug.Typen.Page);\n }\n }\n\n\n AnsichtCheckChanged(event: { status: boolean; index: number; event: any; value: string }, origin: string) {\n\n try {\n\n switch (origin) {\n\n case this.DB.Urlaubstatusvarianten.Geplant:\n\n this.Pool.Mitarbeitersettings.UrlaubShowBeantragt = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n this.Pool.Mitarbeitersettings.UrlaubShowVertreterfreigabe = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Genehmigt:\n\n this.Pool.Mitarbeitersettings.UrlaubShowGenehmigt = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Abgelehnt:\n\n this.Pool.Mitarbeitersettings.UrlaubShowAbgelehnt = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AnsichtCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n UrlaubSuchen(Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n let Datum: Moment = moment(Zeitspanne.Startstempel);\n\n this.DB.CurrentMonatindex = Datum.month();\n this.DB.SetPlanungsmonate();\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'UrlaubSuchen', this.Debug.Typen.Page);\n }\n }\n\n GetDatumlangtext(Startstempel: number): string {\n\n try {\n\n return moment(Startstempel).locale('de').format('DD. MMMM YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetDatumlangtext', this.Debug.Typen.Page);\n }\n }\n\n async MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let Zeitspanne: Urlauzeitspannenstruktur;\n let Urlaubindex: number;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n\n this.DB.PlanungsmonateChanged.emit();\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Vertreter_Festlegen:\n\n Zeitspanne = lodash.find(this.DB.CurrentUrlaub.Urlaubzeitspannen, {ZeitspannenID: this.DB.CurrentUrlaubzeitspanne.ZeitspannenID});\n\n Zeitspanne.UrlaubsvertreterIDListe = idliste;\n Zeitspanne.Status = this.DB.Urlaubstatusvarianten.Geplant;\n Zeitspanne.FreigabeantwortSended = false;\n Zeitspanne.FreigabeanfrageSended = false;\n\n this.DB.InitVertreterkonversationen(Zeitspanne, true);\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.CurrentUrlaubzeitspanne.UrlaubsvertreterIDListe = idliste;\n });\n\n break;\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubPlanung_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null });\n Index++;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Standort, Data: Eintrag });\n Index++;\n }\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n }\n else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.MitarbeiterMultiselect = false;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n StellvertreterFestlegenClicked(Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n // let Mitarbeiter: Mitarbeiterstruktur;\n // let Index: number;\n\n this.DB.CurrentUrlaubzeitspanne = Zeitspanne;\n this.MitarbeiterauswahlTitel = 'Vertretungen festlegen';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Vertreter_Festlegen;\n this.ShowMitarbeiterauswahl = true;\n this.MitarbeiterMultiselect = true;\n this.AuswahlIDliste = this.DB.CurrentUrlaubzeitspanne.UrlaubsvertreterIDListe;\n\n /*\n Index = 0;\n\n this.Auswahlliste = [];\n\n for(let Eintrag of this.DB.CurrentUrlaub.Projektbeteiligteliste) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: Eintrag.MitarbeiterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name, SecoundColumn: '', Data: Mitarbeiter._id });\n\n Index++;\n }\n }\n\n\n\n this.Auswahltitel = 'Stellvertreter/in festlegen';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Vertreter_Festlegen;\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.DB.CurrentUrlaubzeitspanne, {MitarbeiterID: Zeitspanne.UrlaubsvertreterID});\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'StellvertreterFestlegenClicked', this.Debug.Typen.Page);\n }\n }\n\n GetStellvertretername(MitarbeieterID: string): string{\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeieterID});\n\n if(lodash.isUndefined(Mitarbeiter)) return 'unbekannt';\n else return Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetStellvertretername', this.Debug.Typen.Page);\n }\n }\n\n DisplayExternCheckChanged(event: { status: boolean; index: number; event: any; value: string }, Urlaub: Urlaubsstruktur, i: number) {\n\n try {\n\n let Beteiligt: Urlaubprojektbeteiligtestruktur = lodash.find(this.DB.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: Urlaub.MitarbeiterIDExtern});\n\n if(!lodash.isUndefined(Beteiligt)) Beteiligt.Display = event.status;\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.ExterneUrlaubeChanged.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'DisplayExternCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n\n CheckUrlaubUpdatesAvailable(): boolean {\n\n try {\n\n let Available: boolean = false;\n\n if(this.DB.CurrentUrlaub !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Geplant && Zeitspanne.UrlaubsvertreterIDListe.length > 0) Available = true;\n if(Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Geplant && Zeitspanne.Betriebsurlaub === true) Available = true;\n }\n }\n\n return Available;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CheckUrlaubUpdatesAvailable', this.Debug.Typen.Page);\n }\n }\n\n CheckHomeofficeUpdatesAvailable(): boolean {\n\n try {\n\n let Available: boolean = false;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: this.DB.CurrentMitarbeiter.StandortID});\n\n if(this.DB.CurrentUrlaub !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Geplant && Standort.Homeofficefreigabepersonen.length > 0) Available = true;\n }\n }\n\n return Available;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CheckHomeofficeUpdatesAvailable', this.Debug.Typen.Page);\n }\n }\n\n CheckUrlaubLoschenEnabled(Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n if(this.Pool.Mitarbeiterdaten !== null && this.Pool.Mitarbeiterdaten.Urlaubsfreigaben === true) {\n\n return true;\n }\n else {\n\n return Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Geplant ||\n Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Abgelehnt || Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Vertreterablehnung;\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CheckUrlaubLoschenEnabled', this.Debug.Typen.Page);\n }\n }\n\n CheckHomeofficeLoschenEnabled(Satus: string): boolean {\n\n try {\n\n let Enabled: boolean = false;\n\n let Liste: Homeofficezeitspannenstruktur[] = lodash.filter(this.DB.CurrentUrlaub.Homeofficezeitspannen, {Status: Satus});\n\n for(let Eintrag of Liste) {\n\n if(Eintrag.Checked) {\n\n Enabled = true;\n\n break;\n }\n }\n\n return Enabled;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CheckHomeofficeLoschenEnabled', this.Debug.Typen.Page);\n }\n }\n\n\n\n CancelDatumClicked() {\n\n try {\n\n this.AddUrlaubRunning = false;\n this.AddHalberUrlaubstagRunning = false;\n this.DB.CurrentUrlaubzeitspanne = null;\n\n this.DB.AddUrlaubCancelEvent.emit(); // Kalenderkomponente den Abbruch mitteilen\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CancelDatumClicked', this.Debug.Typen.Page);\n }\n }\n\n StatusClickedHandler(Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n let Index: number = 0;\n\n if(this.Pool.Mitarbeiterdaten !== null && (this.Pool.Mitarbeiterdaten.Planeradministrator === true || this.Pool.Mitarbeiterdaten.Urlaubsfreigaben === true)) {\n\n this.Auswahltitel = 'Status ändern';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Status_Aendern;\n this.DB.CurrentUrlaubzeitspanne = Zeitspanne;\n\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Geplant, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Geplant });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Vertreteranfrage, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Vertreteranfrage });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Vertreterablehnung, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Vertreterablehnung });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Vertreterfreigabe, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Vertreterfreigabe });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Abgelehnt, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Abgelehnt });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Genehmigt, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Genehmigt });\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data: Zeitspanne.Status});\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'StatusClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n AddHomeofficeFinishedHandler() {\n\n try {\n\n if(this.DB.CurrentHomeofficezeitspanne !== null) {\n\n this.DB.CurrentUrlaub.Homeofficezeitspannen.push(this.DB.CurrentHomeofficezeitspanne);\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddHomeofficeFinishedHandler', this.Debug.Typen.Page);\n }\n }\n\n SaveHomeofficeEventHandler() {\n\n try {\n\n this.AddHomeofficeRunning = false;\n this.DB.CurrentHomeofficezeitspanne = null;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'SaveHomeofficeEventHandler', this.Debug.Typen.Page);\n }\n }\n\n\n ZeitspanneCheckChanged(event: { status: boolean; index: number; event: any; value: string }, Zeitspanne: Homeofficezeitspannenstruktur) {\n\n try {\n\n Zeitspanne.Checked = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'ZeitspanneCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n BetriebsurlaubCheckedChanged(event: { status: boolean; index: number; event: any; value: string }, Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let CurrentZeitspanne: Urlauzeitspannenstruktur = lodash.find(this.DB.CurrentUrlaub.Urlaubzeitspannen, (eintrag: Urlauzeitspannenstruktur) => {\n\n return eintrag.ZeitspannenID === Zeitspanne.ZeitspannenID;\n });\n\n Konversation = lodash.find(CurrentZeitspanne.Vertretungskonversationliste, { VertreterID: this.DB.CurrentMitarbeiter._id });\n\n CurrentZeitspanne.Betriebsurlaub = event.status;\n\n if(CurrentZeitspanne.Betriebsurlaub === false) {\n\n Konversation.VertreteranfrageSended = false;\n Konversation.VertreterantwortSended = false;\n CurrentZeitspanne.Status = this.DB.Urlaubstatusvarianten.Geplant;\n CurrentZeitspanne.Planungmeldung = '';\n }\n else {\n\n Konversation.VertreteranfrageSended = true;\n Konversation.VertreterantwortSended = true ;\n CurrentZeitspanne.Status = this.DB.Urlaubstatusvarianten.Geplant;\n CurrentZeitspanne.Planungmeldung = 'keine Urlaubsvertretung notwendig :-)';\n }\n\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.PlanungsmonateChanged.emit();\n });\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'BetriebsurlaubCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n GetPlanungmeldung(Zeitspanne: Urlauzeitspannenstruktur): string {\n\n try {\n\n let Text: string = '';\n let Index: number = 0;\n\n switch (Zeitspanne.Status) {\n\n case this.DB.Urlaubstatusvarianten.Geplant:\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreteranfrage:\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreteranfrageSended === true) {\n\n Text += Konversation.Vertretungmeldung;\n\n if(Index < Zeitspanne.Vertretungskonversationliste.length) Text += '
';\n }\n }\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Text += Zeitspanne.Planungmeldung;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterablehnung:\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreterantwortSended === true) {\n\n Text += Konversation.Vertretungmeldung;\n\n if(Index < Zeitspanne.Vertretungskonversationliste.length) Text += '
';\n }\n }\n\n break;\n\n\n case this.DB.Urlaubstatusvarianten.Genehmigt:\n\n Text += Zeitspanne.Planungmeldung;\n\n break;\n }\n\n return Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetPlanungmeldung', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterMeWechselnClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MitarbeiterMeWechselnClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n ExternUrlaubstagClickedEventHandler(mitarbeiterid: string) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, { _id: mitarbeiterid });\n\n if(lodash.isUndefined(Mitarbeiter) === false) {\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'ExternUrlaubstagClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n ShowHomeofficeChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Mitarbeitersettings.ShowHomeoffice = event.status;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.DB.UpdateKalenderRequestEvent.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'ShowHomeofficeChanged', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr ändern';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n this.Auswahlliste = [];\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubUebersichtPage } from './common-urlaub-uebersicht.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubUebersichtPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n ],\n declarations: [CommonUrlaubUebersichtPage]\n})\nexport class CommonUrlaubsuebersichtPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {cloneDeep} from \"lodash-es\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-uebersicht-page',\n templateUrl: 'common-urlaub-uebersicht.page.html',\n styleUrls: ['common-urlaub-uebersicht.page.scss'],\n})\nexport class CommonUrlaubUebersichtPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n public Ansichtenvarinaten = {\n\n Gesamtjahr: 'Gesamtjahr',\n HalbjahrEins: 'HalbjahrEins',\n HalbjahrZwei: 'HalbjahrZwei'\n };\n\n public Monateliste_Gesamtjahr: string[][];\n public Auswahlliste: Auswahldialogstruktur[];\n public BundeslandAuswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public ShowAuswahl: boolean;\n public Auswahlhoehe: number;\n public Ansichtvariante: string;\n\n public Message: string;\n public ShowMitarbeitereditor: boolean;\n public AddUrlaubRunning: boolean;\n private Auswahldialogorigin: string;\n private DataSubscription: Subscription;\n public AuswahlIDliste: string[];\n public MitarbeiterauswahlTitel: string;\n public ShowMitarbeiterauswahl: boolean;\n public LegendeVisible: boolean;\n public Legendehoehe: number;\n public Legendebreite: number;\n public Flagsource: string;\n public Monateliste_HalbjahrEins: string[];\n public Monateliste_HalbjahrZwei: string[];\n\n constructor(public Loadinganimation: LoadingAnimationService,\n public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n public Const: ConstProvider,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public DBStandort: DatabaseStandorteService,\n public Auswahlservice: AuswahlDialogService,\n public Debug: DebugProvider) {\n try {\n\n this.Monateliste_Gesamtjahr = [];\n this.Monateliste_Gesamtjahr.push(['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni']);\n this.Monateliste_Gesamtjahr.push(['Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']);\n\n this.Monateliste_HalbjahrEins = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni'];\n this.Monateliste_HalbjahrZwei = ['Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];\n\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.DataSubscription = null;\n this.Message = '';\n this.ShowMitarbeitereditor = false;\n this.Auswahldialogorigin = this.Const.NONE;\n this.AddUrlaubRunning = false;\n this.AuswahlIDliste = [];\n this.MitarbeiterauswahlTitel = '';\n this.ShowMitarbeiterauswahl = false;\n this.LegendeVisible = false;\n this.Legendehoehe = 0;\n this.Legendebreite = 0;\n this.Flagsource = '';\n this.Ansichtvariante = this.Ansichtenvarinaten.Gesamtjahr;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Legendebreite = 400;\n this.Legendehoehe = this.Basics.InnerContenthoehe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Monat: number = Heute.month() + 1;\n\n if(Monat <= 6) this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrEins;\n else this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrZwei;\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n\n MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n\n this.PrepareData();\n\n break;\n\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsliste_Bundesland:\n\n this.DB.Bundeslandkuerzel = data;\n\n let landcode = this.DB.Bundeslandkuerzel.substring(0, 2);\n\n this.DB.ReadFeiertage(landcode);\n\n debugger;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubUebersicht_Standort_Filter:\n\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.ShowAuswahl = false;\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n break;\n }\n\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n\n\n private async PrepareData() {\n\n try {\n\n let Index: number = 0;\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.SetPlanungsmonate();\n this.DB.CountAnfragenanzahlen();\n\n this.BundeslandAuswahlliste = [];\n\n for(let Region of this.DB.Regionenliste) {\n\n this.BundeslandAuswahlliste.push({ Index: Index, FirstColumn: Region.Name, SecoundColumn: Region.isoCode, Data: Region.isoCode });\n\n Index++;\n }\n\n this.DB.Bundesland = lodash.find(this.BundeslandAuswahlliste, {Data: this.DB.Bundeslandkuerzel}).FirstColumn;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n FeiertagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'FeiertagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n FerientagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'FerientagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n GetDatum(Anfangstempel: number) {\n\n return moment(Anfangstempel).format('DD.MM.YYYY');\n }\n\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubUebersicht_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null });\n Index++;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Standort, Data: Eintrag });\n Index++;\n }\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n }\n else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n DisplayExternCheckChanged(event: { status: boolean; index: number; event: any; value: string }, Urlaub: Urlaubsstruktur, i: number) {\n\n try {\n\n let Beteiligt: Urlaubprojektbeteiligtestruktur = lodash.find(this.DB.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: Urlaub.MitarbeiterIDExtern});\n\n if(!lodash.isUndefined(Beteiligt)) Beteiligt.Display = event.status;\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.ExterneUrlaubeChanged.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'DisplayExternCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFeiertageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_DE = event.status;\n this.DB.ShowFeiertage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_BG = event.status;\n this.DB.ShowFeiertage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'AnsichtFeiertageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFerientageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_DE = event.status;\n this.DB.ShowFerientage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_BG = event.status;\n this.DB.ShowFerientage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'AnsichtFerientageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClicked() {\n\n try {\n\n this.Ansichtvariante = this.Ansichtenvarinaten.Gesamtjahr;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'JahrButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n HalbjahrEinsButtonClicked() {\n\n try {\n\n this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrEins;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'HalbjahrEinsButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n HalbjahrZweiButtonClicked() {\n\n try {\n\n this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrZwei;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'HalbjahrZweiButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n UrlaubMitarbeiterMeClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'UrlaubMitarbeiterMeClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr ändern';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n this.Auswahlliste = [];\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonWartungPage } from './common-wartung.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {SafePipeModule} from \"../../pipes/safe.pipe.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonWartungPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n CheckboxClonModule,\n ButtonValueModule,\n AuswahlDialogModule,\n SafePipeModule,\n ],\n declarations: [CommonWartungPage]\n})\nexport class CommonWartungPageModule {}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {SecurityService} from \"../../services/security/security.service\";\n\n@Component({\n selector: 'common-wartung-page',\n templateUrl: 'common-wartung.page.html',\n styleUrls: ['common-wartung.page.scss'],\n})\nexport class CommonWartungPage implements OnInit, OnDestroy {\n\n constructor(public Pool: DatabasePoolService,\n public Const: ConstProvider,\n public Basics: BasicsProvider,\n public Debug: DebugProvider) {\n try {\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Wartung', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Wartung', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Wartung', 'OnInit', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport { Routes, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { FiMitarbeiterlistePage } from './fi-mitarbeiterliste';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {AlphabetModule} from \"../../components/alphabet/alphabet.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: FiMitarbeiterlistePage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n IonicModule,\n RouterModule.forChild(routes),\n PageHeaderModule,\n PageFooterModule,\n AbstandElementFixedModule,\n AlphabetModule,\n PageHeaderMenuModule,\n FiMitarbeiterEditorModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n ],\n declarations: [FiMitarbeiterlistePage]\n})\nexport class FIMitarbeiterlistePageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {AlphabetComponent} from \"../../components/alphabet/alphabet\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport * as lodash from \"lodash-es\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {SecurityService} from \"../../services/security/security.service\";\n\n@Component({\n selector: 'fi-mitarbeiterliste-page',\n templateUrl: 'fi-mitarbeiterliste.html',\n styleUrls: ['fi-mitarbeiterliste.scss'],\n})\nexport class FiMitarbeiterlistePage implements OnInit, OnDestroy {\n\n @ViewChild('Alphabet', { static: false }) Alphabetcomponent: AlphabetComponent;\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n private ListeSubscription: Subscription;\n public Mitarbeiterliste: Mitarbeiterstruktur[];\n public Mitarbeiteralphabet: string[];\n public Alphapetbreite: number;\n public Mitarbeiteralphabetauswahl: string;\n public HideAuswahl: boolean;\n public Auswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public Lastletter: string;\n public Mitarbeiterbuchstabenliste: string[];\n public Standardalphabet: string[];\n public Zusatzbuttonliste: string[];\n public Mitarbeiterfiltertext: string;\n public Listenbreite: number;\n public ShowEditor: boolean;\n public ShowAuswahl: boolean;\n private Auswahldialogorigin: string;\n private StandortfilterSubsciption: Subscription;\n public ShowMeOnly: boolean;\n public ShowArchivierte: boolean;\n public ShowAktuelle: boolean;\n public Freigabefiltervarianten = {\n\n Keiner: 'keiner',\n Administrator: 'Administrator',\n Urlaubsfreigaben: 'Urlaubsfreigaben',\n Homeofficefreigaben: 'Homeofficefreigaben'\n };\n public Freigabefilter: string;\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Const: ConstProvider,\n private Security: SecurityService,\n public DB: DatabaseMitarbeiterService,\n public DBStandort: DatabaseStandorteService,\n public Auswahlservice: AuswahlDialogService,\n public Pool: DatabasePoolService) {\n try\n {\n this.Standardalphabet = ['Alle', 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J', 'K','L', 'M', 'N', 'O', 'P', 'Q','R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z'];\n this.Mitarbeiteralphabet = [];\n this.Mitarbeiteralphabetauswahl = 'Alle';\n this.Mitarbeiterliste = [];\n this.Alphapetbreite = 44;\n this.Zusatzbuttonliste =[];\n this.HideAuswahl = true;\n this.Mitarbeiteralphabet = this.Standardalphabet;\n this.Mitarbeiterbuchstabenliste = [];\n this.Mitarbeiterfiltertext = '';\n this.Listenbreite = 0;\n this.ShowEditor = false;\n this.ShowAuswahl = false;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n this.Auswahldialogorigin = this.Const.NONE;\n this.ListeSubscription = null;\n this.StandortfilterSubsciption = null;\n this.ShowMeOnly = false;\n this.ShowArchivierte = false;\n this.ShowAktuelle = true;\n this.Freigabefilter = this.Freigabefiltervarianten.Keiner;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n if(this.ListeSubscription !== null) {\n\n this.ListeSubscription.unsubscribe();\n this.ListeSubscription = null;\n }\n\n if(this.StandortfilterSubsciption !== null) {\n\n this.StandortfilterSubsciption.unsubscribe();\n this.StandortfilterSubsciption = null;\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Security.CheckSecurity();\n\n this.ListeSubscription = this.Pool.MitarbeiterlisteChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n this.StandortfilterSubsciption = this.DBStandort.StandortfilterChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n ResetSucheButtonClicked() {\n\n try {\n this.Mitarbeiterfiltertext = '';\n this.Mitarbeiteralphabetauswahl = 'Alle';\n\n this.PrepareDaten();\n\n /*\n switch (this.Menueindex) {\n\n case 0:\n\n\n break;\n\n case 1:\n\n this.Lieferantenfiltertext = '';\n this.Lieferantenfilter = '';\n this.Lieferantenalphabetauswahl = 'Alle';\n this.Suchleiste.value = '';\n\n this.PrepareLieferantenDaten();\n\n break;\n }\n\n */\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'ResetSucheButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n let Alphabetbreite: number = typeof this.Alphabetcomponent.Breite !== 'undefined' ? this.Alphabetcomponent.Breite : 40;\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Listenbreite = this.Basics.Contentbreite - Alphabetbreite - 4;\n\n this.Alphabetcomponent.InitScreen();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ionViewDidLeave() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'ionViewDidLeave', this.Debug.Typen.Page);\n }\n }\n\n MitrabeiterButtonClicked(eintrag: Mitarbeiterstruktur) {\n\n try {\n\n this.DB.CurrentMitarbeiter = lodash.cloneDeep(eintrag);\n this.ShowEditor = true;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'MitrabeiterButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AddMitarbeiterButtonClicked() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.DB.GetEmptyMitarbeiter();\n this.ShowEditor = true;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'AddMitarbeiterButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AlphabetClicked(buchstabe: any) {\n\n try {\n\n this.Mitarbeiterfiltertext = '';\n this.Mitarbeiteralphabetauswahl = buchstabe;\n\n this.PrepareDaten();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'AlphabetClicked', this.Debug.Typen.Page);\n }\n }\n\n private GetMitarbeiterAlphabetbuchstabe(value: Mitarbeiterstruktur) {\n\n try {\n\n let Buchstabe: string = value.Name.substring(0, 1).toUpperCase();\n\n if(Buchstabe !== this.Lastletter) {\n\n this.Lastletter = Buchstabe;\n\n return Buchstabe;\n }\n else {\n\n return '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'GetMitarbeiterAlphabetbuchstabe', this.Debug.Typen.Page);\n }\n }\n\n\n private PrepareDaten() {\n\n try {\n\n let Liste: Mitarbeiterstruktur[];\n let Merker: Mitarbeiterstruktur[];\n let Buchstabe: string;\n let Quelle: Mitarbeiterstruktur[];\n let Laenge: number;\n let TeilA: string;\n let TeilB: string;\n let TeilC: string;\n let Teillaenge: number;\n let PosA: number;\n let Solltext: string;\n let Suchtext: string;\n\n if(this.Pool.Mitarbeiterliste !== null) {\n\n Quelle = lodash.cloneDeep(this.Pool.Mitarbeiterliste);\n\n this.Lastletter = '';\n\n // Nach Namen sortieren\n\n Quelle.sort( (a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name > b.Name) return -1;\n if (a.Name < b.Name) return 1;\n return 0;\n });\n\n // Filter\n\n Liste = lodash.cloneDeep(Quelle);\n\n if(this.ShowMeOnly) {\n\n Liste = lodash.filter(Liste, {_id: this.Pool.Mitarbeiterdaten._id});\n }\n else {\n\n if(this.ShowArchivierte === true && this.ShowAktuelle === true) {\n\n // do nothing\n }\n else if(this.ShowArchivierte) {\n\n Liste = lodash.filter(Liste, (Eintrag: Mitarbeiterstruktur) => {\n\n return Eintrag.Archiviert;\n });\n }\n else if(this.ShowAktuelle) {\n\n Liste = lodash.filter(Liste, (Eintrag: Mitarbeiterstruktur) => {\n\n return !Eintrag.Archiviert;\n });\n }\n else if(this.ShowArchivierte === false && this.ShowAktuelle === false) {\n\n Liste = [];\n }\n }\n\n // Freigabefilter\n\n if(this.Freigabefilter !== this.Freigabefiltervarianten.Keiner) {\n\n switch (this.Freigabefilter) {\n\n case this.Freigabefiltervarianten.Administrator:\n\n Liste = lodash.filter(Liste, {Planeradministrator: true});\n\n break;\n\n case this.Freigabefiltervarianten.Urlaubsfreigaben:\n\n Liste = lodash.filter(Liste, { Urlaubsfreigaben: true});\n\n break;\n\n case this.Freigabefiltervarianten.Homeofficefreigaben:\n\n Liste = lodash.filter(Liste, { Homeofficefreigaben: true});\n\n break;\n }\n }\n\n // Standortfilter anwenden\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n Liste = lodash.filter(Liste, (eintrag: Mitarbeiterstruktur) => {\n\n return eintrag.StandortID === this.DBStandort.CurrentStandortfilter._id;\n });\n }\n\n Liste.sort( (a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n\n // Mitarbeiteralphabetauswahl Buchstaben festlegen\n\n if(Liste.length > 6) {\n\n this.Mitarbeiteralphabet = ['Alle'];\n\n for(let Eintrag of Liste) {\n\n Buchstabe = Eintrag.Name.substring(0, 1).toUpperCase();\n\n if(this.Mitarbeiteralphabet.indexOf(Buchstabe) === -1) this.Mitarbeiteralphabet.push(Buchstabe);\n }\n } else {\n\n this.Mitarbeiteralphabet = this.Standardalphabet;\n }\n\n // Alphabetfilter anwenden\n\n if(this.Mitarbeiteralphabetauswahl !== 'Alle') {\n\n Merker = lodash.cloneDeep(Liste);\n\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Buchstabe = Eintrag.Name.substring(0, 1).toUpperCase();\n\n Buchstabe = Buchstabe === 'Ä' ? 'A' : Buchstabe;\n Buchstabe = Buchstabe === 'Ö' ? 'O' : Buchstabe;\n Buchstabe = Buchstabe === 'Ü' ? 'U' : Buchstabe;\n\n if(this.Mitarbeiteralphabetauswahl === Buchstabe) Liste.push(Eintrag);\n }\n }\n\n // Suche Mitarbeiterfilter anwenden\n\n if(this.Mitarbeiterfiltertext !== '') {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Solltext = this.Mitarbeiterfiltertext.toLowerCase();\n Suchtext = Eintrag.Name.toLowerCase();\n PosA = Suchtext.indexOf(Solltext);\n\n if(PosA !== -1) {\n\n Laenge = Eintrag.Name.length;\n Teillaenge = Solltext.length;\n TeilA = Eintrag.Name.substr(0, PosA);\n TeilB = Eintrag.Name.substr(PosA, Teillaenge);\n Teillaenge = Laenge - Teillaenge - PosA;\n TeilC = Eintrag.Name.substr(Laenge - Teillaenge, Teillaenge);\n\n Eintrag.Filtered = true;\n Eintrag.Text_A = TeilA;\n Eintrag.Text_B = TeilB;\n Eintrag.Text_C = TeilC;\n\n Liste.push(Eintrag);\n }\n }\n }\n\n // Buchstabenliste festlegen\n\n this.Mitarbeiterbuchstabenliste = [];\n\n for(let Eintrag of Liste) {\n\n this.Mitarbeiterbuchstabenliste.push(this.GetMitarbeiterAlphabetbuchstabe(Eintrag));\n }\n\n this.Mitarbeiterliste = lodash.cloneDeep(Liste);\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'PrepareDaten', this.Debug.Typen.Page);\n }\n }\n\n\n GetDialogTitel(): string {\n\n try {\n\n if(this.DB.CurrentMitarbeiter !== null) {\n\n return this.DB.CurrentMitarbeiter._id === null ? 'Neuen Mitarbeiter anlegen' : 'Mitarbeiter bearbeiten';\n }\n else {\n\n return 'Unbekannt';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'GetDialogTitel', this.Debug.Typen.Page);\n }\n }\n\n StandortClickedHandler() {\n\n try {\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Standort;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Ort, Data: Eintrag });\n Index++;\n }\n\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DB.CurrentMitarbeiter.StandortID});\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'StandortClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Anrede:\n\n this.DB.CurrentMitarbeiter.Anrede = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Urlaub:\n\n this.DB.CurrentMitarbeiter.Urlaub = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Standort:\n\n this.DB.CurrentMitarbeiter.StandortID = data._id;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Liste_Position:\n\n this.DB.CurrentMitarbeiter.PositionID = data;\n\n break;\n\n case 'Resturlaub':\n\n this.DB.CurrentMitarbeiter.Resturlaub = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Liste_Standortfilter:\n\n this.DBStandort.CurrentStandortfilter = data;\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n this.Mitarbeiteralphabetauswahl = 'Alle';\n\n this.DB.UpdateMitarbeiter(this.Pool.Mitarbeiterdaten).then(() => {\n\n this.DBStandort.StandortfilterChanged.emit();\n\n }).catch((error) => {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n });\n\n this.PrepareDaten();\n\n break;\n }\n\n this.ShowAuswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n GetDialogTitelicon(): string {\n\n try {\n\n if(this.DB.CurrentMitarbeiter || this.Pool.Mitarbeiterdaten) {\n\n switch (this.Auswahltitel) {\n\n case 'Standort festlegen':\n\n return 'location-outline';\n\n break;\n\n case 'Fachbereich festlegen':\n\n return 'hammer-outline';\n\n break;\n\n case 'Standortfilter festlegen':\n\n return 'location-outline';\n\n break;\n\n default:\n\n return 'help-outline';\n\n break;\n }\n }\n else return 'help-outline';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'GetDialogTitelicon', this.Debug.Typen.Page);\n }\n }\n\n SucheChanged(text: string) {\n\n try {\n\n this.Mitarbeiteralphabetauswahl = 'Alle';\n this.Mitarbeiterfiltertext = text;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'SucheChanged', this.Debug.Typen.Page);\n }\n }\n\n StandortFilterClickedHandler() {\n\n try {\n\n let Index = 0;\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Liste_Standortfilter;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standortfilter festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({Index: Index, FirstColumn: '----', SecoundColumn: 'kein Filter', Data: null});\n Index++;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Ort, Data: Eintrag });\n Index++;\n }\n\n if(this.DBStandort.CurrentStandortfilter === null) {\n\n this.Auswahlindex = 0;\n }\n else {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n this.Auswahlindex++;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'StandortFilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n ShowMeCheckedChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.ShowMeOnly = event.status;\n\n if(this.ShowMeOnly === true) {\n\n this.DBStandort.CurrentStandortfilter = null;\n this.Pool.Mitarbeitersettings.StandortFilter = this.Const.NONE;\n this.Mitarbeiteralphabetauswahl = 'Alle';\n\n this.DB.UpdateMitarbeiter(this.Pool.Mitarbeiterdaten).then(() => {\n\n this.DBStandort.StandortfilterChanged.emit();\n\n });\n }\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'ShowMeCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n ShowArchivierteChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.ShowArchivierte = event.status;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'ShowArchivierteChanged', this.Debug.Typen.Page);\n }\n }\n\n AnredeClickedEventHandler() {\n\n try {\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Anrede festlegen';\n this.Auswahlliste = [];\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Anrede;\n\n this.Auswahlliste.push({ Index: 0, FirstColumn: 'Unbekannt', SecoundColumn: '', Data: this.Const.NONE });\n this.Auswahlliste.push({ Index: 1, FirstColumn: 'Frau', SecoundColumn: '', Data: 'Frau' });\n this.Auswahlliste.push({ Index: 2, FirstColumn: 'Herr', SecoundColumn: '', Data: 'Herr' });\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data: this.DB.CurrentMitarbeiter.Anrede});\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'AnredeClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n UrlaubClickedEventHandler() {\n\n let Index: number = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Urlaubstage festlegen';\n this.Auswahlliste = [];\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Urlaub;\n\n for(let i = 0; i <= 40; i = i + 0.5) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn:i.toFixed(1), SecoundColumn: i === 1 ? 'Tag' : 'Tage', Data: i });\n Index++;\n }\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data: this.DB.CurrentMitarbeiter.Urlaub});\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'UrlaubClickedEventHandler', this.Debug.Typen.Page);\n }\n\n ShowAktuelleChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.ShowAktuelle = event.status;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'ShowAktuelleChanged', this.Debug.Typen.Page);\n }\n\n }\n\n GetStandortliste(Urlaubsfreigabeorte: string[]): string {\n\n try {\n\n let Standort: Standortestruktur;\n let Standortliste: Standortestruktur[] = [];\n let Text: string = '';\n let Index: number = 0;\n\n\n for(let id of Urlaubsfreigabeorte) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: id});\n\n if(!lodash.isUndefined(Standort)) Standortliste.push(Standort);\n }\n\n Standortliste.sort((a: Standortestruktur, b: Standortestruktur) => {\n\n if (a.Ort < b.Ort) return -1;\n if (a.Ort > b.Ort) return 1;\n\n return 0;\n });\n\n for(Standort of Standortliste) {\n\n Text += Standort.Ort.substring(0, 3).toUpperCase();\n\n if(Index < Standortliste.length - 1) Text += ', ';\n\n Index++;\n }\n\n return Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'GetStandortliste', this.Debug.Typen.Page);\n }\n }\n\n FreigabefilterChanged(event: any) {\n\n try {\n\n this.Freigabefilter = event.detail.value;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'FreigabefilterChanged', this.Debug.Typen.Page);\n }\n }\n\n PositionClickedEventHandler() {\n\n try {\n\n let Index = 0;\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Liste_Position;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Position festlegen';\n this.Auswahlliste = [];\n\n for(let Eintrag of this.Pool.Mitarbeiterpositionenliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Bezeichnung, SecoundColumn: '', Data: Eintrag._id });\n Index++;\n }\n\n debugger;\n\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Mitarbeiterpositionenliste, {_id: this.DB.CurrentMitarbeiter.PositionID});\n this.Auswahlindex++;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'PositionClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n\n ResturlaubClicked() {\n\n try {\n\n let Index: number = 0;\n\n this.Auswahldialogorigin = 'Resturlaub';\n this.Auswahltitel = 'Resturlaub festlegen';\n this.Auswahlliste = [];\n\n for(let i = -25; i < 0; i = i + 0.5) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn:i.toFixed(1), SecoundColumn: i === - 1 ? 'Tag' : 'Tage', Data: i });\n Index++;\n }\n\n for(let i = 0; i <= 25; i = i + 0.5) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn:i.toFixed(1), SecoundColumn: i === 1 ? 'Tag' : 'Tage', Data: i });\n Index++;\n }\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, (Eintrag: Auswahldialogstruktur) => {\n\n return Eintrag.Data === this.DB.CurrentMitarbeiter.Resturlaub;\n });\n\n this.ShowAuswahl = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'ResturlaubClicked', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport { Routes, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport {FiStandortelistePage} from './fi-standorteliste';\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {AlphabetModule} from \"../../components/alphabet/alphabet.module\";\nimport {FiStandortEditorModule} from \"../../components-page/fi-standort-editor/fi-standort-editor.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageModalKeepermodule} from \"../../components/page-modal-keeper/page-modal-keeper.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\n\n\nconst routes: Routes = [\n {\n path: '',\n component: FiStandortelistePage\n }\n];\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n IonicModule,\n RouterModule.forChild(routes),\n AbstandElementFixedModule,\n AlphabetModule,\n FiStandortEditorModule,\n PageHeaderModule,\n PageFooterModule,\n PageHeaderMenuModule,\n PageModalKeepermodule,\n AuswahlDialogModule\n ],\n declarations: [FiStandortelistePage]\n})\nexport class FiStandortelistePageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AlphabetComponent} from \"../../components/alphabet/alphabet\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {SecurityService} from \"../../services/security/security.service\";\n\n@Component({\n selector: 'fi-standorteliste-page',\n templateUrl: 'fi-standorteliste.html',\n styleUrls: ['fi-standorteliste.scss'],\n})\nexport class FiStandortelistePage implements OnInit, OnDestroy{\n\n @ViewChild('Alphabet', { static: false }) Alphabetcomponent: AlphabetComponent;\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n public Standorteliste: Standortestruktur[];\n public Standortealphabet: string[];\n public Alphapetbreite: number;\n public Standortealphabetauswahl: string;\n public HideAuswahl: boolean;\n public Auswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public Lastletter: string;\n public Standortebuchstabenliste: string[];\n public Standardalphabet: string[];\n public Zusatzbuttonliste: string[];\n public Standortefiltertext: string;\n public Standortefilter: string;\n public Inputtimer;\n public Listenbreite: number;\n public ShowEditor: boolean;\n public EditorValid: boolean;\n public ListeSubscription: Subscription;\n public ShowAuswahl: boolean;\n public Auswahlhoehe: number;\n public Auswahldialogorigin: string;\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Const: ConstProvider,\n public DB: DatabaseStandorteService,\n private Security: SecurityService,\n public DBMitarbeiter: DatabaseMitarbeiterService,\n private DBUrlaub: DatabaseUrlaubService,\n public Auswahlservice: AuswahlDialogService,\n public Pool: DatabasePoolService) {\n try\n {\n this.Standardalphabet = ['Alle', 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J', 'K','L', 'M', 'N', 'O', 'P', 'Q','R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z'];\n this.Standortealphabet = [];\n this.Standortealphabetauswahl = 'Alle';\n this.Standorteliste = [];\n this.Zusatzbuttonliste =[];\n this.HideAuswahl = true;\n this.Inputtimer = null;\n this.Alphapetbreite = 44;\n this.Standortefilter = '';\n this.Standortealphabet = this.Standardalphabet;\n this.Standortebuchstabenliste = [];\n this.Listenbreite = 0;\n this.ShowEditor = false;\n this.EditorValid = false;\n this.ListeSubscription = null;\n this.Auswahlliste = [];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.Auswahldialogorigin = '';\n\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.ListeSubscription.unsubscribe();\n\n this.ListeSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.ListeSubscription = this.Pool.StandortelisteChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n\n public ionViewDidEnter() {\n\n try {\n\n let Alphabetbreite: number = typeof this.Alphabetcomponent.Breite !== 'undefined' ? this.Alphabetcomponent.Breite : 40;\n\n this.Listenbreite = this.Basics.Contentbreite - Alphabetbreite - 4;\n\n this.PrepareDaten();\n\n this.Alphabetcomponent.InitScreen();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ionViewDidLeave() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'ionViewDidLeave', this.Debug.Typen.Page);\n }\n }\n\n StandortButtonClicked(eintrag: Standortestruktur) {\n\n try {\n\n this.DB.CurrentStandort = lodash.cloneDeep(eintrag);\n this.ShowEditor = true;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'MitrabeiterButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AddStandorteButtonClicked() {\n\n try {\n\n this.DB.CurrentStandort = this.DB.GetEmptyStandort();\n\n this.ShowEditor = true;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'AddStandorteButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AlphabetClicked(buchstabe: any) {\n\n try {\n\n this.Standortefiltertext = '';\n this.Standortefilter = '';\n this.Standortealphabetauswahl = buchstabe;\n\n this.PrepareDaten();\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'AlphabetClicked', this.Debug.Typen.Page);\n }\n }\n\n private GetStandorteAlphabetbuchstabe(value: Standortestruktur) {\n\n try {\n\n let Buchstabe: string = value.Ort.substring(0, 1).toUpperCase();\n\n if(Buchstabe !== this.Lastletter) {\n\n this.Lastletter = Buchstabe;\n\n return Buchstabe;\n }\n else {\n\n return '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'GetStandorteAlphabetbuchstabe', this.Debug.Typen.Page);\n }\n }\n\n\n private PrepareDaten() {\n\n try {\n\n let Liste: Standortestruktur[];\n let Merker: Standortestruktur[];\n let Buchstabe: string;\n let Quelle: Standortestruktur[];\n let Laenge: number;\n let TeilA: string;\n let TeilB: string;\n let TeilC: string;\n let Teillaenge: number;\n let PosA: number;\n let Solltext: string;\n let Suchtext: string;\n\n\n if(this.Pool.Standorteliste !== null) {\n\n Quelle = lodash.cloneDeep(this.Pool.Standorteliste);\n\n this.Lastletter = '';\n\n // Nach Namen sortieren\n\n Liste = lodash.cloneDeep(Quelle);\n\n Liste.sort( (a: Standortestruktur, b: Standortestruktur) => {\n\n if (a.Ort < b.Ort) return -1;\n if (a.Ort > b.Ort) return 1;\n return 0;\n });\n\n // Standortfilter anwenden\n\n if(this.DB.CurrentStandortfilter !== null) {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Liste.push(Eintrag);\n }\n }\n\n\n // Standortealphabetauswahl Buchstaben festlegen\n\n if(Liste.length > 6) {\n\n this.Standortealphabet = ['Alle'];\n\n for(let Eintrag of Liste) {\n\n Buchstabe = Eintrag.Ort.substring(0, 1).toUpperCase();\n\n if(this.Standortealphabet.indexOf(Buchstabe) === -1) this.Standortealphabet.push(Buchstabe);\n }\n } else {\n\n this.Standortealphabet = this.Standardalphabet;\n }\n\n // Alphabetfilter anwenden\n\n if(this.Standortealphabetauswahl !== 'Alle') {\n\n Merker = lodash.cloneDeep(Liste);\n\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Buchstabe = Eintrag.Ort.substring(0, 1).toUpperCase();\n\n if(this.Standortealphabetauswahl === Buchstabe) Liste.push(Eintrag);\n }\n }\n\n // Suche Standortefilter anwenden\n\n if(this.Standortefilter !== '') {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Solltext = this.Standortefilter.toLowerCase();\n Suchtext = Eintrag.Ort.toLowerCase();\n PosA = Suchtext.indexOf(Solltext);\n\n if(PosA !== -1) {\n\n Laenge = Eintrag.Ort.length;\n Teillaenge = Solltext.length;\n TeilA = Eintrag.Ort.substr(0, PosA);\n TeilB = Eintrag.Ort.substr(PosA, Teillaenge);\n Teillaenge = Laenge - Teillaenge - PosA;\n TeilC = Eintrag.Ort.substr(Laenge - Teillaenge, Teillaenge);\n\n Eintrag.Filtered = true;\n Eintrag.Text_A = TeilA;\n Eintrag.Text_B = TeilB;\n Eintrag.Text_C = TeilC;\n\n Liste.push(Eintrag);\n }\n }\n }\n\n // Buchstabenliste festlegen\n\n this.Standortebuchstabenliste = [];\n\n for(let Eintrag of Liste) {\n\n this.Standortebuchstabenliste.push(this.GetStandorteAlphabetbuchstabe(Eintrag));\n }\n\n this.Standorteliste = lodash.cloneDeep(Liste);\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'PrepareDaten', this.Debug.Typen.Page);\n }\n }\n\n EditorValidChanged(event: boolean) {\n\n try {\n\n this.EditorValid = event;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'EditorValidChanged', this.Debug.Typen.Page);\n }\n }\n\n\n GetDialogTitel(): string {\n\n try {\n\n if(this.DB.CurrentStandort !== null) {\n\n return this.DB.CurrentStandort._id === null ? 'Neuen Standort anlegen' : 'Standort bearbeiten';\n }\n else {\n\n return 'Unbekannt';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'GetDialogTitel', this.Debug.Typen.Page);\n }\n }\n\n\n SucheChangedHandler(text: string) {\n\n try {\n\n this.Standortefiltertext = text;\n\n this.Standortefilter = this.Standortefiltertext;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'SucheChangedHandler', this.Debug.Typen.Page);\n }\n\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Land:\n\n\n this.DB.CurrentStandort.Land = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Bundesland:\n\n this.DB.CurrentStandort.Bundesland = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Konfession:\n\n this.DB.CurrentStandort.Konfession = data;\n\n break;\n }\n\n this.ShowAuswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n LandClickedEventHandler() {\n\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Land;\n\n this.Auswahltitel = 'Land auswählen';\n this.Auswahlhoehe = 600;\n this.ShowAuswahl = true;\n\n this.Auswahlliste = [];\n\n\n this.Auswahlliste.push({ Index: 0, FirstColumn: 'Deutschland', SecoundColumn: 'DE', Data: 'DE' });\n this.Auswahlliste.push({ Index: 1, FirstColumn: 'Bulgarien', SecoundColumn: 'BG', Data: 'BG' });\n\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data:this.DB.CurrentStandort.Land} );\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'LandClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n BundeslandClickedEventHandler() {\n\n try {\n\n let Index: number = 0;\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Bundesland;\n\n this.Auswahltitel = 'Bundesland auswählen';\n this.Auswahlhoehe = 600;\n this.ShowAuswahl = true;\n\n this.Auswahlliste = [];\n\n for(let Region of this.DBUrlaub.Regionenliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Region.Name, SecoundColumn: Region.isoCode, Data: Region.isoCode });\n\n Index++;\n }\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data:this.DB.CurrentStandort.Bundesland} );\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'BundeslandClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n KonfessionClickedEventHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Konfession;\n\n this.Auswahltitel = 'Konfession auswählen';\n this.Auswahlhoehe = 600;\n this.ShowAuswahl = true;\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: 0, FirstColumn: 'Katholisch', SecoundColumn: 'RK', Data: 'RK' });\n this.Auswahlliste.push({ Index: 1, FirstColumn: 'Evangelisch', SecoundColumn: 'EV', Data: 'EV' });\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data:this.DB.CurrentStandort.Konfession });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'KonfessionClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n CheckMitarbeiterIsStandortUrlaubsfreigabe(id: string, Standort: Standortestruktur): boolean {\n\n try {\n\n let Index: number = Standort.Urlaubfreigabepersonen.indexOf(id);\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'CheckMitarbeiterIsStandortUrlaubsfreigabe', this.Debug.Typen.Page);\n }\n }\n\n CheckMitarbeiterIsStandortHomeofficefreigabe(id: string, Standort: Standortestruktur): boolean {\n\n try {\n\n let Index: number = Standort.Homeofficefreigabepersonen.indexOf(id);\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'CheckMitarbeiterIsStandortHomeofficefreigabe', this.Debug.Typen.Page);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {SafePipe} from './safe.pipe';\n\n@NgModule({\n declarations: [\n\n SafePipe\n ],\n exports: [\n\n SafePipe\n ],\n imports: [\n\n ],\n providers: [\n\n ]\n})\nexport class SafePipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl} from '@angular/platform-browser';\n\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n\n constructor(private sanitizer: DomSanitizer) { }\n\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n\n switch (type) {\n\n case 'html':\n\n return this.sanitizer.bypassSecurityTrustHtml(value);\n\n\n case 'style':\n\n return this.sanitizer.bypassSecurityTrustStyle(value);\n\n\n case 'script':\n\n return this.sanitizer.bypassSecurityTrustScript(value);\n\n\n\n case 'url':\n\n return this.sanitizer.bypassSecurityTrustUrl(value);\n\n\n\n case 'resourceUrl':\n\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\n\n\n\n default:\n\n throw new Error(`Invalid safe type specified: ${type}`);\n\n\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuswahlDialogService {\n\n public Auswahloriginvarianten = {\n\n Standorteeditor_Land: 'Standorteeditor_Land',\n Standorteeditor_Bundesland: 'Standorteeditor_Bundesland',\n Standorteeditor_Konfession: 'Standorteeditor_Konfession',\n\n Projekteliste_Standortfiler: 'Projekteliste_Standortfiler',\n Projekteliste_Editor_Leistungsphase: 'Projekteliste_Editor_Leistungsphase',\n\n Projekte_Editor_Standort: 'Projekte_Editor_Standortfilter',\n Projekte_Editor_Mitarbeiterauswahl_Projektleiter: 'Projekte_Editor_Mitarbeiterauswahl_Projektleiter',\n Projekte_Editor_Mitarbeiterauswahl_Stellvertreter: 'Projekte_Editor_Mitarbeiterauswahl_Stellvertreter',\n Projekte_Editor_Mitarbeiterauswahl: 'Projekte_Editor_Mitarbeiterauswahl',\n Projekte_Editor_Mitarbeiterauswahl_Standortfilter: 'Projekte_Editor_Mitarbeiterauswahl_Standortfilter',\n Projekte_Editor_Projektstatus: 'Projekte_Editor_Projektstatus',\n // Projekte_Editor_Beteiligteneditor_Fachbereich: 'Projekte_Editor_Beteiligteneditor_Fachbereich',\n Projekte_Editor_Firmeneditor_Fachbereich: 'Projekte_Editor_Firmeneditor_Fachbereich',\n Projekte_Editor_Beteiligteneditor_Fachfirma: 'Projekte_Editor_Beteiligteneditor_Fachfirma',\n\n Favoriten_Editor_Projekteauswahl_Standortfilter: 'Favoriten_Editor_Projekteauswahl_Standortfilter',\n\n Mitarbeiter_Editor_Standort: 'Mitarbeiter_Editor_Standort',\n Mitarbeiter_Editor_Fachbereich: 'Mitarbeiter_Editor_Fachbereich',\n Mitarbeiter_Editor_Anrede: 'Mitarbeiter_Editor_Anrede',\n Mitarbeiter_Editor_Urlaub: 'Mitarbeiter_Editor_Urlaub',\n Mitarbeiter_Liste_Standortfilter: 'Mitarbeiter_Liste_Standortfilter',\n Mitarbeiter_Liste_Position: 'Mitarbeiter_Liste_Position',\n\n Aufgabenliste_ZustaendigExtern: 'Aufgabenliste_ZustaendigExtern',\n Aufgabenliste_ZustaendigIntern: 'Aufgabenliste_ZustaendigIntern',\n Aufgabenliste_Fortschritt: 'Aufgabenliste_Fortschritt',\n Aufgabenliste_Zeitfilter: 'Aufgabenliste_Zeitfilter',\n\n Aufgabenliste_Filter_Zeitspanne: 'Aufgabenliste_Filter_Zeitspanne',\n\n Aufgabenliste_Editor_Fachbereich: 'Aufgabenliste_Editor_Fachbereich',\n Aufgabenliste_Editor_Status: 'Aufgabenliste_Editor_Status',\n Aufgabenliste_Editor_Standortfilter: 'Aufgabenliste_Editor_Standortfilter',\n Aufgabenliste_Editor_ZustaendigExtern: 'Aufgabenliste_Editor_ZustaendigExtern',\n Aufgabenliste_Editor_ZustaendigIntern: 'Aufgabenliste_Editor_ZustaendigIntern',\n Aufgabenliste_Editor_Leistungsphase: 'Aufgabenliste_Editor_Kostengruppe',\n Aufgabenliste_Editor_Kostengruppe: 'Aufgabenliste_Editor_Leistungsphase',\n Aufgabenliste_Editor_Verfasser: 'Aufgabenliste_Editor_Verfasser',\n Aufgabenliste_Editor_AnmerkungenVerfasser: 'Aufgabenliste_Editor_AnmerkungenVerfasser',\n\n Aufgabenliste_Meintageintrag_Status: 'Aufgabenliste_Meintageintrag_Status',\n Aufgabenliste_Meintageintrag_Termin: 'Aufgabenliste_Meintageintrag_Termin',\n\n Festlegungsliste_Editor_Leistungsphase: 'Festlegungsliste_Editor_Leistungsphase',\n Festlegungsliste_Leistungsphasefilter: 'Festlegungsliste_Leistungsphasefilter',\n Festlegungliste_Emaileditor_Standortfilter: 'Festlegungliste_Emaileditor_Standortfilter',\n Festlegungliste_Editor_Status: 'Festlegungliste_Editor_Status',\n Festlegungliste_Editor_Fachbereich: 'Festlegungliste_Editor_Fachbereich',\n Festlegungliste_Editor_Kostengruppe: 'Festlegungliste_Editor_Kostengruppe',\n Festlegungliste_Editor_ZustaendigExtern: 'Festlegungliste_Editor_ZustaendigExtern',\n Festlegungliste_Editor_ZustaendigIntern: 'Festlegungliste_Editor_ZustaendigIntern',\n\n Festlegungliste_Emaileditor_Intern_Empfaenger: 'Festlegungliste_Emaileditor_Intern_Empfaenger',\n Festlegungliste_Emaileditor_Intern_CcEmpfaenger: 'Festlegungliste_Emaileditor_Intern_CcEmpfaenger',\n Festlegungliste_Emaileditor_Extern_Empfaenger: 'Festlegungliste_Emaileditor_Extern_Empfaenger',\n Festlegungliste_Emaileditor_Extern_CcEmpfaenger: 'Festlegungliste_Emaileditor_Extern_CcEmpfaenger',\n\n Bautagebuchliste_Emaileditor_Intern_Empfaenger: 'Bautagebuchliste_Emaileditor_Intern_Empfaenger',\n Bautagebuchliste_Emaileditor_Intern_CcEmpfaenger: 'Bautagebuchliste_Emaileditor_Intern_CcEmpfaenger',\n Bautagebuchliste_Emaileditor_Extern_Empfaenger: 'Bautagebuchliste_Emaileditor_Extern_Empfaenger',\n Bautagebuchliste_Emaileditor_Extern_CcEmpfaenger: 'Bautagebuchliste_Emaileditor_Extern_CcEmpfaenger',\n Bautagebuchliste_Bautagebucheditor: 'Bautagebuchliste_Bautagebucheditor',\n\n Protokollliste_Editor_Leistungsphase: 'Protokollliste_Editor_Leistungsphase',\n Protokollliste_Editor_Kostengruppe: 'Protokollliste_Editor_Kostengruppe',\n Protokollliste_Protokolleditor_Teamteilnehmer: 'Protokollliste_Protokolleditor_Teamteilnehmer',\n Protokollliste_Projektpunkteditor_Teamteilnehmer: 'Protokollliste_Projektpunkteditor_Teamteilnehmer',\n Protokollliste_Protokolleditor_Beteilgtenteilnehmer: 'Protokollliste_Protokolleditor_Beteilgtenteilnehmer',\n Protokollliste_Projektpunkteditor_Beteilgtenteilnehmer: 'Protokollliste_Projektpunkteditor_Beteilgtenteilnehmer',\n\n Urlaubsplanung_Mitarbeiter_Wechseln: 'Urlaubsplanung_Mitarbeiter_Wechseln',\n Urlaubsplanung_Vertreter_Festlegen: 'Urlaubsplanung_Vertreter_Festlegen',\n Urlaubsplanung_Status_Aendern: 'Urlaubsplanung_Status_Aendern',\n Urlaubsplanung_Jahr_Aendern: 'Urlaubsplanung_Jahr_Aendern',\n UrlaubEinstellungen_Projektbeteiligte_Auswahl: 'UrlaubEinstellungen_Projektbeteiligte_Auswahl',\n UrlaubEinstellungen_Freigeber_Auswahl: 'UrlaubEinstellungen_Freigeber_Auswahl',\n UrlaubEinstellungen_Standort_Filter: 'UrlaubEinstellungen_Standort_Filter',\n UrlaubPlanung_Standort_Filter: 'UrlaubPlanung_Standort_Filter',\n UrlaubUebersicht_Standort_Filter: 'UrlaubUebersicht_Standort_Filter',\n UrlaubAnfargen_Standort_Filter: 'UrlaubAnfargen_Standort_Filter',\n\n Protokollliste_Emaileditor_Extern_Empfaenger: 'Protokollliste_Emaileditor_Extern_Empfaenger',\n Protokollliste_Emaileditor_Extern_CcEmpfaenger: 'Protokollliste_Emaileditor_Extern_CcEmpfaenger',\n Protokollliste_Emaileditor_Intern_Empfaenger: 'Protokollliste_Emaileditor_Intern_Empfaenger',\n Protokollliste_Emaileditor_Intern_CcEmpfaenger: 'Protokollliste_Emaileditor_Intern_CcEmpfaenger',\n\n LOPliste_Emaileditor_Extern_Empfaenger: 'LOPliste_Emaileditor_Extern_Empfaenger',\n LOPliste_Emaileditor_Extern_CcEmpfaenger: 'LOPliste_Emaileditor_Extern_CcEmpfaenger',\n LOPliste_Emaileditor_Intern_Empfaenger: 'LOPliste_Emaileditor_Intern_Empfaenger',\n LOPliste_Emaileditor_Intern_CcEmpfaenger: 'LOPliste_Emaileditor_Intern_CcEmpfaenger',\n\n\n Protokollliste_Editor_Standortfilter: 'Protokollliste_Editor_Standortfilter',\n Protokollliste_Projektpunkteditor_Status: 'Protokollliste_Projektpunkteditor_Status',\n Protokollliste_Projektpunkteditor_Fachbereich: 'Protokollliste_Projektpunkteditor_Fachbereich',\n\n Simontabelle_Editor_Emailempfaenger: 'Simontabelle_Editor_Emailempfaenger',\n\n\n Emailliste_Projektpunkteditor_Fachbereich: 'Emailliste_Projektpunkteditor_Fachbereich',\n Emailliste_Editor_ZustaendigIntern: 'Emailliste_Editor_ZustaendigIntern',\n Emailliste_Editor_ZustaendigExtern: 'Emailliste_Editor_ZustaendigExtern',\n Emailliste_Beteiligteneditor_Projektauswahl: 'Emailliste_Beteiligteneditor_Projektauswahl',\n\n Protokollliste_Filter_Leistungsphase: 'Protokollliste_Filter_Leistungsphase',\n Protokollliste_Filter_Zeitspanne: 'Protokollliste_Filter_Zeitspanne',\n\n LOPListe_LOPListeeditor_InternTeilnehmer: 'LOPListe_LOPListeeditor_InternTeilnehmer',\n LOPListe_LOPListeeditor_ExternTeilnehmer: 'LOPListe_LOPListeeditor_ExternTeilnehmer',\n LOPListe: 'LOPListe',\n LOPListe_Thumnailsize: 'LOPListe_Thumnailsize',\n\n LOPListe_Eintrageditor_ZustaendigExtern: 'LOPListe_Eintrageditor_ZustaendigExtern',\n LOPListe_Eintrageditor_ZustaendigIntern: 'LOPListe_Eintrageditor_ZustaendigIntern',\n LOPListe_Eintrageditor_Standortfilter: 'LOPListe_Eintrageditor_Standortfilter',\n LOPListe_Eintrageditor_Fachbereich: 'LOPListe_Eintrageditor_Fachbereich',\n LOPListe_Eintrageditor_Status: 'LOPListe_Eintrageditor_Status',\n LOPListe_Eintrageditor_Prioritaet: 'LOPListe_Eintrageditor_Prioritaet',\n LOPListe_Eintrageditor_AnmerkungVerfasser: 'LOPListe_Eintrageditor_AnmerkungVerfasser',\n LOPListe_Eintrageditor_Verfasser: 'LOPListe_Eintrageditor_Verfasser',\n\n LOPListe_Emaileditor_Intern_Empfaenger: 'LOPListe_Emaileditor_Intern_Empfaenger',\n LOPListe_Emaileditor_Intern_CcEmpfaenger: 'LOPListe_Emaileditor_Intern_CcEmpfaenger',\n LOPListe_Emaileditor_Extern_Empfaenger: 'LOPListe_Emaileditor_Extern_Empfaenger',\n LOPListe_Emaileditor_Extern_CcEmpfaenger: 'LOPListe_Emaileditor_Extern_CcEmpfaenger',\n\n Urlaubsliste_Bundesland: 'Urlaubsliste_Bundesland'\n };\n\n constructor(private Debug: DebugProvider) {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Dialog Auswahl', 'constructor', this.Debug.Typen.Service);\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Platform} from '@ionic/angular';\nimport {PageHeaderComponent} from '../../components/page-header/page-header';\nimport {PageFooterComponent} from '../../components/page-footer/page-footer';\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n\n providedIn: 'root'\n})\nexport class BasicsProvider {\n\n public Headerhoehe: number = 0;\n public Footerhoehe: number = 0;\n public Contenthoehe: number = 0;\n public Contentbreite: number = 0;\n public InnerContenthoehe: number = 0;\n public Waittime: number = 300;\n public Svgpath: string = 'assets/svgs/';\n public AppBuild: string = '05.06.2024 07:00';\n public AppVersionName: string = '1.19';\n public AppVersionDatum: string = '05.06.2024';\n public WebAppUrl: string = 'https://polite-cliff-084832d03.4.azurestaticapps.net/';\n\n\n public Farben = {\n\n BAEBlau: '#307ac1',\n BAEHellgrau: '#dfe5eb',\n Gruen: '#006400',\n Burnicklgruen: '#c7d304',\n Grau: '#454545',\n Buttoncolor: '#444444',\n Blau: '#00008B',\n Orange: '#FF8C00',\n Bordercolor: '#3880ff',\n Burnicklbraun: '#7b6a58',\n Burnicklgrau: '#354547',\n ButtongrauDisabled: '#444444'\n };\n\n public Ionicfarben = {\n\n BurnicklGruen: 'burnicklgruen',\n BAEBlau: 'baeblau',\n BurnicklGrau: 'burnicklgrau',\n BurnicklBraun: 'burnicklbraun',\n\n Gruen: 'gruen',\n Orange: 'orange',\n Grau: 'grau',\n Silber: 'silber',\n Schwarz: 'schwarz',\n Weiss: 'weiss',\n Rot: 'rot',\n Blau: 'blau',\n Dunkelblau: 'dunkelblau',\n Braun: 'braun',\n Teal: 'teal',\n Gelb: 'gelb'\n };\n\n\n\n\n constructor(public platform: Platform, public Const: ConstProvider) {\n\n\n }\n\n\n public MeassureInnercontent(header: PageHeaderComponent, footer: PageFooterComponent) {\n\n try {\n\n if(typeof header !== 'undefined' && header !== null) {\n\n this.Headerhoehe = header.PageHeaderDiv.nativeElement.clientHeight;\n }\n else this.Headerhoehe = 56;\n\n if(typeof footer !== 'undefined' &&footer !== null) {\n\n this.Footerhoehe = footer.PageFooterFrameDiv.nativeElement.clientHeight;\n }\n else this.Footerhoehe = 55;\n\n this.InnerContenthoehe = this.Contenthoehe - this.Headerhoehe - this.Footerhoehe;\n\n\n console.log('Basics MeassureScreen -> Screenbreite: ' + this.platform.width() + ' / Screenhoehe: ' + this.platform.height());\n console.log('Basics MeassureScreen -> Headerhoehe: ' + this.Headerhoehe + ' / Footerhoehe: ' + this.Footerhoehe);\n console.log('Basics MeassureScreen -> InnerContenthoehe: ' + this.InnerContenthoehe);\n }\n catch (error) {\n\n window.console.log(error + ' / Basics ' + ' / MeassureInnercontent ');\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CommonUrlaubsgesamtuebersichtPageModule\n} from \"../../pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.module\";\nimport {CommonWartungPage} from \"../../pages/common-wartung/common-wartung.page\";\n\nconst _MitarbeiterdatenKeys = {\n\n MitarbeiterID: 'MitarbeiterID',\n Typ: 'Typ',\n Name: 'Name',\n Vorname: 'Vorname',\n Strasse: 'Strasse',\n PLZ: 'PLZ',\n Ort: 'Ort',\n Telefon: 'Telefon',\n Mobil: 'Mobil',\n Email: 'Email',\n Position: 'Position',\n Zeit: 'Zeit',\n Zeitstempel: 'Zeitstempel',\n Aktiviert: 'Aktiviert',\n Verified: 'Verified',\n OS: 'OS',\n Passwort: 'Passwort',\n UserID: 'UserID',\n Rechte: 'Rechte',\n Working: 'Working',\n KolonnenfuehrerID: 'KolonnenfuehrerID',\n Settings: 'Settings',\n Startseitensetup: 'Startseitensetup',\n Zeitmonatsuebersichtsetup: 'Zeitmonatsuebersichtsetup',\n Zeitjahresuebersichtsetup: 'Zeitjahresuebersichtsetup',\n KolonnenmitgliederIDListe: 'KolonnenmitgliederIDListe',\n Regelarbeitszeit: 'Regelarbeitszeit',\n Datastatus: 'Datastatus',\n Formelsammlung: 'Formelsammlung',\n Schaltplaene: 'Schaltplaene',\n Steckerbelegungen: 'Steckerbelegungen',\n Shortcuts: 'Shortcuts',\n Baustelle: 'Baustelle',\n Aufgaben: 'Aufgaben',\n Material: 'Material',\n Notizen: 'Notizen',\n Arbeitstag: 'Arbeitstag',\n Tagebuch: 'Tagebuch',\n News: 'News',\n Zeiterfassung: 'Zeiterfassung',\n Zeituebersicht: 'Zeituebersicht',\n Zeiterfassungsetup: 'Zeiterfassungsetup',\n Kamerasettings: 'Kamerasettings',\n LastDokumentID: 'LastDokumentID',\n Tagebuchsetup: 'Tagebuchsetup'\n};\n\nconst _Loginstatusvarianten = {\n\n ok: 'ok',\n out: 'out'\n};\n\nconst _Playermodus = {\n\n Stopped: 'Stopped',\n Running: 'Running',\n Paused: 'Paused',\n};\n\nconst _Dialogmessages = {\n\n ok: 'ok',\n no: 'no',\n cancel: 'cancel',\n delete: 'delete',\n wahla: 'wahla',\n wahlb: 'wahlb'\n};\n\nconst _Mitarbeiterpossitionen = {\n\n Administrator: 'Administrator',\n Mitarbeiter: 'Mitarbeiter',\n Teamleiter: 'Teamleiter',\n Keine: 'Keine',\n\n};\n\nconst _Nachrichtentypen = {\n\n Text: 'Text',\n Aufgabe: 'Aufgabe',\n AufgabeFinished: 'AufgabeFinished',\n Material: 'Material',\n MaterialFinished: 'MaterialFinished',\n Notiz: 'Notiz',\n Zeitmarke: 'Zeitmarke',\n Teambeitritt: 'Teambeitritt',\n Teamaustritt: 'Teamaustritt',\n Zeitdaten: 'Zeitdaten',\n Tagebuchbildrequest: 'Tagebuchbildrequest',\n TagebuchbildrequestFinished: 'TagebuchbildrequestFinished',\n};\n\nconst _Nachrichtendirections = {\n\n OUT: 'OUT',\n IN: 'IN',\n NONE: 'NONE'\n};\n\n\n\nconst _Adressbuchtypen = {\n\n Firma: 'Firma',\n Mitarbeiter: 'Mitarbeiter',\n Solo: 'Solo'\n};\n\nconst _Mitarbeitertypen = {\n\n Firmengruender: 'Firmengruender',\n Mitarbeiter: 'Mitarbeiter',\n Solo: 'Solo'\n};\n\nconst _Projektpunktdetailtyp = {\n\n Statusmeldung: 'Statusmeldung',\n Nextstep: 'Nextstep',\n};\n\n\nconst _Platformliste = {\n\n WEB: 'web',\n ANDROID: 'android',\n IOS: 'ios'\n};\n\n\nconst _Startseitensetupvarianten = {\n\n Shortcuts: 'Shortcuts',\n Baustelle: 'Baustelle',\n Aufgaben: 'Aufgaben',\n Material: 'Material',\n Notizen: 'Notizen',\n Tagebuch: 'Tagebuch',\n News: 'News',\n Arbeitstag: 'Arbeitstag'\n};\n\n\nconst _Orientationvarianten = {\n\n Landscape: 'Landscape',\n Portrait: 'Portrait'\n};\n\nconst _Virtualitemvarianten = {\n\n Eintrag: 'Eintrag',\n Alphabet: 'Alphabet',\n Abstand: 'Abstand',\n Button: 'Button'\n};\n\nconst _Kartenadressentyp = {\n\n Kontakte: 'Kontakt',\n Firma: 'Firma',\n Mitarbeiter_Arbeit: 'Mitarbeiter_Arbeit',\n Mitarbeiter_Privat: 'Mitarbeiter_Privat'\n};\n\n\nconst _Pages = {\n\n // Allgemein\n\n HomePage: 'HomePage',\n WartungPage: 'WartungPage',\n RegistrierungPage: 'RegistrierungPage',\n EinstellungenPage: 'EinstellungenPage',\n StartseitePage: 'StartseitePage',\n IntroPage: 'IntroPage',\n ShortcutsEditorPage: 'ShortcutsEditorPage',\n EmailzentralePage: 'EmailzentralePage',\n PasswortVergessenPage: 'PasswortVergessenPage',\n TestPage: 'TestPage',\n ErrorPage: 'ErrorPage',\n DebugPage: 'DebugPage',\n PDFViewerPage: 'PDFViewerPage',\n EmaillistePage: 'EmaillistePage',\n UrlaubPlanungPage: 'UrlaubPlanungPage',\n UrlaubEinstellungenPage: 'UrlaubEinstellungenPage',\n UrlaubUebersichtPage: 'UrlaubUebersichtPage',\n UrlaubFreigabenPage: 'UrlaubFreigabenPage',\n UrlaubsgesamtuebersichtPage: 'UrlaubsgesamtuebersichtPage',\n\n // Firma\n\n FiMitarbeiterlistePage: 'FiMitarbeiterlistePage',\n FiMitarbeiterauswahlPage: 'FiMitarbeiterauswahlPage',\n FiMitarbeiterSettingsPage: 'FiMitarbeiterSettingsPage',\n FiStandortelistePage: 'FiStandortelistePage',\n\n // Projekt\n\n PjListePage: 'PjListePage',\n\n PjGebaeudestrukturBearbeitenPage: 'PjGebaeudestrukturBearbeitenPage',\n PjGebaeudestrukturBauteilBearbeitenPage: 'PjGebaeudestrukturBauteilBearbeitenPage',\n PjGebaeudestrukturGeschossBearbeitenPage: 'PjGebaeudestrukturGeschossBearbeitenPage',\n PjGebaeudestrukturRaumBearbeitenPage: 'PjGebaeudestrukturRaumBearbeitenPage',\n PjGebaeudestrukturRaumMarkierenPage: 'PjGebaeudestrukturRaumMarkierenPage',\n\n PjFavoritenlistePage: 'PjFavoritenlistePage',\n\n PJProjektbeteiligtelistePage: 'PJProjektbeteiligtelistePage',\n\n PjEmailzentralePage: 'PjEmailzentralePage',\n\n PjProtokollSendeberichtPage: 'PjProtokollSendeberichtPage',\n\n PjFestlegungkategorieeditorPage: 'PjFestlegungkategorieeditorPage',\n\n\n PjNotizenListePage: 'PjNotizenListePage',\n\n PjAufgabenlistePage: 'PjAufgabenlistePage',\n\n\n PjProtokolleListePage: 'PjProtokolleListePage',\n\n PjFilebrowserPage: 'PjFilebrowserPage',\n\n PjBaustelleLoplistePage: 'PjBaustelleLoplistePage',\n PjBaustelleTagebuchlistePage: 'PjBaustelleTagebuchlistePage',\n PjFestlegungslistePage: 'PjFestlegungslistePage',\n\n PjPlanungsmatrixPage: 'PjPlanungsmatrixPage',\n\n PjSimontabellelistePage: 'PjSimontabellelistePage'\n};\n\nconst _Treeitemtypvarianten = {\n\n Strukturknoten: 'Strukturknoten',\n Struktureintrag: 'Struktureintrag',\n Strukturchild: 'Strukturchild',\n Dateneintrag: 'Dateneintrag',\n Datenchild: 'Datenchild',\n Datenknoten: 'Datenknoten'\n};\n\nconst _Planlistentyp = {\n\n Gesamtgebaeude: 'Gesamtgebaeude',\n Bauteil: 'Bauteil',\n Geschoss: 'Geschoss'\n};\n\nconst _Dokumentelementtypen = {\n\n Betriebsmittel: 'Betriebsmittel',\n Anmerkung: 'Anmerkung',\n Markierung: 'Markierung'\n};\n\nconst _Planmodusvarianten = {\n\n RaumMarkieren: 'RaumMarkieren',\n RaumMarkierenZoomen: 'RaumMarkierenZoomen',\n SkalierePlan: 'SkalierePlan',\n ViewPlan: 'ViewPlan',\n PlanMessen: 'PlanMessen',\n RaumbuchUebersicht: 'RaumbuchUebersicht',\n RaumbuchEditorZoom: 'RaumbuchEditorZoom',\n RaumbuchEditorPlaceBetriebsmittel: 'RaumbuchEditorPlaceBetriebsmittel',\n RaumbuchEditorReplaceBetriebsmittel: 'RaumbuchEditorReplaceBetriebsmittel',\n RaumbuchEditorBearbeiteBetriebsmittel: 'RaumbuchEditorBearbeiteBetriebsmittel',\n RaumbuchEditorResizeAnmerkung: 'RaumbuchEditorResizeAnmerkung',\n RaumbuchEditorPlaceAnmerkung: 'RaumbuchEditorPlaceAnmerkung',\n RaumbuchEditorReplaceAnmerkung: 'RaumbuchEditorReplaceAnmerkung',\n RaumbuchEditorSetAnmerkungLocation: 'RaumbuchEditorSetAnmerkungLocation',\n\n};\n\nconst _Zeiteintraegetypen = {\n\n Platzhalter: 'Platzhalter',\n Externtag: 'Externtag',\n Freizeit : 'Freizeit',\n Abwesenheit: 'Abwesenheit',\n Arbeitszeit: 'Arbeitszeit',\n Regiearbeitszeit: 'Regiearbeitszeit',\n Urlaub: 'Urlaub',\n Feiertag: 'Feiertag',\n Krankenstand: 'Krankenstand',\n Ueberstunden: 'Ueberstunden',\n Zeitrahmendaten: 'Zeitrahmendaten',\n Leerzeit: 'Leerzeit',\n Zusatzzeit: 'Zusatzzeit',\n Leer: 'Leeer',\n Titel: 'Titel',\n Ungenutzt: 'Ungenutzt',\n Kalenderwoche: 'Kalenderwoche',\n Summe: 'Summe'\n};\n\nconst _Tagtypen = {\n\n Arbeitstag: 'Arbeitstag',\n Urlaubstag: 'Urlaub',\n Feiertag: 'Feiertag',\n Krankenstandtag: 'Krankenstandtag',\n Keintag: 'Keintag'\n};\n\nconst _Tageseditormodus = {\n\n Eintrag : 'Eintrag',\n Tag: 'Tag',\n Urlaub: 'Urlaub',\n Krankenstand: 'Krankenstand',\n Feiertag: 'Feiertag'\n};\n\nconst _Devicenamen = {\n\n iPhone : 'iPhone',\n iPhone_XsMax_Xr : 'iPhone_XsMax_Xr',\n iPhone_X_Xs : 'iPhone_X_Xs',\n iPhone_6p_6sp_7p_8p : 'iPhone_6p_6sp_7p_8p',\n iPhone_6_6s_7_8 : 'iPhone_6_6s_7_8',\n iPhone_5_5s_5c_SE : 'iPhone_5_5s_5c_SE',\n iPad : 'iPad',\n iPad_9_Zoll : 'iPad_9_Zoll',\n iPad_10_Zoll : 'iPad_10_Zoll',\n iPad_12_Zoll : 'iPad_12_Zoll',\n Unbekannt : 'Unbekannt'\n};\n\n\nconst _Beteiligteneintragtypen = {\n\n Person: 'Person',\n Firma: 'Firma'\n};\n\nconst _Fachfirmentypen: any = {\n\n Unbekannt: {\n\n Typnummer: 0,\n Name: 'Unbekannt',\n Color: '#ff6600'\n },\n Elektroinstallateur: {\n\n Typnummer: 1,\n Name: 'Elektroinstallateur',\n Color: '#ff6600'\n },\n Heizungsinstallateur: {\n\n Typnummer: 2,\n Name: 'Heizungsinstallateur',\n Color: '#ff6600'\n },\n Lueftungsinstallateur: {\n\n Typnummer: 3,\n Name: 'Lüftungsinstallateur',\n Color: '#ff6600'\n },\n Sanitaerinstallateur: {\n\n Typnummer: 4,\n Name: 'Sanitärinstallateur',\n Color: '#ff6600'\n },\n Rohbaufirma: {\n\n Typnummer: 5,\n Name: 'Rohbaufirma',\n Color: '#ff6600'\n },\n Tiefbaufirma: {\n\n Typnummer: 6,\n Name: 'Tiefbaufirma',\n Color: '#ff6600'\n },\n Blitschutzbauer: {\n\n Typnummer: 7,\n Name: 'Blitschutzbauer',\n Color: '#ff6600'\n },\n Dachdecker: {\n\n Typnummer: 8,\n Name: 'Dachdecker',\n Color: '#ff6600'\n },\n Zimmerei: {\n\n Typnummer: 9,\n Name: 'Zimmerei',\n Color: '#ff6600'\n },\n Schreiner: {\n\n Typnummer: 10,\n Name: 'Schreiner',\n Color: '#ff6600'\n },\n Medientechnik: {\n\n Typnummer: 11,\n Name: 'Medientechnik',\n Color: '#ff6600'\n },\n Fussbodenlegen: {\n\n Typnummer: 12,\n Name: 'Fußbodenlegen',\n Color: '#ff6600'\n },\n Estrichleger: {\n\n Typnummer: 13,\n Name: 'Estrichleger',\n Color: '#ff6600'\n },\n Fliesenleger: {\n\n Typnummer: 14,\n Name: 'Fliesenleger',\n Color: '#ff6600'\n },\n Foerderanlagenbauer: {\n\n Typnummer: 15,\n Name: 'Förderanlagenbauer',\n Color: '#ff6600'\n },\n};\n\nconst _Anlagengruppen: any = {\n\n Anlagengruppe_1: {\n\n Nummer: 1,\n Name: 'Abwasser-, Wasser-, Gasanlagen',\n },\n Anlagengruppe_2: {\n\n Nummer: 2,\n Name: 'Wärmeversorgungsanlagen',\n },\n Anlagengruppe_3: {\n\n Nummer: 3,\n Name: 'Luftechnische Anlagen',\n },\n Anlagengruppe_4: {\n\n Nummer: 4,\n Name: 'Starkstromanlage',\n },\n Anlagengruppe_5: {\n\n Nummer: 5,\n Name: 'Fernmelde- und informationstechnische Anlagen',\n },\n Anlagengruppe_6: {\n\n Nummer: 6,\n Name: 'Förderanlagen',\n },\n Anlagengruppe_7: {\n\n Nummer: 7,\n Name: 'Nutzerspezifische und verfahrenstechnische Anlagen',\n },\n Anlagengruppe_8: {\n\n Nummer: 8,\n Name: 'Gebäude- und Anlagenautomation'\n }\n};\n\nconst _Leistungsphasenvarianten = {\n\n UNBEKANNT: 'unbekannt',\n LPH1: 'LPH1',\n LPH2: 'LPH2',\n LPH3: 'LPH3',\n LPH4: 'LPH4',\n LPH5: 'LPH5',\n LPH6: 'LPH6',\n LPH7: 'LPH7',\n LPH8: 'LPH8',\n};\n\n\nconst _Beteiligtentypen: any = {\n\n Unbekannt: {\n\n Typnummer: 0,\n Name: 'Unbekannt',\n Kurzname: 'Unbekannt',\n Color: '#ff6600'\n },\n Architekt: {\n\n Typnummer: 1,\n Name: 'Architekt',\n Kurzname: 'Archtiekt',\n Color: '#ff6600'\n },\n Elektroplaner: {\n\n Typnummer: 2,\n Name: 'ELT Planungsbüro',\n Kurzname: 'ELT Planungsbüro',\n Color: '#3771c8'\n },\n HLSplaner: {\n\n Typnummer: 3,\n Name: 'HLS Planungsbüro',\n Kurzname: 'HLS Planungsbüro',\n Color: '#3771c8'\n },\n Fachplaner: {\n\n Typnummer: 4,\n Name: 'Fachplaner',\n Kurzname: 'Fachplaner',\n Color: '#3771c8'\n },\n Tragwerksplaner: {\n\n Typnummer: 5,\n Name: 'Tragwerksplaner',\n Kurzname: 'Tragwerksplaner',\n Color: '#3771c8'\n },\n Aussenanlagenarchitekt: {\n\n Typnummer: 6,\n Name: 'Außenanlagenarchitekt',\n Kurzname: 'Außenanlagenarchitekt',\n Color: '#3771c8'\n },\n Bauherr: {\n\n Typnummer: 7,\n Name: 'Bauherr',\n Kurzname: 'Bauherr',\n Color: '#008000',\n },\n Nutzer: {\n\n Typnummer: 8,\n Name: 'Nutzer',\n Kurzname: 'Nutzer',\n Color: '#008000',\n },\n Pruefsachverstaendiger: {\n\n Typnummer: 9,\n Name: 'Prüfsachverständiger',\n Kurzname: 'Prüfsachverständiger',\n Color: '#008000',\n },\n Projektsteurer: {\n\n Typnummer: 10,\n Name: 'Projektsteurer',\n Kurzname: 'Projektsteurer',\n Color: '#008000',\n },\n Ausfuehrungsfirma: {\n\n Typnummer: 11,\n Name: 'Ausführende Firma',\n Kurzname: 'Ausführende Firma',\n Color: '#008000',\n },\n Objektueberwacher: {\n\n Typnummer: 12,\n Name: 'Objektüberwacher',\n Kurzname: 'OÜ',\n Color: '#008000',\n },\n ITAbteilung: {\n\n Typnummer: 13,\n Name: 'IT - Abteilung',\n Kurzname: 'IT',\n Color: '#008000',\n },\n Ausfuehrungsfirma_HLS: {\n\n Typnummer: 14,\n Name: 'Ausführende Firma HLS',\n Kurzname: 'HLS',\n Color: '#008000',\n },\n Ausfuehrungsfirma_ELT: {\n\n Typnummer: 15,\n Name: 'Elektroinstallation',\n Kurzname: 'ELZ',\n Color: '#008000',\n },\n Ausfuehrungsfirma_BMA: {\n\n Typnummer: 16,\n Name: 'BMA Installation',\n Kurzname: 'BMA',\n Color: '#008000',\n },\n Ausfuehrungsfirma_Blitzschutz: {\n\n Typnummer: 17,\n Name: 'Blitzschutzbauer',\n Kurzname: 'Blitzschutzbaur',\n Color: '#008000',\n },\n\n Ausfuehrungsfirma_H: {\n\n Typnummer: 18,\n Name: 'Heizungsfirma',\n Kurzname: 'Heizungsfirma',\n Color: '#008000',\n },\n Ausfuehrungsfirma_L: {\n\n Typnummer: 19,\n Name: 'Lüftungsinstallation',\n Kurzname: 'Lüftung',\n Color: '#008000',\n },\n Ausfuehrungsfirma_S: {\n\n Typnummer: 20,\n Name: 'Sanitärinstallation',\n Kurzname: 'Sanitär',\n Color: '#008000',\n },\n Ausfuehrungsfirma_Rohbau: {\n\n Typnummer: 21,\n Name: 'Rohbaufirma',\n Kurzname: 'Rohbaufirma',\n Color: '#008000',\n },\n Ausfuehrungsfirma_Tiefbau: {\n\n Typnummer: 22,\n Name: 'Tiefbaufirma',\n Kurzname: 'Tiefbaufirma',\n Color: '#008000',\n },\n Ausfuehrungsfirma_GALA: {\n\n Typnummer: 23,\n Name: 'GALA Baufirma',\n Kurzname: 'GALA Baufirma',\n Color: '#008000',\n },\n\n Ausfuehrungsfirma_Aufzug: {\n\n Typnummer: 24,\n Name: 'Aufzugsfirma',\n Kurzname: 'Aufzugsfirma',\n Color: '#008000',\n },\n\n};\n\nconst _Editormodusvarianten = {\n\n Neu: 'Neu',\n Bearbeiten: 'Bearbeiten',\n Liste: 'Liste',\n Anzeigen: 'Anzaeigen',\n Blocked: 'Blocked',\n Auswahl: 'Auswahl',\n Filter: 'Filter'\n};\n\n\n\nconst _Eventvarianten = {\n\n Kontaktauswahl: 'Kontaktauswahl',\n Mitarbeiterauswahl: 'Mitarbeiterauswahl',\n Kontakteliste: 'Kontakteliste',\n Kontaktaenderung: 'Kontaktaenderung',\n Zeitdatenfavoriten: 'Zeitdatenfavoriten',\n ClearThumbnailmessage: 'ClearThumbnailmessage',\n BaustellenbereichWahl: 'BaustellenbereichWahl',\n BackButtonClicked: 'BackButtonClicked',\n TeamChanged: 'TeamChanged',\n AuthenticationReady: 'AuthenticationReady',\n BesprechungsteilnehmerExtern: 'BesprechungsteilnehmerExtern',\n BesprechungsteilnehmerIntern: 'BesprechungsteilnehmerIntern',\n ZustaendigkeitExtern: 'ZustaendigkeitExtern',\n ZustaendigkeitIntern: 'ZustaendigkeitIntern',\n Emailempfaenger: 'Emailempfaenger',\n Emailkopieempfaenger: 'Emailkopieempfaenger',\n};\n\n const _ZeiterfassungBerichttypen = {\n\n Jahresbericht: 'Jahresbericht',\n Monatsbericht: 'Monatsbericht',\n Wochenbericht: 'Wochenbericht',\n Tagesbericht: 'Tagesbericht',\n };\n\n\nconst _Fehlermeldungtypen = {\n\n Script: 'Script',\n Sql: 'Sql',\n Transaction: 'Transaction',\n Firebase: 'Firebase'\n};\n\n\nconst _Syncstatusvarianten = {\n\n Init: 'Init',\n Running: 'Running',\n Stopped: 'Stopped',\n Finished: 'Finished',\n Deviceeerror: 'Deviceerror',\n Interneterror: 'Interneterror',\n Datenerrror: 'Datenerrror',\n Synchron: 'Synchron',\n Asynchron: 'Asynchron',\n Uptodate: 'Uptodate',\n Servererror: 'Servererror',\n Databaseerror: 'Databaseerror',\n Unvollstaendig: 'Unvollstaendig'\n};\n\nconst _Leistungsverzeichniskeys = {\n\n BoQBody: 'BoQBody', // LV-Hauptteil\n Award: 'Award', // Vergabe,\n AwardInfo: 'AwardInfo', // Informationen zur Vergabe,\n Remark: 'Remark', // Hinweistext\n BoQCtgy: 'BoQCtgy',\n BoQInfo: 'BoQInfo',\n LblTx: 'LblTx', // Bezeichnung des LV-Bereichs\n Itemlist: 'Itemlist',\n Item: 'Item',\n Description: 'Description', // Textorganisation\n CtlgAssign: 'CtlgAssign' // Katalogzuordnung\n};\n\nconst _Screensizekategorien = {\n\n XS_0: 'XS',\n SM_1: 'SM',\n MD_2: 'MD',\n LG_3: 'LG',\n XL_4: 'XL',\n};\n\nconst _Leistungsverzeichnisitemtypen = {\n\n Titel: 'Titel',\n Position: 'Position',\n Hinweistext: 'Hinweistext',\n};\n\nconst _Dokumentersteller = {\n\n Unbekannt: 'Unbekannt',\n Intern: 'Intern',\n Architekt: 'Architekt',\n Hersteller: 'Hersteller',\n Bauherr: 'Bauherr',\n Planungsbuero: 'Planungsbüro'\n};\n\nconst _Projektstatusvarianten = {\n\n Bearbeitung: 'Bearbeitung',\n Abgeschlossen: 'Abgeschlossen',\n Ruht: 'Ruht'\n};\n\nconst _Faelligkeitsstatus = {\n\n Faellig: 'Faellig',\n Ueberfaellig: 'Uberfaellig',\n Nicht_faellig: 'nicht faellig'\n};\n\nconst _Zeitfilter = {\n\n Alle: 'Alle',\n Heute: 'Heute',\n Morgen: 'Morgen',\n Zweitage: '2 Tage',\n Woche: 'Woche',\n Naechstewoche: 'Nächste Woche',\n Zweiwochen: '2 Wochen',\n Vierwochen: '4 Wochen',\n Monat: 'Monat',\n Gestern: 'Gestern',\n Vorgestern: 'Vorgestern',\n ZweitageVorher: 'Letzten 2 Tage',\n WocheVorher: 'Letzte Woche',\n ZweiwochenVorher: 'Letzten 2 Wochen',\n MonatVorher: 'Letzter Monat',\n\n};\n\nconst _Dokumententyp = {\n\n Unbekannt: 'Unbekannt',\n Grundriss: 'Grundriss',\n Verteilerbereiche: 'Verteilerbereiche',\n Elektroinstallation: 'Elektroinstallation',\n Erdung_Blitzschutz: 'Erdung- und Blitzschutzanlage',\n Schema: 'Schema',\n Leerrohrplanung: 'Leerrohrplanung',\n HLS: 'HLS',\n S_und_D: 'Schlitz- und Durchbruchsplanung'\n};\n\nconst _Faelligkeitsspannen = {\n\n Diese_Woche: 'Diese Woche',\n Naechste_Woche: 'Nächste Woche',\n Fuenf_Arbeitstage: '5 Arbeitstage',\n Zehn_Arbeitstage: '10 Arbeitstage',\n Fuenfzehn_Arbeitstage: '15 Arbeitstage'\n};\n\n\n\nconst _Anredevariante = {\n\n 'Herr': 'Herr',\n 'Frau': 'Frau',\n 'Unbekannt': 'Unbekannt'\n};\n\nconst _Zeitansatzeinheitvarianten = {\n\n 'Minuten': 'Minuten',\n 'Stunden': 'Stunden',\n 'Tage': 'Tage'\n};\n\nconst _Projektpunktprioritaetstypen: any = {\n\n Niedrig: {\n\n Statusnummer: 0,\n Name: 'Niedrig',\n Displayname: 'Niedrig',\n Color: '#008000'\n },\n\n Mittel: {\n\n Statusnummer: 1,\n Name: 'Mittel',\n Displayname: 'Mittel',\n Color: 'orange'\n },\n\n Hoch: {\n\n Statusnummer: 2,\n Name: 'Hoch',\n Displayname: 'Hoch',\n Color: 'red'\n },\n\n};\n\nconst _Projektpunktstatustypen: any = {\n\n Offen: {\n\n Statusnummer: 0,\n Name: 'Offen',\n Displayname: 'Offen',\n Color: '#008080',\n LOPColor: 'red'\n },\n\n Protokollpunkt: {\n\n Statusnummer: 0,\n Name: 'Protokollpunkt',\n Displayname: 'Info',\n Color: '#34495E',\n LOPColor: '#307ac1'\n },\n\n Geschlossen: {\n\n Statusnummer: 1,\n Name: 'Geschlossen',\n Displayname: 'Geschlossen',\n Color: '#008000',\n LOPColor: '#008000'\n },\n\n Bearbeitung: {\n\n Statusnummer: 2,\n Name: 'Bearbeitung',\n Displayname: 'Bearbeitung',\n Color: '#616A6B',\n LOPColor: '#616A6B'\n },\n\n Ruecklauf: {\n\n Statusnummer: 3,\n Name: 'Ruecklauf',\n Displayname: 'Rücklauf',\n Color: '#0020C2',\n LOPColor: '#0020C2'\n },\n\n Festlegung: {\n\n Statusnummer: 4,\n Name: 'Festlegung',\n Displayname: 'Festlegung',\n Color: '#FF9333'\n },\n};\n\nconst _Startterminfiltervarianten = {\n\n Nur_diese_Woche: 'Nur diese Woche',\n Nur_diesen_Monat: 'Nur diesen Monat',\n Seit_dem_Zeitpunkt: 'Seit dem Zeitpunkt',\n Bis_zum_Zeitpunkt: 'Bis zum Zeitpunkt',\n Zeitspanne: 'Zeitspanne',\n};\n\nconst _Faelligkeitsterminfiltervarianten = {\n\n Nur_diese_Woche: 'Nur diese Woche',\n Nur_diesen_Monat: 'Nur diesen Monat',\n Seit_dem_Zeitpunkt: 'Seit dem Zeitpunkt',\n Bis_zum_Zeitpunkt: 'Bis zum Zeitpunkt',\n Zeitspanne: 'Zeitspanne',\n};\n\nconst _AufgabenSortiermodusvarianten = {\n\n TermineAbsteigend: 'TermineAbsteigend',\n TermineAufsteigend: 'TermineAufsteigend',\n};\n\n@Injectable({\n\n providedIn: 'root'\n})\nexport class ConstProvider {\n\n /*\n public readonly Editormodusvarianten = _Editormodusvarianten;\n public readonly Eventvarianten = _Eventvarianten;\n public readonly Zeiteintraegetypen = _Zeiteintraegetypen;\n public readonly Tageseditormodus = _Tageseditormodus;\n public readonly Startseitensetupvarianten = _Startseitensetupvarianten;\n public readonly Syncstatusvarianten = _Syncstatusvarianten;\n public readonly Devicenamen = _Devicenamen;\n public readonly Virtualitemvarianten = _Virtualitemvarianten;\n public readonly Orientationvarianten = _Orientationvarianten;\n public readonly Screensizekategorien = _Screensizekategorien;\n public readonly Tagtypen = _Tagtypen;\n public readonly Platformliste = _Platformliste;\n public Mitarbeiterpossitionen = _Mitarbeiterpossitionen;\n public readonly Adressbuchtypen = _Adressbuchtypen;\n public readonly Mitarbeitertypen = _Mitarbeitertypen;\n\n\n\n public readonly DATABASE = 'Database';\n public readonly Nachrichtentypen = _Nachrichtentypen;\n public readonly Nachrichtendirections = _Nachrichtendirections;\n public readonly Playermodus = _Playermodus;\n\n public readonly MitarbeiterdatenKeys = _MitarbeiterdatenKeys;\n public readonly Loginstatusvarianten = _Loginstatusvarianten;\n public readonly ZeiterfassungBerichttypen = _ZeiterfassungBerichttypen;\n public readonly Kartenadressentyp = _Kartenadressentyp;\n public readonly Treeitemtypvarianten = _Treeitemtypvarianten;\n public readonly Planmodusvarianten = _Planmodusvarianten;\n public readonly Leistungsverzeichniskeys = _Leistungsverzeichniskeys;\n public readonly Leistungsverzeichnisitemtypen = _Leistungsverzeichnisitemtypen;\n public readonly Dokumentersteller = _Dokumentersteller;\n public readonly Dokumententyp = _Dokumententyp;\n public readonly Dokumentelementtypen = _Dokumentelementtypen;\n public readonly Planlistentyp = _Planlistentyp;\n\n public readonly Projektpunktdetailtyp = _Projektpunktdetailtyp;\n public readonly Faelligkeitsspannen = _Faelligkeitsspannen;\n\n\n */\n\n\n public readonly NONE = 'none';\n public readonly Pages = _Pages;\n public readonly Fehlermeldungtypen = _Fehlermeldungtypen;\n public readonly Dialogmessages = _Dialogmessages;\n public readonly Projektpunktstatustypen = _Projektpunktstatustypen;\n public readonly Zeitfilter = _Zeitfilter;\n public readonly Projektstatusvarianten = _Projektstatusvarianten;\n public readonly Faelligkeitsstatus = _Faelligkeitsstatus;\n public readonly Beteiligtentypen = _Beteiligtentypen;\n public readonly Fachfirmentypen = _Fachfirmentypen;\n public readonly Beteiligteneintragtypen = _Beteiligteneintragtypen;\n public readonly Anredevariante = _Anredevariante;\n public readonly Zeitansatzeinheitvarianten = _Zeitansatzeinheitvarianten;\n\n public readonly Faelligkeitsterminfiltervarianten = _Faelligkeitsterminfiltervarianten;\n public readonly AufgabenSortiermodusvarianten = _AufgabenSortiermodusvarianten;\n public readonly Projektpunktprioritaetstypen = _Projektpunktprioritaetstypen;\n public readonly Leistungsphasenvarianten = _Leistungsphasenvarianten;\n public readonly Anlagengruppen = _Anlagengruppen;\n\n constructor() {\n\n }\n}\n"," import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\n import * as lodash from \"lodash-es\";\nimport {ConstProvider} from \"../const/const\";\n import {Appeinstellungenstruktur} from \"../../dataclasses/appeinstellungenstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseAppeinstellungenService {\n\n // public Appeinstellungen: Appeinstellungenstruktur;\n private ServerUrl: string;\n\n constructor(private Debug: DebugProvider,\n private Pool: DatabasePoolService,\n private Const: ConstProvider,\n private http: HttpClient) {\n try {\n\n // this.Appeinstellungen = null;\n this.ServerUrl = this.Pool.CockpitdockerURL + '/appeinstellungen';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public ReadAppeinstellungen(): Promise {\n\n try {\n\n let Liste: Appeinstellungenstruktur[] = [];\n let Appeinstellungen: Appeinstellungenstruktur;\n\n this.Debug.ShowMessage('ReadAppeinstellungen', 'Database Appeinstellungen', 'ReadAppeinstellungen', this.Debug.Typen.Service);\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let AppeinstellungenObservable = this.http.get(this.ServerUrl, { headers: headers });\n\n AppeinstellungenObservable.subscribe({\n\n next: (data) => {\n\n Liste = data;\n },\n complete: () => {\n\n if(Liste.length > 0) {\n\n Appeinstellungen = Liste[0];\n }\n else {\n\n Appeinstellungen = this.GetEmptyAppeinstellungen();\n }\n\n if(lodash.isUndefined(Appeinstellungen.Wartungsmodus)) Appeinstellungen.Wartungsmodus = false;\n\n this.Pool.Appeinstellungen = Appeinstellungen;\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyAppeinstellungen(): Appeinstellungenstruktur {\n\n try {\n\n return {\n\n _id: null,\n ShowHomeScreenInfos: true,\n DebugNoExternalEmail: true,\n Wartungsmodus: false,\n AdminStartseite: this.Const.Pages.HomePage\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'GetEmptyAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n\n public async SaveAppeinstellungen(): Promise {\n\n try {\n\n if(this.Pool.Appeinstellungen._id === null) {\n\n await this.AddAppeinstellungen();\n }\n else {\n\n await this.UpdateAppeinstellungen();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'SaveAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n\n public AddAppeinstellungen(): Promise {\n\n try {\n\n let Observer: Observable;\n let Appeinstellungen: Appeinstellungenstruktur;\n\n return new Promise((resove, reject) => {\n\n // POST für neuen Eintrag\n\n Observer = this.http.post(this.ServerUrl, this.Pool.Appeinstellungen);\n\n Observer.subscribe({\n\n next: (result) => {\n\n Appeinstellungen = result.data;\n\n },\n complete: () => {\n\n this.Pool.Appeinstellungen = Appeinstellungen;\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'AddAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n\n\n public UpdateAppeinstellungen(): Promise {\n\n try {\n\n let Observer: Observable;\n let Appeinstellungen: Appeinstellungenstruktur;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.Pool.Appeinstellungen);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n // Appeinstellungen = ne;\n\n },\n complete: () => {\n\n // this.Pool.Appeinstellungen = Appeinstellungen;\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'UpdateAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n}\n","import {EventEmitter, Inject, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {MSAL_GUARD_CONFIG, MsalGuardConfiguration, MsalService} from \"@azure/msal-angular\";\nimport {\n AccountEntity, AccountInfo, AuthenticationResult, InteractionType, PopupRequest, RedirectRequest, SilentRequest\n} from \"@azure/msal-browser\";\nimport {ConstProvider} from \"../const/const\";\nimport {Route, Router} from \"@angular/router\";\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\nimport {catchError, map, Observable, of} from \"rxjs\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport Cookies from \"js-cookie\";\nimport * as lodash from \"lodash-es\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseAuthenticationService {\n\n public LoginSuccessEvent: EventEmitter = new EventEmitter();\n public ActiveUser: AccountInfo;\n public SecurityEnabled: boolean;\n private DevelopmentUser: AccountInfo;\n public ShowLogin: boolean;\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\n private Debug: DebugProvider,\n private authService: MsalService,\n private Const: ConstProvider,\n private router: Router,\n private MSALService: MsalService\n ) {\n try {\n\n this.SecurityEnabled = true;\n this.ActiveUser = null;\n this.ShowLogin = false;\n\n this.DevelopmentUser = {\n\n environment: \"\",\n homeAccountId: \"\",\n localAccountId: \"\",\n tenantId: \"\",\n username: \"peter.hornburger@b-a-e.eu\",\n name: \"Peter Hornburger\"\n };\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Authentication', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public UnsetActiveUser() {\n\n try {\n\n this.Debug.ShowMessage('Unset Active User', 'Database Authentication', 'UnsetActiveUser', this.Debug.Typen.Service);\n\n this.ActiveUser = null;\n this.ShowLogin = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'UnsetActiveUser', this.Debug.Typen.Service);\n }\n }\n\n public async SetActiveUser(): Promise {\n\n try {\n\n let Account: any;\n let Accounts: any[];\n\n this.Debug.ShowMessage('Set Active User started', 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service);\n\n return new Promise((resolve) => {\n\n if(this.SecurityEnabled) {\n\n Account = this.MSALService.instance.getActiveAccount();\n Accounts = this.MSALService.instance.getAllAccounts();\n\n if(!lodash.isUndefined(Accounts) && Accounts !== null && Accounts.length > 0) {\n\n for(Account of Accounts) {\n\n console.log(Account.username);\n }\n }\n\n console.log(Account !== null ? Account.username : 'Account ist null');\n\n if(Account === null) {\n\n this.Debug.ShowMessage('Active Account ist null', 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service);\n\n if(!lodash.isUndefined(Accounts) && Accounts !== null && Accounts.length > 0) {\n\n this.Debug.ShowMessage('Accountliste vorhanden', 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service);\n\n Account = Accounts[0];\n }\n else {\n\n this.Debug.ShowMessage('keine Accountlist vorhanden', 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service,);\n }\n }\n\n if(Account !== null) {\n\n this.ActiveUser = Account;\n\n resolve(true);\n }\n else\n {\n this.UnsetActiveUser();\n\n resolve(true);\n }\n }\n else {\n\n this.ActiveUser = this.DevelopmentUser;\n\n resolve(true);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service);\n }\n }\n\n public SetShowLoginStatus() {\n\n try {\n\n let message: string = 'nothing';\n let acountliste: any[] = this.MSALService.instance.getAllAccounts();\n\n\n this.Debug.ShowMessage(message, 'SetShowLoginStatus gestartet', 'SetShowLogin', this.Debug.Typen.Service );\n\n if(acountliste.length === 0) {\n\n this.ShowLogin = true;\n\n console.log('Accountliste ist leer. LOGIN anzeigen.');\n }\n else {\n\n this.ShowLogin = false;\n }\n\n if(this.SecurityEnabled === false) this.ShowLogin = false;\n\n message = this.ShowLogin === true ? 'Anmeldung anzeigen' : 'Hauptmenu anzeigen';\n\n this.Debug.ShowMessage(message, 'Database Authentication', 'SetShowLogin', this.Debug.Typen.Service );\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'SetShowLoginStatus', this.Debug.Typen.Service );\n }\n }\n\n public async RequestToken(scope: string): Promise {\n\n try {\n\n const accessTokenRequest: SilentRequest = {\n scopes: [scope],\n account: this.ActiveUser,\n };\n\n // You must call and await the initialize function before attempting to call any other MSAL API. For more visit: aka.ms/msaljs/browser-errors\n\n return new Promise((resolve, reject) => {\n\n this.authService.acquireTokenSilent(accessTokenRequest).pipe(catchError(err => {\n\n if(err) {\n\n debugger;\n\n switch (err.errorCode) {\n\n case 'login_required':\n\n this.Login();\n\n break;\n\n case 'monitor_window_timeout':\n\n this.Login();\n\n break;\n }\n }\n\n return of(err != null);\n\n })).subscribe((response: AuthenticationResult) => {\n\n if(response.accessToken) {\n\n resolve(response.accessToken);\n }\n else resolve(null);\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'RequestToken', this.Debug.Typen.Service);\n }\n }\n\n Login() {\n\n try {\n\n if(this.SecurityEnabled) {\n\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\n if (this.msalGuardConfig.authRequest) {\n this.authService.loginPopup({ ...this.msalGuardConfig.authRequest } as PopupRequest)\n .subscribe((response: AuthenticationResult) => {\n\n this.authService.instance.setActiveAccount(response.account);\n });\n } else {\n this.authService.loginPopup()\n .subscribe((response: AuthenticationResult) => {\n\n // this.SaveAccessToken(response.accessToken);\n this.authService.instance.setActiveAccount(response.account);\n });\n }\n }\n else {\n if (this.msalGuardConfig.authRequest) {\n\n this.authService.loginRedirect({ ...this.msalGuardConfig.authRequest } as RedirectRequest);\n }\n else {\n\n this.authService.loginRedirect();\n }\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'Login', this.Debug.Typen.Service);\n }\n }\n\n public Logout() {\n\n try {\n\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\n this.authService.logoutPopup({\n postLogoutRedirectUri: \"/\",\n mainWindowRedirectUri: \"/\"\n });\n } else {\n this.authService.logoutRedirect({\n postLogoutRedirectUri: \"/\",\n });\n\n }\n\n this.ActiveUser = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Authentication', 'Logout', this.Debug.Typen.Service);\n }\n }\n\n canLoad(route: Route): boolean {\n\n try {\n\n if (this.CheckSecurity() === true) {\n\n this.Debug.ShowMessage('Database Authentication -> can load: ' + route.path, 'Security', 'canLoad', this.Debug.Typen.Service);\n\n return true;\n }\n else {\n\n this.Debug.ShowMessage('Database Authentication -> can not load: ' + route.path, 'Security', 'canLoad', this.Debug.Typen.Service);\n\n this.router.navigate([this.Const.Pages.HomePage]);\n\n return false;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Authentication', 'canLoad', this.Debug.Typen.Service);\n }\n }\n\n public CheckSecurity(): boolean {\n\n try {\n\n return true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Authentication', 'CheckSecurity', this.Debug.Typen.Service);\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {HttpClient, HttpErrorResponse, HttpParams} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport moment, {Moment} from \"moment\";\nimport {ConstProvider} from \"../const/const\";\nimport {Changelogstruktur} from \"../../dataclasses/changelogstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseChangelogService {\n\n private ServerUrl: string;\n public CurrentChangelog: Changelogstruktur;\n\n constructor(private Debug: DebugProvider,\n private Pool: DatabasePoolService,\n private Const: ConstProvider,\n private http: HttpClient) {\n try {\n\n this.ServerUrl = this.Pool.CockpitdockerURL + '/changelog';\n this.CurrentChangelog = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n\n GetChangelog(id):string {\n\n try {\n\n let Changelog: Changelogstruktur;\n\n Changelog = lodash.find(this.Pool.Changlogliste, {_id: id});\n\n if(!lodash.isUndefined(Changelog)) {\n\n return Changelog.Beschreibung;\n }\n else return 'unbekannt';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'GetChangelog', this.Debug.Typen.Component);\n }\n }\n\n public GetEmptyChangelog(): Changelogstruktur {\n\n try {\n\n let Heute: Moment = moment();\n\n return {\n\n _id: null,\n Beschreibung: '',\n Version: '',\n Zeitstempel: Heute.valueOf(),\n Deleted: false\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'GetEmptyChangelog', this.Debug.Typen.Service);\n }\n }\n\n public AddChangelog(): Promise {\n\n try {\n\n let Observer: Observable;\n let Changelog: Changelogstruktur;\n\n debugger;\n\n return new Promise((resove, reject) => {\n\n // POST für neuen Eintrag\n\n Observer = this.http.post(this.ServerUrl, this.CurrentChangelog);\n\n Observer.subscribe({\n\n next: (result) => {\n\n debugger;\n\n Changelog = result.Changelog;\n\n },\n complete: () => {\n\n this.UpdateChangelogliste(Changelog);\n this.Pool.ChangeloglisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'AddChangelog', this.Debug.Typen.Service);\n }\n }\n\n private UpdateChangelogliste(changelog: Changelogstruktur) {\n\n try {\n\n let Index: number;\n\n Index = lodash.findIndex(this.Pool.Changlogliste, {_id : this.CurrentChangelog._id});\n\n if(Index !== -1) {\n\n this.Pool.Changlogliste[Index] = changelog; // aktualisieren\n\n this.Debug.ShowMessage('Changelogliste updated: ' + changelog.Version, 'Database Changelog', 'UpdateChangelogliste', this.Debug.Typen.Service);\n\n }\n else {\n\n this.Debug.ShowMessage('Chnagelog nicht gefunden -> neues Changlog hinzufügen', 'Database Chnagelog', 'UpdateChangelogliste', this.Debug.Typen.Service);\n\n this.Pool.Changlogliste.unshift(changelog); // neuen\n }\n\n // Gelöscht markiert Einträge entfernen\n\n this.Pool.Changlogliste = lodash.filter(this.Pool.Changlogliste, (currentchangelog: Changelogstruktur) => {\n\n return currentchangelog.Deleted === false;\n });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'UpdateChangelogliste', this.Debug.Typen.Service);\n }\n }\n\n\n public UpdateChangelog(): Promise {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams();\n\n Params.set('id', this.CurrentChangelog._id);\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.CurrentChangelog);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n debugger;\n\n },\n complete: () => {\n\n debugger;\n\n this.UpdateChangelogliste(this.CurrentChangelog);\n\n this.Pool.ChangeloglisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'UpdateChangelog', this.Debug.Typen.Service);\n }\n }\n public DeleteChangelog(): Promise {\n\n try {\n\n let Observer: Observable;\n\n this.CurrentChangelog.Deleted = true;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.CurrentChangelog);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n debugger;\n\n },\n complete: () => {\n\n debugger;\n\n this.UpdateChangelogliste(this.CurrentChangelog);\n\n this.Pool.ChangeloglisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'DeleteChangelog', this.Debug.Typen.Service);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport moment, {Moment} from \"moment\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {Observable} from \"rxjs\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport {ConstProvider} from \"../const/const\";\nimport {Graphuserstruktur} from \"../../dataclasses/graphuserstruktur\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {Mitarbeiterpositionstruktur} from \"../../dataclasses/mitarbeiterpositionstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseMitarbeiterService {\n\n public CurrentMitarbeiter: Mitarbeiterstruktur;\n public CurrentPosition: Mitarbeiterpositionstruktur;\n private ServerMitarbeiterUrl: string;\n private ServerMitarbeiterpositionUrl: string;\n\n constructor(private Debug: DebugProvider,\n private http: HttpClient,\n private Const: ConstProvider,\n private Pool: DatabasePoolService) {\n try {\n\n this.ServerMitarbeiterUrl = this.Pool.CockpitdockerURL + '/mitarbeiter';\n this.ServerMitarbeiterpositionUrl = this.Pool.CockpitdockerURL + '/mitarbeiterpositionen';\n\n this.CurrentMitarbeiter = null;\n this.CurrentPosition = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public ConvertGraphuserToMitarbeiter(graphuser: Graphuserstruktur) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let Jobtitle: string;\n let Mobil: string;\n\n Mitarbeiter = this.GetEmptyMitarbeiter();\n\n if(graphuser.surname === null) graphuser.surname = '';\n if(graphuser.givenName === null) graphuser.givenName = '';\n if(graphuser.jobTitle === null) graphuser.jobTitle = '';\n if(graphuser.officeLocation === null) graphuser.officeLocation = '';\n if(graphuser.mobilePhone === null) graphuser.mobilePhone = '';\n\n\n Jobtitle = lodash.isUndefined(graphuser.jobTitle) ? \"\" : graphuser.jobTitle;\n Mobil = lodash.isUndefined(graphuser.mobilePhone) ? \"\" : graphuser.mobilePhone;\n\n Mitarbeiter.UserID = graphuser.id;\n Mitarbeiter.Email = graphuser.mail;\n Mitarbeiter.Vorname = lodash.isUndefined(graphuser.givenName) ? \"\" : graphuser.givenName;\n Mitarbeiter.Name = lodash.isUndefined(graphuser.surname) ? \"\" : graphuser.surname;\n Mitarbeiter.Mobil = Mobil === null ? \"\" : Mobil;\n Mitarbeiter.Jobtitel = Jobtitle === null ? \"\" : Jobtitle;\n\n if(lodash.isUndefined(graphuser.businessPhones) === false) {\n\n if(graphuser.businessPhones.length > 0) Mitarbeiter.Telefon = graphuser.businessPhones[0];\n }\n\n if (lodash.isUndefined(graphuser.officeLocation) === false && graphuser.officeLocation !== null) {\n\n Mitarbeiter.Location = graphuser.officeLocation !== null ? graphuser.officeLocation : \"\";\n\n for(let Standort of this.Pool.Standorteliste) {\n\n if(graphuser.officeLocation.indexOf(Standort.Ort) !== -1) {\n\n Mitarbeiter.StandortID = Standort._id;\n }\n }\n }\n\n if(Mitarbeiter.StandortID === '') {\n\n let Standort = lodash.find(this.Pool.Standorteliste, {Ort: 'Bamberg'});\n\n if(!lodash.isUndefined(Standort)) {\n\n Mitarbeiter.StandortID = Standort._id;\n }\n }\n\n let A = graphuser.surname !== null ? graphuser.surname.substring(0, 2).toUpperCase() : '';\n let B = graphuser.givenName !== null ? graphuser.givenName.substring(0, 1).toUpperCase() : '';\n\n Mitarbeiter.Kuerzel = A + '' + B;\n\n\n return Mitarbeiter;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'ConvertGraphuserToMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public GetMeinewocheStunden(tag: string): string {\n\n try {\n\n let Stunden: number = 0;\n let Minuten: number = 0;\n\n for(let Eintrag of this.Pool.Mitarbeiterdaten.Meinewocheliste) {\n\n switch (tag) {\n\n case 'Montag':\n\n if(Eintrag.Montagseinsatz) {\n\n Stunden += Eintrag.Montagsstunden;\n Minuten += Eintrag.Montagsminuten;\n }\n\n break;\n\n case 'Dienstag':\n\n if(Eintrag.Dienstagseinsatz) {\n\n Stunden += Eintrag.Dienstagsstunden;\n Minuten += Eintrag.Dienstagsminuten;\n }\n\n break;\n\n\n case 'Mittwoch':\n\n if(Eintrag.Mittwochseinsatz) {\n\n Stunden += Eintrag.Mittwochsstunden;\n Minuten += Eintrag.Mittwochsminuten;\n }\n\n break;\n\n case 'Donnerstag':\n\n if(Eintrag.Donnerstagseinsatz) {\n\n Stunden += Eintrag.Donnerstagsstunden;\n Minuten += Eintrag.Donnerstagsminuten;\n }\n\n break;\n\n case 'Freitag':\n\n if(Eintrag.Freitagseinsatz) {\n\n Stunden += Eintrag.Freitagsstunden;\n Minuten += Eintrag.Freitagsminuten;\n }\n\n break;\n }\n }\n\n Minuten = Minuten + 60 * Stunden;\n\n if(Minuten === 0) return '';\n else return '[' + (Minuten / 60).toFixed(2) + ' Std]';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'GetMeinewocheStunden', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyMitarbeiterposition() : Mitarbeiterpositionstruktur {\n\n try {\n\n return {\n\n _id: null,\n Bezeichnung: ''\n };\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Mitarbeiter', 'GetEmptyMitarbeiterposition', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyMitarbeiter(): Mitarbeiterstruktur {\n\n try {\n\n let Zeit: Moment = moment();\n\n return {\n\n _id: null,\n UserID: null,\n PositionID: null,\n Anrede: this.Const.NONE,\n Urlaub: 30,\n Resturlaub: 0,\n Location: \"\",\n Jobtitel: \"\",\n Vorname: \"\",\n Name: \"\",\n Kuerzel: \"\",\n Fachbereich: \"Unbekannt\",\n StandortID: \"\",\n Email: \"\",\n Mobil: \"\",\n SettingsID: null,\n Telefon: \"\",\n Zeitstring: Zeit.format('HH:mm DD.MM.YYYY'),\n Zeitstempel: Zeit.valueOf(),\n Deleted: false,\n Planeradministrator: false,\n Homeofficefreigaben: false,\n Homeofficefreigabestandorte: [],\n Urlaubsfreigabeorte: [],\n Urlaubsfreigaben: false,\n Favoritenliste: [],\n Meintagliste: [],\n Meinewocheliste: [],\n Archiviert: false,\n Urlaubsliste: [],\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'GetEmptyMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n GetMitarbeitername(id: string): string {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, {_id: id});\n\n if(lodash.isUndefined(Mitarbeiter)) return 'Unbekannt';\n else {\n\n return Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'GetMitarbeitername', this.Debug.Typen.Service);\n }\n }\n\n public InitService() {\n\n try {\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter.StandortID === this.Pool.Mitarbeiterdaten.StandortID) Mitarbeiter.ShowInGesamtuebersicht = true;\n else Mitarbeiter.ShowInGesamtuebersicht = false;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'InitService', this.Debug.Typen.Service);\n }\n }\n\n public FinishService() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'FinishService', this.Debug.Typen.Service);\n }\n }\n\n public UpdateMitarbeiter(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Observer: Observable;\n let Merker: Mitarbeiterstruktur;\n // let Params = new HttpParams();\n\n delete mitarbeiter.__v;\n\n // Params.set('id', mitarbeiter._id);\n\n for(let Urlaubsliste of mitarbeiter.Urlaubsliste) {\n\n Urlaubsliste.Urlaubzeitspannen.sort((a: Urlauzeitspannenstruktur, b:Urlauzeitspannenstruktur) => {\n\n if (a.Startstempel < b.Startstempel) return -1;\n if (a.Startstempel > b.Startstempel) return 1;\n return 0;\n });\n }\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerMitarbeiterUrl, mitarbeiter);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n Merker = ne.Mitarbeiter;\n },\n complete: () => {\n\n if(Merker !== null) {\n\n\n this.CurrentMitarbeiter = Merker;\n // this.Pool.Mitarbeiterdaten = Merker;\n // this.Pool.MitarbeiterdatenChanged.emit();\n\n this.UpdateMitarbeiterliste(this.CurrentMitarbeiter);\n this.Pool.MitarbeiterlisteChanged.emit();\n }\n else {\n\n reject(new Error('Mitarbeiter auf Server nicht gefunden.'));\n }\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiter', this.Debug.Typen.Page);\n }\n }\n\n\n public GetPositionsbezeichnung(id: string): string {\n\n try {\n\n let Mitarbeiterposition: Mitarbeiterpositionstruktur;\n\n if(id !== null) {\n\n Mitarbeiterposition = lodash.find(this.Pool.Mitarbeiterpositionenliste, {_id: id});\n\n if(!lodash.isUndefined(Mitarbeiterposition)) {\n\n return Mitarbeiterposition.Bezeichnung;\n }\n\n }\n else return 'Unbekannt';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Mitarbeiter', 'GetPosition', this.Debug.Typen.Service);\n }\n }\n\n public UpdateMitarbeiterposition(mitarbeiterposition: Mitarbeiterpositionstruktur) {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams();\n let Merker: Mitarbeiterpositionstruktur;\n\n delete mitarbeiterposition.__v;\n\n Params.set('id', mitarbeiterposition._id);\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerMitarbeiterpositionUrl, mitarbeiterposition);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n Merker = ne.Mitarbeiterposition;\n },\n complete: () => {\n\n if(Merker !== null) {\n\n this.CurrentPosition = Merker;\n\n this.UpdateMitarbeiterpositionliste(this.CurrentPosition);\n this.Pool.MitarbeiterpositionenlisteChanged.emit();\n }\n else {\n\n reject(new Error('Mitarbeiterposition auf Server nicht gefunden.'));\n }\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiterposition', this.Debug.Typen.Page);\n }\n }\n\n public UpdateMitarbeiterUrlaub(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams();\n let Merker: Mitarbeiterstruktur;\n\n delete mitarbeiter.__v;\n\n Params.set('id', mitarbeiter._id);\n\n for(let Urlaubsliste of mitarbeiter.Urlaubsliste) {\n\n Urlaubsliste.Urlaubzeitspannen.sort((a: Urlauzeitspannenstruktur, b:Urlauzeitspannenstruktur) => {\n\n if (a.Startstempel < b.Startstempel) return -1;\n if (a.Startstempel > b.Startstempel) return 1;\n return 0;\n });\n }\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerMitarbeiterUrl, mitarbeiter);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n Merker = ne.Mitarbeiter;\n },\n complete: () => {\n\n if(Merker !== null) {\n\n this.UpdateMitarbeiterliste(Merker);\n this.Pool.MitarbeiterlisteChanged.emit();\n\n resove(true);\n }\n else {\n\n reject(new Error('Mitarbeiter auf Server nicht gefunden.'));\n }\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiterUrlaub', this.Debug.Typen.Page);\n }\n }\n\n\n private UpdateMitarbeiterliste(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Index: number;\n\n Index = lodash.findIndex(this.Pool.Mitarbeiterliste, {_id : mitarbeiter._id});\n\n if(Index !== -1) {\n\n this.Pool.Mitarbeiterliste[Index] = mitarbeiter; // aktualisieren\n\n this.Debug.ShowMessage('Mitarbeiterliste updated: ' + mitarbeiter.Name, 'Database Mitarbeiter', 'UpdateMitarbeiter', this.Debug.Typen.Service);\n }\n else {\n\n this.Debug.ShowMessage('Mitarbeiter nicht gefunden -> neuen Mitarbeiter hinzufügen', 'Database Mitarbeiter', 'UpdateMitarbeiter', this.Debug.Typen.Service);\n\n this.Pool.Mitarbeiterliste.push(mitarbeiter); // neuen\n }\n\n // Gelöscht markiert Einträge entfernen\n\n this.Pool.Mitarbeiterliste = lodash.filter(this.Pool.Mitarbeiterliste, (currentmitarbeiter: Mitarbeiterstruktur) => {\n\n return currentmitarbeiter.Deleted === false;\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiterliste', this.Debug.Typen.Service);\n }\n }\n\n private UpdateMitarbeiterpositionliste(mitarbeiterposition: Mitarbeiterpositionstruktur) {\n\n try {\n\n let Index: number;\n\n Index = lodash.findIndex(this.Pool.Mitarbeiterpositionenliste, {_id : mitarbeiterposition._id});\n\n if(Index !== -1) {\n\n this.Pool.Mitarbeiterpositionenliste[Index] = mitarbeiterposition; // aktualisieren\n\n this.Debug.ShowMessage('Mitarbeiterliste updated: ' + mitarbeiterposition.Bezeichnung, 'Database Mitarbeiter', 'UpdateMitarbeiterpositionliste', this.Debug.Typen.Service);\n }\n else {\n\n this.Debug.ShowMessage('Mitarbeiterposition nicht gefunden -> neuen Mitarbeiter hinzufügen', 'Database Mitarbeiter', 'UpdateMitarbeiterpositionliste', this.Debug.Typen.Service);\n\n this.Pool.Mitarbeiterpositionenliste.push(mitarbeiterposition); // neuen\n }\n\n this.Pool.Mitarbeiterpositionenliste.sort((a: Mitarbeiterpositionstruktur, b: Mitarbeiterpositionstruktur) => {\n\n if (a.Bezeichnung < b.Bezeichnung) return -1;\n if (a.Bezeichnung > b.Bezeichnung) return 1;\n return 0;\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiterpositionliste', this.Debug.Typen.Service);\n }\n }\n\n public AddMitarbeiter(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Observer: Observable;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n return new Promise((resolve, reject) => {\n\n // POST für neuen Eintrag\n\n\n console.log('POST new Mitarbeiter:');\n console.log(mitarbeiter);\n\n Observer = this.http.post(this.ServerMitarbeiterUrl, mitarbeiter);\n\n Observer.subscribe({\n\n next: (result) => {\n\n Mitarbeiter = result.Mitarbeiter;\n\n },\n complete: () => {\n\n\n this.UpdateMitarbeiterliste(Mitarbeiter);\n this.Pool.MitarbeiterlisteChanged.emit();\n\n resolve(Mitarbeiter);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'AddMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public AddMitarbeiterposition(mitarbeiterposition: Mitarbeiterpositionstruktur) {\n\n try {\n\n let Observer: Observable;\n let Mitarbeiterposition: Mitarbeiterpositionstruktur;\n\n return new Promise((resolve, reject) => {\n\n // POST für neuen Eintrag\n\n console.log('POST new Mitarbeiterposition:');\n console.log(mitarbeiterposition);\n\n Observer = this.http.post(this.ServerMitarbeiterpositionUrl, mitarbeiterposition);\n\n Observer.subscribe({\n\n next: (result) => {\n\n Mitarbeiterposition = result.Mitarbeiterposition;\n\n },\n complete: () => {\n\n\n this.UpdateMitarbeiterpositionliste(Mitarbeiterposition);\n this.Pool.MitarbeiterpositionenlisteChanged.emit();\n\n resolve(Mitarbeiterposition);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'AddMitarbeiterposition', this.Debug.Typen.Service);\n }\n }\n\n public CheckMitarbeiterExists(email: string): boolean {\n\n try {\n\n let Index: number = lodash.findIndex(this.Pool.Mitarbeiterliste, { Email: email});\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'CheckMitarbeiterExists', this.Debug.Typen.Service);\n }\n }\n\n public GetMitarbeiterByEmail(email: string): Mitarbeiterstruktur {\n\n try {\n\n let Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {Email: email });\n\n return lodash.isUndefined(Mitarbeiter) ? null : Mitarbeiter;\n\n }\n catch(error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Mitarbeiter', 'GetMitarbeiterByEmail', this.Debug.Typen.Service);\n }\n }\n\n\n public GetMitarbeiterByID(id: string): Mitarbeiterstruktur {\n\n try {\n\n let Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: id });\n\n return lodash.isUndefined(Mitarbeiter) ? null : Mitarbeiter;\n\n }\n catch(error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Mitarbeiter', 'GetMitarbeiterByEmail', this.Debug.Typen.Service);\n }\n }\n\n public GetMitarbeiterByGraph(email: string): Promise {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams({fromObject: {email: email}});\n let Daten: any;\n\n return new Promise((resove, reject) => {\n\n Observer = this.http.get(this.ServerMitarbeiterUrl, { params: Params });\n\n Observer.subscribe({\n\n next: (result) => {\n\n Daten = result;\n },\n complete: () => {\n\n resove(Daten);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'SaveMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public DeleteMitarbeiter(mitarbeiter: Mitarbeiterstruktur): Promise {\n\n try {\n\n mitarbeiter.Deleted = true;\n\n return this.UpdateMitarbeiter(mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'DeleteMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n GetHomeofficefreigeberliste(_id: string): Mitarbeiterstruktur[] {\n\n try {\n\n let Freigeberliste: Mitarbeiterstruktur[] = lodash.filter(this.Pool.Mitarbeiterliste, (mitarbeiter: Mitarbeiterstruktur) => {\n\n return mitarbeiter.Homeofficefreigaben === true;\n });\n\n Freigeberliste = lodash.filter(Freigeberliste, (mitarbeiter: Mitarbeiterstruktur) => {\n\n return mitarbeiter.Homeofficefreigabestandorte.indexOf(_id) !== -1;\n });\n\n return Freigeberliste;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'GetHomeofficefreigeberliste', this.Debug.Typen.Service);\n }\n }\n\n GetUrlausbsfreigeberliste(_id: string): Mitarbeiterstruktur[] {\n\n try {\n\n let Freigeberliste: Mitarbeiterstruktur[] = lodash.filter(this.Pool.Mitarbeiterliste, (mitarbeiter: Mitarbeiterstruktur) => {\n\n return mitarbeiter.Urlaubsfreigaben === true;\n });\n\n Freigeberliste = lodash.filter(Freigeberliste, (mitarbeiter: Mitarbeiterstruktur) => {\n\n return mitarbeiter.Urlaubsfreigabeorte.indexOf(_id) !== -1;\n });\n\n return Freigeberliste;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'GetUrlausbsfreigeberliste', this.Debug.Typen.Component);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {Observable} from \"rxjs\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport {Mitarbeitersettingsstruktur} from \"../../dataclasses/mitarbeitersettingsstruktur\";\nimport {Aufgabenansichtstruktur} from \"../../dataclasses/aufgabenansichtstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseMitarbeitersettingsService {\n\n private ServerSettingsUrl: string;\n\n constructor(private Debug: DebugProvider,\n private http: HttpClient,\n private Pool: DatabasePoolService) {\n try {\n\n this.ServerSettingsUrl = this.Pool.CockpitdockerURL + '/settings/';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n\n public InitService() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'InitService', this.Debug.Typen.Service);\n }\n }\n\n public FinishService() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'FinishService', this.Debug.Typen.Service);\n }\n }\n\n SaveMitarbeitersettings() {\n\n let Observer: Observable;\n\n return new Promise((resolve, reject) => {\n\n if(this.Pool.Mitarbeitersettings._id === null) {\n\n // POST für neue Settings\n\n Observer = this.http.post(this.ServerSettingsUrl, this.Pool.Mitarbeitersettings);\n\n Observer.subscribe({\n\n next: (result) => {\n\n this.Pool.Mitarbeitersettings = result.Settings;\n\n },\n complete: () => {\n\n this.Pool.MitarbeitersettingslisteChanged.emit();\n\n resolve(this.Pool.Mitarbeitersettings);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n\n }\n else {\n\n // PUT für update Settings\n\n delete this.Pool.Mitarbeitersettings.__v;\n\n Observer = this.http.put(this.ServerSettingsUrl, this.Pool.Mitarbeitersettings);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n this.Pool.Mitarbeitersettings = ne.Settings;\n },\n complete: () => {\n\n this.Pool.MitarbeitersettingslisteChanged.emit();\n\n resolve(this.Pool.Mitarbeitersettings);\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'SaveMitarbeitersettings', this.Debug.Typen.Service);\n }\n\n public UpdateMitarbeitersettings(settings: Mitarbeitersettingsstruktur, ansicht: Aufgabenansichtstruktur) {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams();\n let Index: number;\n\n Params.set('id', settings._id);\n\n if(ansicht !== null) {\n\n if(ansicht.ProjektID !== null) {\n\n Index = lodash.findIndex(settings.Aufgabenansicht, { ProjektID: ansicht.ProjektID });\n\n if(Index === -1) settings.Aufgabenansicht.push(ansicht);\n }\n }\n\n delete settings.__v;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerSettingsUrl, settings);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n this.Pool.Mitarbeitersettings = ne.Settings;\n\n },\n complete: () => {\n\n this.Pool.MitarbeitersettingsChanged.emit();\n\n this.UpdateMitarbeitersettingsliste(settings);\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'UpdateMitarbeiter', this.Debug.Typen.Page);\n }\n }\n\n\n private UpdateMitarbeitersettingsliste(settings: Mitarbeitersettingsstruktur) {\n\n try {\n\n let Index: number;\n\n\n Index = lodash.findIndex(this.Pool.Mitarbeitersettingsliste, {_id : settings._id});\n\n if(Index !== -1) {\n\n this.Pool.Mitarbeitersettingsliste[Index] = settings; // aktualisieren\n\n this.Debug.ShowMessage('Mitarbeitersettingsliste updated: ' + settings.MitarbeiterID, 'Database Mitarbeitersettings', 'UpdateMitarbeitersettingsliste', this.Debug.Typen.Service);\n\n }\n else {\n\n this.Debug.ShowMessage('Mitarbeitersetting nicht gefunden -> neuen Mitarbeiter hinzufügen', 'Database Mitarbeitersettings', 'UpdateMitarbeitersettingsliste', this.Debug.Typen.Service);\n\n this.Pool.Mitarbeitersettingsliste.push(settings); // neuen\n }\n\n // Gelöscht markiert Einträge entfernen\n\n this.Pool.Mitarbeitersettingsliste = lodash.filter(this.Pool.Mitarbeitersettingsliste, (currentsetting: Mitarbeitersettingsstruktur) => {\n\n return currentsetting.Deleted === false;\n });\n\n this.Pool.MitarbeitersettingslisteChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'UpdateMitarbeiterliste', this.Debug.Typen.Service);\n }\n }\n\n public AddMitarbeitersetting(setting: Mitarbeitersettingsstruktur) {\n\n try {\n\n let Observer: Observable;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n return new Promise((resolve, reject) => {\n\n // POST für neuen Eintrag\n\n Observer = this.http.post(this.ServerSettingsUrl, setting);\n\n Observer.subscribe({\n\n next: (result) => {\n\n debugger;\n\n setting = result.Setting;\n\n },\n complete: () => {\n\n\n this.UpdateMitarbeitersettingsliste(setting);\n this.Pool.MitarbeitersettingslisteChanged.emit();\n\n resolve(Mitarbeiter);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'AddMitarbeiter', this.Debug.Typen.Page);\n }\n }\n\n /*\n public DeleteMitarbeitersetting(setting: Mitarbeitersettingsstruktur): Promise {\n\n try {\n\n setting.Deleted = true;\n\n return this.UpdateMitarbeitersettings(setting);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'DeleteMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n */\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {ConstProvider} from \"../const/const\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport { v4 as uuidv4 } from 'uuid';\nimport * as lodash from \"lodash-es\";\nimport {Mitarbeitersettingsstruktur} from \"../../dataclasses/mitarbeitersettingsstruktur\";\nimport {Changelogstruktur} from \"../../dataclasses/changelogstruktur\";\nimport {environment} from \"../../../environments/environment\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {BasicsProvider} from \"../basics/basics\";\nimport {Mitarbeiterpositionstruktur} from \"../../dataclasses/mitarbeiterpositionstruktur\";\nimport {Appeinstellungenstruktur} from \"../../dataclasses/appeinstellungenstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabasePoolService {\n\n public Standorteliste: Standortestruktur[];\n public Mitarbeiterliste: Mitarbeiterstruktur[];\n public Mitarbeiterpositionenliste: Mitarbeiterpositionstruktur[];\n public Mitarbeitersettingsliste: Mitarbeitersettingsstruktur[];\n public CockpitserverURL: string;\n public CockpitdockerURL: string;\n public Mitarbeiterdaten: Mitarbeiterstruktur;\n public Mitarbeiterstandort: Standortestruktur;\n public Mitarbeitersettings: Mitarbeitersettingsstruktur;\n public ShowProgress: boolean;\n public MaxProgressValue: number;\n public CurrentProgressValue: number;\n public ProgressMessage: string;\n public Changlogliste: Changelogstruktur[];\n public MitarbeiterdatenHasError:boolean;\n public Emailcontent: string;\n // public Outlookkatekorien: Outlookkategoriesstruktur[];\n // public Fachbereich: Fachbereiche;\n // public Festlegungskategorienliste: Festlegungskategoriestruktur[][];\n public ProjektdatenLoaded: boolean;\n public Emailcontentvarinaten: any;\n public Appeinstellungen: Appeinstellungenstruktur;\n\n // public Simontabellenliste: Simontabellestruktur[][];\n\n public StandortelisteChanged: EventEmitter = new EventEmitter();\n public MitarbeiterlisteChanged: EventEmitter = new EventEmitter();\n public MitarbeiterpositionenlisteChanged: EventEmitter = new EventEmitter();\n public MitarbeiterdatenChanged: EventEmitter = new EventEmitter();\n public MitarbeitersettingslisteChanged: EventEmitter = new EventEmitter();\n public MitarbeitersettingsChanged: EventEmitter = new EventEmitter();\n public LoadingAllDataFinished: EventEmitter = new EventEmitter();\n public ChangeloglisteChanged: EventEmitter = new EventEmitter();\n public Signatur: string;\n public ApplicationURL: string;\n\n constructor(private Debug: DebugProvider,\n private Const: ConstProvider,\n private Basics: BasicsProvider,\n private Http: HttpClient) {\n try {\n\n this.Emailcontentvarinaten = {\n\n NONE: this.Const.NONE,\n Protokoll: 'Protokoll',\n Bautagebuch: 'Bautagebuch',\n Festlegungen: 'Festlegungen',\n LOPListe: 'LOPListe',\n Aufgabenliste: 'Aufgabenliste',\n Simontabelle: 'Simontabelle'\n };\n\n this.Mitarbeiterdaten = null;\n this.MitarbeiterdatenHasError = true;\n this.Mitarbeitersettings = null;\n this.Mitarbeiterpositionenliste = [];\n this.Mitarbeiterstandort = null;\n this.ShowProgress = false;\n this.Mitarbeitersettingsliste = [];\n this.MaxProgressValue = 0;\n this.CurrentProgressValue = 0;\n this.Standorteliste = [];\n this.Mitarbeiterliste = [];\n this.Changlogliste = [];\n\n this.CockpitserverURL = environment.production === true || environment.useonlinedb === true ? 'https://bae-urlaubsplaner-server.azurewebsites.net' : 'http://localhost:8080';\n this.CockpitdockerURL = environment.production === true || environment.useonlinedb === true ? 'https://bae-urlaubsplaner-docker.azurewebsites.net' : 'http://localhost:80';\n this.ApplicationURL = environment.production === true ? 'https://nice-glacier-0c9ec7703.3.azurestaticapps.net' : 'http://localhost:4200';\n this.Emailcontent = this.Emailcontentvarinaten.NONE;\n\n this.ProjektdatenLoaded = false;\n this.Appeinstellungen = null;\n\n this.Signatur =\n `\n Beste Grüße,

\n [Name]
\n [Jobtitel]

\n
\n \n BAE-GmbH
\n Ein Unternehmen der BAE GROUP\n
\n \n \n \n \n \n \n \n
[Strasse]
[Ort]
Telefon:[Telefon]
Mobil:[Mobil]
Email:[Email]
Web:www.bae-group.eu
\n

\n \n BAE GmbH, Sitz: Coburg, Amtsgericht Coburg, HRB 6357.
\n Geschäftsführer Jürgen Kerscher, Michael Hölzle
\n Standorte BAE GROUP: Frankfurt, Berlin, München, Coburg, Bamberg, Deggendorf, Sofia, Varna
\n
\n
\n \n \n \n \n \n \n \n
\n Der Inhalt dieser E-Mail ist ausschließlich für den bezeichneten Adressaten bestimmt. Wenn Sie nicht der vorgesehene Adressat dieser E-Mail oder dessen\n Vertreter sein sollten, so beachten Sie, dass jede Form der Kenntnis- und Vorteilsnahme, Veröffentlichung, Vervielfältigung oder Weitergabe des\n Inhalts dieser Mail unzulässig ist. Wir bitten Sie, sich in diesem Fall mit dem Absender der E-Mail in Verbindung zu setzen. Aussagen gegenüber\n dem Adressaten unterliegen den Regelungen des zugrundeliegenden Angebotes bzw. Auftrags, insbesondere den Allgemeinen Auftragsbedingungen und der\n individuellen Haftungsvereinbarung. Der Inhalt der E-Mail ist nur rechtsverbindlich, wenn er unsererseits durch einen Brief entsprechend bestätigt wird.\n Die Versendung von E-Mails an uns hat keine fristwahrende Wirkung. Wir möchten Sie außerdem darauf hinweisen, dass die Kommunikation per E-Mail über das\n Internet unsicher ist, da für unberechtigte Dritte grundsätzlich die Möglichkeit der Kenntnisnahme und Manipulation besteht.\n
\n The information contained in this email is intended exclusively for the addressee. Access to this email by anyone else is unauthorized. If you are not\n the intended recipient or his representative, any form of disclosure, reproduction, distribution or any action taken or refrained from in reliance on it,\n is prohibited. Please notify the sender immediately. All statements directed via this email to our clients are subject to the conditions of the submitted\n offer respectively order, in particular to the General Terms and Conditions and to the individual liability agreement between the parties. The content of\n this email is not legally binding unless confirmed by letter. The sending of emails to us will not constitute compliance with any time limits or deadlines.\n Please note that communication via email over the internet is insecure because third parties generally have the possibility to access and manipulate emails.\n
\n \n \n \n \n \n
PThink about Nature before you print!
\n `;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public GetFilledSignatur(Mitarbeiterdaten: Mitarbeiterstruktur, local: boolean): string {\n\n try {\n\n let Signatur: string = this.Signatur;\n let Telefon: string = Mitarbeiterdaten.Telefon;\n let Mobil: string = Mitarbeiterdaten.Mobil;\n let Email: string = Mitarbeiterdaten.Email;\n let Name: string = Mitarbeiterdaten.Vorname + ' ' + Mitarbeiterdaten.Name;\n let Jobtitel: string = Mitarbeiterdaten.Jobtitel;\n let Standort: Standortestruktur = lodash.find(this.Standorteliste, {_id: Mitarbeiterdaten.StandortID });\n let Strasse: string;\n let Ort: string;\n\n if(!lodash.isUndefined(Standort)) {\n\n Strasse = Standort.Strasse;\n Ort = Standort.PLZ + ' ' + Standort.Ort;\n\n Signatur = Signatur.replace('[Strasse]', Strasse);\n Signatur = Signatur.replace('[Ort]', Ort);\n }\n\n Signatur = Signatur.replace('[Name]', Name);\n Signatur = Signatur.replace('[Jobtitel]', Jobtitel);\n Signatur = Signatur.replace('[Telefon]', Telefon);\n Signatur = Signatur.replace('[Mobil]', Mobil);\n\n\n Signatur = Signatur.split('[Email]').join(Email);\n\n // debugger;\n\n if(local) {\n\n Signatur = Signatur.split('[Image]').join(this.Basics.WebAppUrl + '/assets/images/group_logo.png');\n }\n else {\n\n Signatur = Signatur.split('[Image]').join(this.Basics.WebAppUrl + '/assets/images/group_logo.png');\n debugger;\n }\n\n return Signatur;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Pool', 'GetFilledSignatur', this.Debug.Typen.Service);\n }\n }\n\n /*\n\n\n public ReadProjektpunkteliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let ProjektpunkteObservable: Observable;\n\n this.Projektpunkteliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey, deleted: false }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n ProjektpunkteObservable = this.Http.get(this.CockpitserverURL + '/projektpunkte', { headers: Headers, params: Params } );\n\n ProjektpunkteObservable.subscribe({\n\n next: (data) => {\n\n this.Projektpunkteliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n this.Debug.ShowMessage('Read Projektpunkte liste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadProjektpunkteliste', this.Debug.Typen.Service);\n\n this.Projektpunkteliste[projekt.Projektkey].forEach((Projektpunkt: Projektpunktestruktur) => {\n\n if(lodash.isUndefined(Projektpunkt.Zeitansatz)) Projektpunkt.Zeitansatz = 30;\n if(lodash.isUndefined(Projektpunkt.Zeitansatz)) Projektpunkt.Zeitansatz = 30;\n if(lodash.isUndefined(Projektpunkt.Zeitansatzeinheit)) Projektpunkt.Zeitansatzeinheit = this.Const.Zeitansatzeinheitvarianten.Minuten;\n if(lodash.isUndefined(Projektpunkt.Geschlossenzeitstempel)) Projektpunkt.Geschlossenzeitstempel = null;\n if(lodash.isUndefined(Projektpunkt.Geschlossenzeitstring)) Projektpunkt.Geschlossenzeitstring = null;\n if(lodash.isUndefined(Projektpunkt.EndeKalenderwoche)) Projektpunkt.EndeKalenderwoche = null;\n if(lodash.isUndefined(Projektpunkt.LOPListeID)) Projektpunkt.LOPListeID = null;\n if(lodash.isUndefined(Projektpunkt.Prioritaet)) Projektpunkt.Prioritaet = null;\n if(lodash.isUndefined(Projektpunkt.Thematik)) Projektpunkt.Thematik = '';\n if(lodash.isUndefined(Projektpunkt.EmailID)) Projektpunkt.EmailID = null;\n if(lodash.isUndefined(Projektpunkt.Leistungsphase)) Projektpunkt.Leistungsphase = this.Const.Leistungsphasenvarianten.LPH3;\n if(lodash.isUndefined(Projektpunkt.OutlookkatgorieID)) Projektpunkt.OutlookkatgorieID = this.Const.NONE;\n if(lodash.isUndefined(Projektpunkt.PlanungsmatrixID)) Projektpunkt.PlanungsmatrixID = null;\n if(lodash.isUndefined(Projektpunkt.AufgabenbereichID)) Projektpunkt.AufgabenbereichID = null;\n if(lodash.isUndefined(Projektpunkt.AufgabenteilbereichID)) Projektpunkt.AufgabenteilbereichID = null;\n if(lodash.isUndefined(Projektpunkt.Matrixanwendung)) Projektpunkt.Matrixanwendung = false;\n if(lodash.isUndefined(Projektpunkt.Bilderliste)) Projektpunkt.Bilderliste = [];\n if(lodash.isUndefined(Projektpunkt.ProtokollShowBilder)) Projektpunkt.ProtokollShowBilder = true;\n if(lodash.isUndefined(Projektpunkt.Thumbnailsize)) Projektpunkt.Thumbnailsize = 'small';\n if(lodash.isUndefined(Projektpunkt.Ruecklaufreminderliste)) Projektpunkt.Ruecklaufreminderliste = [];\n if(lodash.isUndefined(Projektpunkt.LV_relevant)) Projektpunkt.LV_relevant = true;\n if(lodash.isUndefined(Projektpunkt.Planung_relevant)) Projektpunkt.Planung_relevant = true;\n if(lodash.isUndefined(Projektpunkt.LV_Eintrag)) Projektpunkt.LV_Eintrag = false;\n if(lodash.isUndefined(Projektpunkt.Planung_Eintrag)) Projektpunkt.Planung_Eintrag = false;\n\n Projektpunkt.Anmerkungenliste.forEach((Anmerkung: Projektpunktanmerkungstruktur) => {\n\n Anmerkung.LiveEditor = false;\n });\n });\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadProjektpunkteliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadDeletedProjektpunkteliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let ProjektpunkteObservable: Observable;\n\n this.DeletedProjektpunkteliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey, deleted: true }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n ProjektpunkteObservable = this.Http.get(this.CockpitserverURL + '/projektpunkte', { headers: Headers, params: Params } );\n\n ProjektpunkteObservable.subscribe({\n\n next: (data) => {\n\n\n this.DeletedProjektpunkteliste[projekt.Projektkey] = data;\n },\n complete: () => {\n\n this.Debug.ShowMessage('Read gelöschte Projektpunkte liste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadDeletedProjektpunkteliste', this.Debug.Typen.Service);\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadDeletedProjektpunkteliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadProtokollliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let ProtokollObservable: Observable;\n\n this.Protokollliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n ProtokollObservable = this.Http.get(this.CockpitserverURL + '/protokolle', { headers: Headers, params: Params } );\n\n ProtokollObservable.subscribe({\n\n next: (data) => {\n\n // debugger;\n\n this.Protokollliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n\n // debugger;\n\n this.Debug.ShowMessage('Read Protokollliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadProtokollliste', this.Debug.Typen.Service);\n\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadProtokollliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadLOPListe(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let LOPListeObservable: Observable;\n\n this.LOPListe[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n LOPListeObservable = this.Http.get(this.CockpitserverURL + '/lopliste', { headers: Headers, params: Params } );\n\n LOPListeObservable.subscribe({\n\n next: (data) => {\n\n // debugger;\n\n this.LOPListe[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n\n // debugger;\n\n this.Debug.ShowMessage('Read LOP Liste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadLOPListe', this.Debug.Typen.Service);\n\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadLOPListe', this.Debug.Typen.Service);\n }\n }\n\n public ReadNotizenkapitelliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let NotizenkapitelObservable: Observable;\n\n // debugger;\n\n this.Notizenkapitelliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n NotizenkapitelObservable = this.Http.get(this.CockpitserverURL + '/notizenkapitel', { headers: Headers, params: Params } );\n\n NotizenkapitelObservable.subscribe({\n\n next: (data) => {\n\n // debugger\n\n this.Notizenkapitelliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n this.Notizenkapitelliste[projekt.Projektkey].sort((a: Notizenkapitelstruktur, b: Notizenkapitelstruktur) => {\n\n if (a.Titel < b.Titel) return -1;\n if (a.Titel > b.Titel) return 1;\n return 0;\n });\n\n // debugger;\n\n this.Debug.ShowMessage('Read Notizenliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'NotizenkReadNotizenkapitellisteapitelroutsClass', this.Debug.Typen.Service);\n\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadNotizenkapitelliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadFestlegungskategorieliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let FestlegungskategorieObservable: Observable;\n\n // debugger;\n\n this.Festlegungskategorienliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n FestlegungskategorieObservable = this.Http.get(this.CockpitserverURL + '/festlegungskategorie', { headers: Headers, params: Params } );\n\n FestlegungskategorieObservable.subscribe({\n\n next: (data) => {\n\n this.Festlegungskategorienliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n\n\n\n this.Debug.ShowMessage('Read Festlegungskategorieliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadFestlegungskategorieliste', this.Debug.Typen.Service);\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadFestlegungskategorieliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadSimontabellen(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let Tabelle: Simontabellestruktur;\n let SimontabellenObservable: Observable;\n\n this.Simontabellenliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n SimontabellenObservable = this.Http.get(this.CockpitserverURL + '/simontabellen', { headers: Headers, params: Params } );\n\n SimontabellenObservable.subscribe({\n\n next: (data) => {\n\n this.Simontabellenliste[projekt.Projektkey] = data;\n },\n complete: () => {\n\n for(Tabelle of this.Simontabellenliste[projekt.Projektkey] ) {\n\n if(lodash.isUndefined(Tabelle.Sicherheitseinbehalt)) Tabelle.Sicherheitseinbehalt = 5;\n\n for(let Rechnung of Tabelle.Rechnungen) {\n\n if(lodash.isUndefined(Rechnung.Verfasser)) Rechnung.Verfasser = {\n\n Name: this.Mitarbeiterdaten.Name,\n Vorname: this.Mitarbeiterdaten.Vorname,\n Email: this.Mitarbeiterdaten.Email\n };\n\n\n if(lodash.isUndefined(Rechnung.GesendetZeitstempel)) Rechnung.GesendetZeitstempel = null;\n if(lodash.isUndefined(Rechnung.EmpfaengerInternIDListe))\n {\n\n Rechnung.EmpfaengerInternIDListe = [];\n Rechnung.EmpfaengerInternIDListe.push(this.Mitarbeiterdaten._id);\n }\n if(lodash.isUndefined(Rechnung.EmpfaengerExternIDListe)) Rechnung.EmpfaengerExternIDListe = [];\n if(lodash.isUndefined(Rechnung.GesendetZeitstring)) Rechnung.GesendetZeitstring = null;\n }\n }\n\n this.Debug.ShowMessage('Read Simontabellenliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadSimontabellen', this.Debug.Typen.Service);\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadSimontabellen', this.Debug.Typen.Service);\n }\n }\n\n public ReadBautagebuchliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let BautagebuchObservable: Observable;\n\n this.Bautagebuchliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n BautagebuchObservable = this.Http.get(this.CockpitserverURL + '/bautagebuch', { headers: Headers, params: Params } );\n\n BautagebuchObservable.subscribe({\n\n next: (data) => {\n\n this.Bautagebuchliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n\n this.Bautagebuchliste[projekt.Projektkey].forEach((Tagebuch: Bautagebuchstruktur) => {\n\n if(lodash.isUndefined(Tagebuch.GesendetZeitstring)) Tagebuch.GesendetZeitstring = this.Const.NONE;\n if(lodash.isUndefined(Tagebuch.GesendetZeitstempel)) Tagebuch.GesendetZeitstempel = null;\n if(lodash.isUndefined(Tagebuch.BeteiligtInternIDListe)) Tagebuch.BeteiligtInternIDListe = [this.Mitarbeiterdaten._id];\n\n });\n\n // Tagebücher absteigend mit letztem Eintrag zuerst sortieren\n\n this.Bautagebuchliste[projekt.Projektkey].sort((a: Bautagebuchstruktur, b: Bautagebuchstruktur) => {\n\n if (a.Zeitstempel > b.Zeitstempel) return -1;\n if (a.Zeitstempel < b.Zeitstempel) return 1;\n return 0;\n });\n\n this.Debug.ShowMessage('Read Bautagebuchliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadBautagebuchliste', this.Debug.Typen.Service);\n\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadProtokollliste', this.Debug.Typen.Service);\n }\n }\n\n\n\n */\n\n public ReadMitarbeiterliste(): Promise {\n\n try {\n\n this.Mitarbeiterliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let MitarbeiterObservable = this.Http.get(this.CockpitdockerURL + '/mitarbeiter', { headers: headers } );\n\n MitarbeiterObservable.subscribe({\n\n\n next: (data) => {\n\n this.Mitarbeiterliste = data;\n\n },\n complete: () => {\n\n for(let Mitarbeiter of this.Mitarbeiterliste) {\n\n Mitarbeiter = this.InitMitarbeiter(Mitarbeiter);\n }\n\n this.MitarbeiterlisteChanged.emit();\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n console.log(error.message);\n console.log('Mitarbeiterliste lesen war fehlerhaft.');\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadMitarbeiterliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadMitarbeiterpositionenliste(): Promise {\n\n try {\n\n this.Mitarbeiterpositionenliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let MitarbeiterpositionnObservable = this.Http.get(this.CockpitdockerURL + '/mitarbeiterpositionen', { headers: headers } );\n\n MitarbeiterpositionnObservable.subscribe({\n\n next: (data) => {\n\n this.Mitarbeiterpositionenliste = data;\n\n },\n complete: () => {\n\n this.MitarbeiterpositionenlisteChanged.emit();\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n console.log('Error: ' + error.message);\n console.log('Mitarbeiterpositionenliste lesen war fehlerhaft.');\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadMitarbeiterpositionenliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadChangelogliste(): Promise {\n\n try {\n\n this.Changlogliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let ChangelogObservable = this.Http.get(this.CockpitdockerURL + '/changelog', { headers: headers } );\n\n ChangelogObservable.subscribe({\n\n next: (data) => {\n\n this.Changlogliste = data;\n\n },\n complete: () => {\n\n this.Changlogliste.sort((a: Changelogstruktur, b: Changelogstruktur) => {\n\n if (a.Zeitstempel > b.Zeitstempel) return -1;\n if (a.Zeitstempel < b.Zeitstempel) return 1;\n return 0;\n });\n\n this.ChangeloglisteChanged.emit();\n\n // debugger;\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadChangelogliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadStandorteliste(): Promise {\n\n try {\n\n this.Standorteliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let StandortObservable = this.Http.get(this.CockpitdockerURL + '/standorte', { headers: headers });\n\n StandortObservable.subscribe({\n\n next: (data) => {\n\n // ;\n\n this.Standorteliste = data;\n },\n complete: () => {\n\n // debugger;\n\n for(let Standort of this.Standorteliste) {\n\n if(lodash.isUndefined(Standort.Konfession)) Standort.Konfession = 'RK';\n if(lodash.isUndefined(Standort.Bundesland)) Standort.Bundesland = 'DE-BY';\n if(lodash.isUndefined(Standort.Land)) Standort.Land = 'DE';\n\n if(lodash.isUndefined(Standort.Homeofficefreigabepersonen)) Standort.Homeofficefreigabepersonen = [];\n if(lodash.isUndefined(Standort.Urlaubfreigabepersonen)) Standort.Urlaubfreigabepersonen = [];\n }\n\n\n this.StandortelisteChanged.emit();\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadStandorteliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadSettingsliste(): Promise {\n\n try {\n\n this.Mitarbeitersettingsliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let SettingsObservable = this.Http.get(this.CockpitdockerURL + '/settings', { headers: headers });\n\n SettingsObservable.subscribe({\n\n next: (data) => {\n\n this.Mitarbeitersettingsliste = data;\n },\n complete: () => {\n\n this.MitarbeitersettingslisteChanged.emit();\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadStandorteliste', this.Debug.Typen.Service);\n }\n }\n\n\n public InitMitarbeiter(mitarbeiter: Mitarbeiterstruktur): Mitarbeiterstruktur {\n\n try {\n\n if(lodash.isUndefined(mitarbeiter.SettingsID)) {\n\n mitarbeiter.SettingsID = null;\n }\n if(lodash.isUndefined(mitarbeiter.Archiviert)) {\n\n mitarbeiter.Archiviert = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Meintagliste)) {\n\n mitarbeiter.Meintagliste = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.Meinewocheliste)) {\n\n mitarbeiter.Meinewocheliste = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.Anrede)) {\n\n mitarbeiter.Anrede = this.Const.NONE;\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaub)) {\n\n mitarbeiter.Urlaub = 30;\n }\n\n if(lodash.isUndefined(mitarbeiter.Resturlaub)) {\n\n mitarbeiter.Resturlaub = 0;\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaubsliste)) {\n\n mitarbeiter.Urlaubsliste = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaubsfreigaben)) {\n\n mitarbeiter.Urlaubsfreigaben = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Planeradministrator)) {\n\n mitarbeiter.Planeradministrator = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaubsfreigaben)) {\n\n mitarbeiter.Urlaubsfreigaben = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Homeofficefreigaben)) {\n\n mitarbeiter.Homeofficefreigaben = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Homeofficefreigabestandorte)) {\n\n mitarbeiter.Homeofficefreigabestandorte = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaubsfreigabeorte)) {\n\n mitarbeiter.Urlaubsfreigabeorte = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.PositionID)) {\n\n mitarbeiter.PositionID = null;\n }\n\n for(let Eintrag of mitarbeiter.Meinewocheliste) {\n\n if(lodash.isUndefined(Eintrag.Kalenderwoche)) Eintrag.Kalenderwoche = 0;\n }\n\n mitarbeiter.Urlaubsliste.sort((a: Urlaubsstruktur, b: Urlaubsstruktur) => {\n\n if (a.Jahr < b.Jahr) return -1;\n if (a.Jahr > b.Jahr) return 1;\n return 0;\n });\n\n return mitarbeiter;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'InitMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public CheckMitarbeiterdaten(): boolean {\n\n try {\n\n if(this.Mitarbeiterdaten !== null) {\n\n this.MitarbeiterdatenHasError = false;\n }\n else this.MitarbeiterdatenHasError = true;\n\n return this.MitarbeiterdatenHasError;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Pool', 'CheckMItarbeiterdaten', this.Debug.Typen.Service);\n }\n }\n\n /*\n\n public async ReadProjektdaten(projektliste: Projektestruktur[]): Promise {\n\n try {\n\n let Steps: number = 9;\n this.ShowProgress = true;\n this.MaxProgressValue = projektliste.length * Steps;\n this.CurrentProgressValue = 0;\n this.Projektpunkteliste = [];\n this.Protokollliste = [];\n this.Bautagebuchliste = [];\n this.LOPListe = [];\n\n try {\n\n this.ProgressMessage = 'Projektpunkte Musterprojekt';\n\n for(let Projekt of projektliste) {\n\n this.ProgressMessage = 'Projektpunkte ' + Projekt.Projektkurzname;\n\n await this.ReadProjektpunkteliste(Projekt);\n\n this.CurrentProgressValue++;\n\n await this.ReadDeletedProjektpunkteliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Protokolle ' + Projekt.Projektkurzname;\n\n await this.ReadProtokollliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Bautagebücher ' + Projekt.Projektkurzname;\n\n await this.ReadBautagebuchliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'LOP Liste ' + Projekt.Projektkurzname;\n\n await this.ReadLOPListe(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Notizenkapitel Liste ' + Projekt.Projektkurzname;\n\n await this.ReadNotizenkapitelliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Festlegungskategorien Liste ' + Projekt.Projektkurzname;\n\n await this.ReadFestlegungskategorieliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Simontabellen Liste ' + Projekt.Projektkurzname;\n\n await this.ReadSimontabellen(Projekt);\n\n this.CurrentProgressValue++;\n }\n } catch (error) {\n\n this.ShowProgress = false;\n\n return Promise.reject(error);\n }\n\n this.ProjektpunktelisteChanged.emit();\n this.ProtokolllisteChanged.emit();\n this.BautagebuchlisteChanged.emit();\n this.LOPListeChanged.emit();\n this.NotizenkapitellisteChanged.emit();\n this.SimontabellenlisteChanged.emit();\n\n this.CurrentProgressValue = this.MaxProgressValue;\n this.ShowProgress = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadProjektdaten', this.Debug.Typen.Service);\n }\n }\n\n */\n\n\n public GetNewUniqueID(): string {\n\n try {\n\n return uuidv4();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'GetNewUniqueID', this.Debug.Typen.Service);\n }\n }\n\n public GetNewMitarbeitersettings(): Mitarbeitersettingsstruktur {\n\n try {\n\n return {\n\n _id: null,\n MitarbeiterID: null,\n FavoritenID: null,\n ProjektID: null,\n Favoritprojektindex: null,\n Zoomfaktor: 100,\n Textsize: 14,\n StandortFilter: null,\n LeistungsphaseFilter: this.Const.Leistungsphasenvarianten.UNBEKANNT,\n Aufgabenansicht: [],\n Deleted: false,\n HeadermenueMaxFavoriten: 6,\n\n AufgabenSortiermodus: this.Const.AufgabenSortiermodusvarianten.TermineAufsteigend,\n\n AufgabenMeilensteineNachlauf: 2,\n\n AufgabenShowMeilensteine: true,\n AufgabenShowNummer: false,\n AufgabenShowStartdatum: false,\n AufgabenShowAufgabe: true,\n AufgabenShowBemerkung: true,\n AufgabenShowTage: true,\n AufgabenShowTermin: true,\n AufgabenShowStatus: true,\n AufgabenShowFortschritt: false,\n AufgabenShowZustaendig: true,\n AufgabenShowMeintag: true,\n AufgabenShowZeitansatz: false,\n AufgabenShowMeinewoche: true,\n\n UrlaubShowBeantragt: true,\n UrlaubShowVertreterfreigabe: true,\n UrlaubShowGenehmigt: true,\n UrlaubShowAbgelehnt: true,\n UrlaubShowMeinenUrlaub: true,\n UrlaubShowFerien_DE: false,\n UrlaubShowFeiertage_DE: false,\n UrlaubShowFerien_BG: false,\n UrlaubShowFeiertage_BG: false,\n\n ShowHomeoffice: true,\n\n OberkostengruppeFilter: null,\n HauptkostengruppeFilter: null,\n UnterkostengruppeFilter: null,\n\n AufgabenTerminfiltervariante: null,\n AufgabenTerminfilterStartwert: null,\n AufgabenTerminfilterEndewert: null,\n\n LOPListeGeschlossenZeitfilter: 14\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'GetNewMitarbeitersettings', this.Debug.Typen.Service);\n }\n }\n\n public InitMitarbeitersettings(): Mitarbeitersettingsstruktur {\n\n try {\n\n\n let Settings: Mitarbeitersettingsstruktur;\n\n if(this.Mitarbeiterdaten.SettingsID === null) {\n\n return this.GetNewMitarbeitersettings();\n }\n else {\n\n Settings = lodash.find(this.Mitarbeitersettingsliste, {_id: this.Mitarbeiterdaten.SettingsID});\n\n if(lodash.isUndefined(Settings)) {\n\n return this.GetNewMitarbeitersettings();\n }\n else {\n\n if(lodash.isUndefined(Settings.Favoritprojektindex)) Settings.Favoritprojektindex = 3000;\n if(lodash.isUndefined(Settings.HeadermenueMaxFavoriten)) Settings.HeadermenueMaxFavoriten = 6;\n if(lodash.isUndefined(Settings.Zoomfaktor)) Settings.Zoomfaktor = 100;\n if(lodash.isUndefined(Settings.Textsize)) Settings.Textsize = 14;\n if(lodash.isUndefined(Settings.Deleted)) Settings.Deleted = false;\n if(lodash.isUndefined(Settings.AufgabenShowNummer)) Settings.AufgabenShowNummer = true;\n if(lodash.isUndefined(Settings.AufgabenShowStartdatum)) Settings.AufgabenShowStartdatum = true;\n if(lodash.isUndefined(Settings.AufgabenShowAufgabe)) Settings.AufgabenShowAufgabe = true;\n if(lodash.isUndefined(Settings.AufgabenShowBemerkung)) Settings.AufgabenShowBemerkung = true;\n if(lodash.isUndefined(Settings.AufgabenShowTage)) Settings.AufgabenShowTage = true;\n if(lodash.isUndefined(Settings.AufgabenShowTermin)) Settings.AufgabenShowTermin = true;\n if(lodash.isUndefined(Settings.AufgabenShowStatus)) Settings.AufgabenShowStatus = true;\n if(lodash.isUndefined(Settings.AufgabenShowFortschritt)) Settings.AufgabenShowFortschritt = true;\n if(lodash.isUndefined(Settings.AufgabenShowZustaendig)) Settings.AufgabenShowZustaendig = true;\n if(lodash.isUndefined(Settings.AufgabenShowMeintag)) Settings.AufgabenShowMeintag = true;\n if(lodash.isUndefined(Settings.AufgabenShowZeitansatz)) Settings.AufgabenShowZeitansatz = true;\n if(lodash.isUndefined(Settings.AufgabenShowMeinewoche)) Settings.AufgabenShowMeinewoche = true;\n if(lodash.isUndefined(Settings.Aufgabenansicht)) Settings.Aufgabenansicht = [];\n\n\n if(lodash.isUndefined(Settings.AufgabenTerminfiltervariante)) Settings.AufgabenTerminfiltervariante = null;\n if(lodash.isUndefined(Settings.AufgabenTerminfilterStartwert)) Settings.AufgabenTerminfilterStartwert = null;\n if(lodash.isUndefined(Settings.AufgabenTerminfilterEndewert)) Settings.AufgabenTerminfilterEndewert = null;\n if(lodash.isUndefined(Settings.AufgabenSortiermodus)) Settings.AufgabenSortiermodus = this.Const.AufgabenSortiermodusvarianten.TermineAufsteigend;\n\n if(lodash.isUndefined(Settings.AufgabenMeilensteineNachlauf)) Settings.AufgabenMeilensteineNachlauf = 2;\n\n if(lodash.isUndefined(Settings.LOPListeGeschlossenZeitfilter)) Settings.LOPListeGeschlossenZeitfilter = 14;\n\n if(lodash.isUndefined(Settings.LeistungsphaseFilter)) Settings.LeistungsphaseFilter = this.Const.Leistungsphasenvarianten.UNBEKANNT;\n\n if(lodash.isUndefined(Settings.OberkostengruppeFilter)) Settings.OberkostengruppeFilter = null;\n if(lodash.isUndefined(Settings.UnterkostengruppeFilter)) Settings.UnterkostengruppeFilter = null;\n if(lodash.isUndefined(Settings.HauptkostengruppeFilter)) Settings.HauptkostengruppeFilter = null;\n\n if(lodash.isUndefined(Settings.UrlaubShowBeantragt)) Settings.UrlaubShowBeantragt = true;\n if(lodash.isUndefined(Settings.UrlaubShowVertreterfreigabe)) Settings.UrlaubShowVertreterfreigabe = true;\n if(lodash.isUndefined(Settings.UrlaubShowGenehmigt)) Settings.UrlaubShowGenehmigt = true;\n if(lodash.isUndefined(Settings.UrlaubShowAbgelehnt)) Settings.UrlaubShowAbgelehnt = true;\n if(lodash.isUndefined(Settings.UrlaubShowFerien_DE)) Settings.UrlaubShowFerien_DE = false;\n if(lodash.isUndefined(Settings.UrlaubShowFerien_BG)) Settings.UrlaubShowFerien_BG = false;\n if(lodash.isUndefined(Settings.UrlaubShowFeiertage_DE)) Settings.UrlaubShowFeiertage_DE = false;\n if(lodash.isUndefined(Settings.UrlaubShowFeiertage_BG)) Settings.UrlaubShowFeiertage_BG = false;\n if(lodash.isUndefined(Settings.UrlaubShowMeinenUrlaub)) Settings.UrlaubShowMeinenUrlaub = true;\n if(lodash.isUndefined(Settings.ShowHomeoffice)) Settings.ShowHomeoffice = true;\n\n return Settings;\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'InitMitarbeitersettings', this.Debug.Typen.Service);\n }\n }\n\n\n\n}\n"," import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {HttpClient, HttpErrorResponse, HttpParams} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport moment, {Moment} from \"moment\";\nimport { v4 as uuidv4 } from 'uuid';\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseStandorteService {\n\n public CurrentStandort: Standortestruktur;\n public CurrentStandortfilter: Standortestruktur;\n public StandortfilterChanged = new EventEmitter();\n private ServerUrl: string;\n\n constructor(private Debug: DebugProvider,\n private Pool: DatabasePoolService,\n private Const: ConstProvider,\n private http: HttpClient) {\n try {\n\n this.CurrentStandort = null;\n this.CurrentStandortfilter = null;\n this.ServerUrl = this.Pool.CockpitdockerURL + '/standorte';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public InitService() {\n\n try {\n\n let Standort: Standortestruktur;\n\n if(this.Pool.Mitarbeiterdaten !== null && this.Pool.Mitarbeitersettings.StandortFilter !== this.Const.NONE) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.Pool.Mitarbeitersettings.StandortFilter });\n\n if(Standort) this.CurrentStandortfilter = lodash.cloneDeep(Standort);\n }\n else {\n\n this.CurrentStandortfilter = null;\n }\n\n if(this.Pool.Mitarbeiterdaten !== null) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.Pool.Mitarbeiterdaten.StandortID });\n\n if(lodash.isUndefined(Standort) === false) this.Pool.Mitarbeiterstandort = Standort;\n }\n else {\n\n this.Pool.Mitarbeiterstandort = null;\n }\n\n for(let Standort of this.Pool.Standorteliste) {\n\n if(Standort._id === this.Pool.Mitarbeiterdaten.StandortID) Standort.ShowInGesamtuebersicht = true;\n else {\n\n Standort.ShowInGesamtuebersicht = false;\n }\n }\n\n\n this.StandortfilterChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'InitService', this.Debug.Typen.Service);\n }\n }\n\n public FinishService() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'FinishService', this.Debug.Typen.Service);\n }\n }\n\n GetStandort(standortid):string {\n\n try {\n\n let Standort: Standortestruktur;\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: standortid});\n\n if(!lodash.isUndefined(Standort)) {\n\n return Standort.Kuerzel + ' - ' + Standort.Ort;\n }\n else return 'unbekannt';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'GetStandort', this.Debug.Typen.Component);\n }\n }\n\n public GetEmptyStandort(): Standortestruktur {\n\n try {\n\n let Heute: Moment = moment();\n\n return {\n\n _id: null,\n Standort: \"\",\n Kuerzel: \"\",\n Strasse: \"\",\n PLZ: \"\",\n Ort: \"\",\n Telefon: \"\",\n Email: \"\",\n Deleted: false,\n Bundesland: 'DE-BY',\n Konfession: 'RK',\n Land: 'DE',\n Homeofficefreigabepersonen: [],\n Urlaubfreigabepersonen: [],\n Zeitstempel: Heute.valueOf(),\n Zeitpunkt: Heute.format('DD.MM.YYYY')\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'GetEmptyStandort', this.Debug.Typen.Service);\n }\n }\n\n public GetUniqueStandortID(): string {\n\n try {\n\n let StandortID: string = this.CurrentStandort.Kuerzel;\n\n StandortID = StandortID.replace(/ /g, '_');\n StandortID = StandortID.replace(/-/g, '_');\n StandortID = StandortID.replace(/./g, '_');\n\n return StandortID + '_' + uuidv4();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'GetUniqueStandortID', this.Debug.Typen.Service);\n }\n }\n\n public AddStandort(): Promise {\n\n try {\n\n let Observer: Observable;\n let Standort: Standortestruktur;\n\n return new Promise((resove, reject) => {\n\n // POST für neuen Eintrag\n\n Observer = this.http.post(this.ServerUrl, this.CurrentStandort);\n\n Observer.subscribe({\n\n next: (result) => {\n\n debugger;\n\n Standort = result.data;\n\n },\n complete: () => {\n\n this.UpdateStandortliste(Standort);\n this.Pool.StandortelisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'AddStandort', this.Debug.Typen.Service);\n }\n }\n\n private UpdateStandortliste(standort: Standortestruktur) {\n\n try {\n\n let Index: number;\n\n Index = lodash.findIndex(this.Pool.Standorteliste, {_id : this.CurrentStandort._id});\n\n if(Index !== -1) {\n\n this.Pool.Standorteliste[Index] = standort;\n\n this.Debug.ShowMessage('Standortliste updated: ' + standort.Standort, 'Database Standorte', 'UpdateStandortliste', this.Debug.Typen.Service);\n\n }\n else {\n\n this.Debug.ShowMessage('Standort nicht gefunden -> neuen Standort hinzufügen', 'Database Standorte', 'UpdateStandortliste', this.Debug.Typen.Service);\n\n this.Pool.Standorteliste.push(standort); // neuen\n }\n\n // Gelöscht markiert Einträge entfernen\n\n this.Pool.Standorteliste = lodash.filter(this.Pool.Standorteliste, (currentstandort: Standortestruktur) => {\n\n return currentstandort.Deleted === false;\n });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'UpdateStandortliste', this.Debug.Typen.Service);\n }\n }\n\n\n public UpdateStandort(): Promise {\n\n try {\n\n let Observer: Observable;\n // let Params = new HttpParams();\n\n // Params.set('id', this.CurrentStandort._id);\n\n delete this.CurrentStandort.__v;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.CurrentStandort);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n\n },\n complete: () => {\n\n\n this.UpdateStandortliste(this.CurrentStandort);\n\n this.Pool.StandortelisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'UpdateStandort', this.Debug.Typen.Service);\n }\n }\n\n\n public DeleteStandort(): Promise {\n\n try {\n\n let Observer: Observable;\n\n this.CurrentStandort.Deleted = true;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.CurrentStandort);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n debugger;\n\n },\n complete: () => {\n\n debugger;\n\n this.UpdateStandortliste(this.CurrentStandort);\n\n this.Pool.StandortelisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'DeleteStandort', this.Debug.Typen.Service);\n }\n }\n\n GetStandortfiller(): string{\n\n try {\n\n if(this.CurrentStandortfilter === null) return 'kein Standortfilter';\n else return this.CurrentStandortfilter.Kuerzel + ' / ' + this.CurrentStandortfilter.Ort;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'GetStandortfiller', this.Debug.Typen.Service);\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport moment, {Moment} from \"moment\";\nimport {ConstProvider} from \"../const/const\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {Feiertagestruktur, FeiertagsubdevisionsStruktur} from \"../../dataclasses/feiertagestruktur\";\nimport {Ferienstruktur} from \"../../dataclasses/ferienstruktur\";\nimport {Regionenstruktur} from \"../../dataclasses/regionenstruktur\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {Kalendertagestruktur} from \"../../dataclasses/kalendertagestruktur\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {Graphservice} from \"../graph/graph\";\nimport {Outlookemailadressstruktur} from \"../../dataclasses/outlookemailadressstruktur\";\nimport {BasicsProvider} from \"../basics/basics\";\nimport {DatabaseMitarbeiterService} from \"../database-mitarbeiter/database-mitarbeiter.service\";\nimport {Homeofficezeitspannenstruktur} from \"../../dataclasses/homeofficezeitspannenstruktur\";\nimport {Urlaubsvertretungkonversationstruktur} from \"../../dataclasses/urlaubsvertretungkonversationstruktur\";\nimport {indexOf} from \"lodash-es\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseUrlaubService {\n\n public PlanungsmonateChanged: EventEmitter = new EventEmitter();\n public ExterneUrlaubeChanged: EventEmitter = new EventEmitter();\n public ExterneHomeofficeChanged: EventEmitter = new EventEmitter();\n public UrlaubStatusChanged: EventEmitter = new EventEmitter();\n public HomeofficeStatusChanged: EventEmitter = new EventEmitter();\n public AddUrlaubCancelEvent: EventEmitter = new EventEmitter();\n public UpdateKalenderRequestEvent: EventEmitter = new EventEmitter();\n\n public CurrentHomeofficecounter: number;\n public Bundeslandkuerzel: string;\n public Bundesland: string;\n public Regionenliste: Regionenstruktur[];\n public CurrentJahr: number;\n public Jahr: number;\n public Startjahr: number;\n public Feiertageliste: Feiertagestruktur[];\n public Ferienliste: Ferienstruktur[];\n public CurrentUrlaub: Urlaubsstruktur;\n public UrlaublisteExtern: Urlaubsstruktur[];\n public CurrentMonatindex: number;\n public LastMonatIndex: number;\n public FirstMonatIndex: number;\n public Laendercode: string;\n public ShowFeiertage_DE: boolean;\n public ShowFeiertage_BG: boolean;\n public ShowFerientage_DE: boolean;\n public ShowFerientage_BG: boolean;\n public Ferienfarbe_DE: string;\n public Ferienfarbe_BG: string;\n public Feiertagefarbe_DE: string;\n public Feiertagefarbe_BG: string;\n public CurrentUrlaubzeitspanne: Urlauzeitspannenstruktur;\n public CurrentHomeofficezeitspanne: Homeofficezeitspannenstruktur;\n public Monateliste: string[];\n private ServerReadfeiertageUrl: string;\n private ServerReadRegionenUrl: string;\n private ServerReadFerienUrl: string;\n public Vertretrungliste: Mitarbeiterstruktur[];\n public Urlaubfreigabenliste: Mitarbeiterstruktur[];\n public Homeofficefreigabenliste: Mitarbeiterstruktur[];\n public Vertretungsanfragenanzahl: number;\n public Vertretungsantwortenanzahl: number;\n public Freigabenanfragenanzahl: number;\n public Freigabenantwortenanzahl: number;\n public Urlaubsanfragenanzahl: number;\n public Homeofficeanfragenanzahl: number;\n public Homeofficantwortenanzahl: number;\n public Antwortenanzahl: number;\n public CorrectSetup: boolean;\n public Officeemailadress: string;\n public CurrentMitarbeiter: Mitarbeiterstruktur;\n public Kalenderwochenhoehenliste: string[][][];\n\n public Urlaubstatusvarianten = {\n\n Geplant: 'Geplant',\n Vertreterablehnung: 'Vertreterablehnung',\n Vertreteranfrage: 'Vertreteranfrage',\n Vertreterfreigabe: 'Vertreterfreigabe',\n Abgelehnt: 'Abgelehnt',\n Genehmigt: 'Genehmigt',\n Feiertag: 'Feiertag',\n Ferientag: 'Ferientag'\n };\n\n public GesamtuebersichtSetting = {\n\n ShowGeplant: true,\n ShowVertreteranfragen: true,\n ShowVertreterfreigaben: true,\n ShowVertreterablehnungen: false,\n ShowUrlaubsgenehmigungen: true,\n ShowUrlaubsablehnungen: false,\n ShowHomeofficeGeplant: true,\n ShowHomeofficeGenehmigt: true,\n ShowHomeofficeAnfrage: true,\n };\n\n public Homeofficestatusvarianten = {\n\n Geplant: 'Geplant',\n Freigabeanfrage: 'Freigabeanfrage',\n Abgelehnt: 'Abgelehnt',\n Genehmigt: 'Genehmigt',\n Feiertag: 'Feiertag',\n Ferientag: 'Ferientag'\n };\n\n public Urlaubsfaben = {\n\n Geplant: '#307ac1',\n Vertreterfreigabe: 'orange',\n Vertreteranfrage: '#04B4AE',\n Vertreterablehnung: '#8A0886',\n Abgelehnt: 'red',\n Genehmigt: 'green',\n Ferien_DE: '#999999',\n Ferien_BG: '#999999',\n Feiertage_DE: '#454545',\n Feiertage_BG: '#454545',\n Wochenende: '#34495E'\n };\n\n public Homeofficefarben = {\n\n Geplant: '#307ac1',\n Freigabeanfrage: '#04B4AE',\n Abgelehnt: 'red',\n Genehmigt: 'green',\n };\n\n constructor(private Debug: DebugProvider,\n private Pool: DatabasePoolService,\n private Const: ConstProvider,\n private Graph: Graphservice,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n private Basics: BasicsProvider,\n private http: HttpClient) {\n try {\n\n this.ServerReadfeiertageUrl = this.Pool.CockpitdockerURL + '/readfeiertage';\n this.ServerReadFerienUrl = this.Pool.CockpitdockerURL + '/readferien';\n this.ServerReadRegionenUrl = this.Pool.CockpitdockerURL + '/readregionen';\n this.CurrentUrlaub = null;\n this.CurrentJahr = moment().year();\n this.Jahr = moment().year();\n this.Bundeslandkuerzel = 'DE-BY';\n this.Bundesland = '';\n this.Feiertageliste = [];\n this.Ferienliste = [];\n this.Urlaubfreigabenliste = [];\n this.Homeofficefreigabenliste = [];\n this.CurrentMonatindex = moment().month();\n this.FirstMonatIndex = this.CurrentMonatindex - 1;\n this.LastMonatIndex = this.CurrentMonatindex + 1;\n this.CurrentUrlaubzeitspanne = null;\n this.CurrentUrlaubzeitspanne = null;\n this.Laendercode = 'DE';\n this.ShowFeiertage_DE = false;\n this.ShowFeiertage_BG = false;\n this.ShowFerientage_DE = false;\n this.ShowFerientage_BG = false;\n this.Ferienfarbe_DE = this.Const.NONE;\n this.Feiertagefarbe_DE = this.Const.NONE;\n this.UrlaublisteExtern = [];\n this.Vertretrungliste = [];\n this.Urlaubsanfragenanzahl = 0;\n this.Antwortenanzahl = 0;\n this.Vertretungsanfragenanzahl = 0;\n this.Vertretungsantwortenanzahl = 0;\n this.Freigabenanfragenanzahl = 0;\n this.Freigabenantwortenanzahl = 0;\n this.Homeofficeanfragenanzahl = 0;\n this.Homeofficantwortenanzahl = 0;\n this.CurrentHomeofficecounter = 0;\n this.CurrentMitarbeiter = null;\n this.Startjahr = 2024;\n\n this.CorrectSetup = false;\n this.Officeemailadress = 'office@b-a-e.eu';\n this.Monateliste = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Urlaub', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public SetMitarbeiter(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n this.CurrentMitarbeiter = lodash.cloneDeep(mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SetMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public CheckSetup() {\n\n try {\n\n let Standort: Standortestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n let Urlaubsfreigeberanzahl: number = 0;\n let Homeofficefreigeberanzahl: number = 0;\n\n if(this.CurrentMitarbeiter !== null) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n\n for(let MitarbeterID of Standort.Urlaubfreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) Urlaubsfreigeberanzahl++;\n }\n\n for(let MitarbeterID of Standort.Homeofficefreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) Homeofficefreigeberanzahl++;\n }\n\n this.CorrectSetup = Urlaubsfreigeberanzahl > 0 && Homeofficefreigeberanzahl > 0 && this.CurrentUrlaub.Projektbeteiligteliste.length > 0;\n }\n else this.CorrectSetup = false;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckSetup', this.Debug.Typen.Service);\n }\n }\n\n private GetFreigabenliste() {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n let CountAnfrage: boolean;\n let CountAntwort: boolean;\n let Standort: Standortestruktur;\n let PersonOk: boolean;\n\n this.Freigabenanfragenanzahl = 0;\n this.Freigabenantwortenanzahl = 0;\n this.Urlaubfreigabenliste = [];\n this.Homeofficefreigabenliste = [];\n\n if(this.CurrentMitarbeiter !== null) {\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n // Urlaub Freigabeanfragen\n\n /*\n if(Mitarbeiter.Name === 'Enzensberger') {\n\n debugger;\n }\n */\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, (urlaub: Urlaubsstruktur) => {\n\n return urlaub.Jahr === this.CurrentJahr;\n });\n\n if(!lodash.isUndefined(Urlaub)) {\n\n CountAnfrage = false;\n CountAntwort = false;\n\n for (let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Zeitspanne = this.InitUrlaubzeitspanne(Zeitspanne);\n PersonOk = Standort.Urlaubfreigabepersonen.indexOf(this.CurrentMitarbeiter._id) !== -1 && this.CurrentMitarbeiter.Urlaubsfreigaben;\n\n if (PersonOk && this.CheckUrlaubFreigabeanwortAge(Zeitspanne) === true &&\n (Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterfreigabe ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt)) {\n\n if(lodash.isUndefined(lodash.find(this.Urlaubfreigabenliste, {_id: Mitarbeiter._id}))) {\n\n this.Urlaubfreigabenliste.push(Mitarbeiter);\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterfreigabe) {\n\n CountAnfrage = true;\n }\n else {\n\n CountAntwort = true;\n }\n }\n }\n }\n\n if(CountAnfrage === true) {\n\n this.Urlaubsanfragenanzahl++;\n this.Freigabenanfragenanzahl++;\n }\n\n if(CountAntwort === true) {\n\n this.Freigabenantwortenanzahl++;\n }\n }\n\n // Homeoffice Freigabeanfragen\n\n if(!lodash.isUndefined(Urlaub)) {\n\n for (let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n CountAnfrage = false;\n CountAntwort = false;\n PersonOk = Standort.Homeofficefreigabepersonen.indexOf(this.CurrentMitarbeiter._id) !== -1 && this.CurrentMitarbeiter.Homeofficefreigaben;\n\n if (PersonOk && this.CheckHomeofficeFreigabeanwortAge(Zeitspanne) === true &&\n ( Zeitspanne.Status === this.Homeofficestatusvarianten.Freigabeanfrage ||\n Zeitspanne.Status === this.Homeofficestatusvarianten.Abgelehnt ||\n Zeitspanne.Status === this.Homeofficestatusvarianten.Genehmigt)) {\n\n if(lodash.isUndefined(lodash.find(this.Homeofficefreigabenliste, {_id: Mitarbeiter._id}))) {\n\n this.Homeofficefreigabenliste.push(Mitarbeiter);\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Freigabeanfrage) CountAnfrage = true; // nur offene Anfragen zaehlen\n else {\n\n CountAntwort = true;\n }\n }\n }\n\n if(CountAnfrage === true) {\n\n this.Homeofficeanfragenanzahl++;\n }\n\n if(CountAntwort === true) {\n\n this.Homeofficantwortenanzahl++;\n }\n }\n }\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFreigabenliste', this.Debug.Typen.Service);\n }\n }\n\n public GetVertretungkonversation(Mitarbeiter: Mitarbeiterstruktur, Zeitspanne: Urlauzeitspannenstruktur): Urlaubsvertretungkonversationstruktur {\n\n try {\n\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: Mitarbeiter._id });\n\n if(lodash.isUndefined(Konversation)) return null;\n else return Konversation;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetVertretungkonversation', this.Debug.Typen.Service);\n }\n }\n\n public CheckVertretungsanwortAge(Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Datum: Moment;\n let Dauer: number;\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.CurrentMitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.VertreterantwortSended === true) {\n\n // Wenn Freigabe oder Ablehnung Alter der Antwort prüfen\n\n if(Konversation.Vertretungantwortzeitstempel === null) {\n\n return false;\n }\n else {\n\n // Alter prüfen\n\n Datum = moment(Konversation.Vertretungantwortzeitstempel).locale('de');\n Dauer = moment.duration(Heute.diff(Datum)).asMinutes();\n\n return Dauer <= 5;\n\n }\n }\n else return true;\n }\n else return true;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckVertretungsanwortAge', this.Debug.Typen.Service);\n }\n }\n\n public CheckUrlaubFreigabeanwortAge(Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Datum: Moment;\n let Dauer: number;\n\n if(Zeitspanne.FreigabeantwortSended === true &&\n (Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt)) {\n\n // Wenn Freigabe oder Ablehnung Alter der Antwort prüfen\n\n if(Zeitspanne.Freigabeantwortzeitstempel === null) {\n\n return false;\n }\n else {\n\n // Alter prüfen\n\n Datum = moment(Zeitspanne.Freigabeantwortzeitstempel).locale('de');\n Dauer = moment.duration(Heute.diff(Datum)).asMinutes();\n\n return Dauer <= 5;\n\n }\n }\n else return true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckUrlaubFreigabeanwortAge', this.Debug.Typen.Service);\n }\n }\n\n public CheckHomeofficeFreigabeanwortAge(Zeitspanne: Homeofficezeitspannenstruktur): boolean {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Datum: Moment;\n let Dauer: number;\n\n if(Zeitspanne.FreigabeantwortSended === true &&\n (Zeitspanne.Status === this.Homeofficestatusvarianten.Genehmigt ||\n Zeitspanne.Status === this.Homeofficestatusvarianten.Abgelehnt)) {\n\n if(Zeitspanne.Freigabeantwortzeitstempel === null) {\n\n return false;\n }\n else {\n\n // Alter prüfen\n\n Datum = moment(Zeitspanne.Freigabeantwortzeitstempel).locale('de');\n Dauer = moment.duration(Heute.diff(Datum)).asMinutes();\n\n return Dauer <= 5;\n\n }\n }\n else return true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckHomeofficeFreigabeanwortAge', this.Debug.Typen.Service);\n }\n }\n\n public GetVertretungsanwortAge(Zeitspanne: Urlauzeitspannenstruktur): number {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Datum: Moment;\n let Dauer: number;\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.CurrentMitarbeiter._id });\n\n if((Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe ||\n Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung) && Konversation.VertreterantwortSended === true) {\n\n // Wenn Freigabe oder Ablehnung Alter der Antwort prüfen\n\n if(Konversation.Vertretungantwortzeitstempel === null) {\n\n return 0;\n }\n else {\n\n // Alter prüfen\n\n Datum = moment(Konversation.Vertretungantwortzeitstempel).locale('de');\n Dauer = moment.duration(Heute.diff(Datum)).asMinutes();\n\n return Dauer;\n\n }\n }\n else return 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetVertretungsanwortAge', this.Debug.Typen.Service);\n }\n }\n\n public CheckMitarbeiterIsVertretung(Mitarbeiter: Mitarbeiterstruktur, Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Ergo: boolean = false;\n\n\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: Mitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.VertreteranfrageSended) {\n\n Ergo = true;\n }\n }\n\n return Ergo;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'ChechMitarbeiterIsVertretung', this.Debug.Typen.Service);\n }\n }\n\n public CheckMitarbeiterIsOffeneVertretung(Mitarbeiter: Mitarbeiterstruktur, Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Ergo: boolean = false;\n\n\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: Mitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.VertreteranfrageSended === true && Konversation.VertreterantwortSended === false) {\n\n Ergo = true;\n }\n }\n\n return Ergo;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckMitarbeiterIsOffeneVertretung', this.Debug.Typen.Service);\n }\n }\n\n private GetVertretungenliste() {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n let Vertretung: Mitarbeiterstruktur;\n let CountAnfrage: boolean;\n let CountAntworten: boolean;\n\n this.Vertretrungliste = [];\n this.Vertretungsantwortenanzahl = 0;\n this.Vertretungsanfragenanzahl = 0;\n\n if(this.CurrentMitarbeiter !== null) {\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter._id !== this.CurrentMitarbeiter._id) {\n\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n if(!lodash.isUndefined(Urlaub)) {\n\n CountAnfrage = false;\n CountAntworten = false;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Zeitspanne = this.InitUrlaubzeitspanne(Zeitspanne);\n\n if(Mitarbeiter.Name === 'Hornburger') {\n\n // debugger;\n }\n\n if(this.CheckMitarbeiterIsVertretung(this.CurrentMitarbeiter, Zeitspanne) === true && this.CheckVertretungsanwortAge(Zeitspanne) === true &&\n (Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreteranfrage ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterfreigabe ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterablehnung)) {\n\n CountAnfrage = this.CheckMitarbeiterIsOffeneVertretung(this.CurrentMitarbeiter, Zeitspanne);\n CountAntworten = !this.CheckMitarbeiterIsOffeneVertretung(this.CurrentMitarbeiter, Zeitspanne);\n Vertretung = lodash.find(this.Vertretrungliste, {_id: Mitarbeiter._id});\n\n if(lodash.isUndefined(Vertretung)) {\n\n this.Vertretrungliste.push(Mitarbeiter);\n }\n }\n }\n\n if(CountAnfrage === true) {\n\n this.Vertretungsanfragenanzahl++;\n this.Urlaubsanfragenanzahl++;\n }\n\n if(CountAntworten === true) {\n\n this.Vertretungsantwortenanzahl++;\n }\n }\n }\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetVertretungenliste', this.Debug.Typen.Service);\n }\n }\n\n public GetUrlaubStatuscolor(Zeitspanne: Urlauzeitspannenstruktur): string {\n\n try {\n\n let Color: string = 'none';\n let Freigabe: boolean;\n\n switch (Zeitspanne.Status) {\n\n case this.Urlaubstatusvarianten.Geplant:\n\n Color = this.Urlaubsfaben.Geplant;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Color = this.Urlaubsfaben.Vertreterfreigabe;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterablehnung:\n\n Color = this.Urlaubsfaben.Vertreterablehnung;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreteranfrage:\n\n // Blau für Planung\n\n Color = this.Urlaubsfaben.Vertreteranfrage;\n\n /*\n\n // Lila wenn eine Vertretungsablehnung vorliegt\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreterantwortSended === true && Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung) {\n\n Color = this.Urlaubsfaben.Vertreterablehnung;\n }\n }\n\n // Orange wenn nur Vertretunszusagen vorliegen\n\n Freigabe = true;\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreterantwortSended !== true || (Konversation.VertreterantwortSended === true && Konversation.Status !== this.Urlaubstatusvarianten.Vertreterfreigabe)) Freigabe = false;\n }\n\n if(Freigabe) Color = this.Urlaubsfaben.Vertreterfreigabe;\n\n */\n\n break;\n\n case this.Urlaubstatusvarianten.Genehmigt:\n\n Color = this.Urlaubsfaben.Genehmigt;\n\n break;\n\n case this.Urlaubstatusvarianten.Abgelehnt:\n\n Color = this.Urlaubsfaben.Abgelehnt;\n\n break;\n\n default:\n\n Color = '#00FFFF';\n\n break;\n }\n\n\n return Color;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetUrlaubStatuscolor', this.Debug.Typen.Page);\n }\n }\n\n public GetUrlaubStatuscolorSplit(Zeitspanne: Urlauzeitspannenstruktur, checkanfragesended: boolean): string {\n\n try {\n\n let Color: string = 'none';\n let Anfrage: boolean;\n\n switch (Zeitspanne.Status) {\n\n case this.Urlaubstatusvarianten.Geplant:\n\n Color = this.Urlaubsfaben.Geplant;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Color = this.Urlaubsfaben.Vertreterfreigabe;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterablehnung:\n\n Color = this.Urlaubsfaben.Vertreterablehnung;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreteranfrage:\n\n Anfrage = false;\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if((Konversation.VertreteranfrageSended === true || checkanfragesended === false) && Konversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage) {\n\n Anfrage = true;\n }\n }\n\n if(Anfrage) Color = this.Urlaubsfaben.Vertreteranfrage;\n else Color = this.Urlaubsfaben.Vertreterablehnung\n\n break;\n\n case this.Urlaubstatusvarianten.Genehmigt:\n\n Color = this.Urlaubsfaben.Genehmigt;\n\n break;\n\n case this.Urlaubstatusvarianten.Abgelehnt:\n\n Color = this.Urlaubsfaben.Abgelehnt;\n\n break;\n\n default:\n\n Color = '#00FFFF';\n\n break;\n }\n\n\n return Color;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetUrlaubStatuscolorSplit', this.Debug.Typen.Page);\n }\n }\n\n public GetHomeofficeStatuscolor(status: string): string {\n\n try {\n\n let Color: string = 'none';\n\n switch (status) {\n\n case this.Homeofficestatusvarianten.Geplant:\n\n Color = this.Homeofficefarben.Geplant;\n\n break;\n\n case this.Homeofficestatusvarianten.Freigabeanfrage:\n\n Color = this.Homeofficefarben.Freigabeanfrage;\n\n break;\n\n\n case this.Homeofficestatusvarianten.Genehmigt:\n\n Color = this.Homeofficefarben.Genehmigt;\n\n break;\n\n case this.Homeofficestatusvarianten.Abgelehnt:\n\n Color = this.Homeofficefarben.Abgelehnt;\n\n break;\n\n default:\n\n Color = '#00FFFF';\n\n break;\n }\n\n\n return Color;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetHomeofficeStatuscolor', this.Debug.Typen.Page);\n }\n }\n\n public async UpdateVertreteranfragen() {\n\n try {\n\n let Vertretung: Mitarbeiterstruktur;\n let Heute: Moment = moment();\n let VertreterIDListe: string[] = [];\n let CurrentUrlaubzeitspannen: Urlauzeitspannenstruktur[] = [];\n let UpdatedZeitspannen: Urlauzeitspannenstruktur[] = [];\n let Index: number = 0;\n let Empfaengerliste: Outlookemailadressstruktur[] = [];\n let Freigebender: Mitarbeiterstruktur;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n let Empfaengerlistetext: string = '';\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigebender = lodash.find(this.Pool.Mitarbeiterliste, {_id: FreigeberID});\n\n if(!lodash.isUndefined(Freigebender)) {\n\n Empfaengerliste.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n\n Empfaengerlistetext += Freigebender.Vorname + ' ' + Freigebender.Name;\n if(Index < Standort.Urlaubfreigabepersonen.length - 1) Empfaengerlistetext += ', ';\n Index++;\n }\n }\n\n\n\n for(let Zeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant) {\n\n for (let CurrentVertreterID of Zeitspanne.UrlaubsvertreterIDListe) {\n\n if (lodash.indexOf(VertreterIDListe, CurrentVertreterID) === -1) {\n\n VertreterIDListe.push(CurrentVertreterID);\n }\n }\n }\n }\n\n\n for(let VertreterID of VertreterIDListe) {\n\n CurrentUrlaubzeitspannen = [];\n Vertretung = lodash.find(this.Pool.Mitarbeiterliste, {_id: VertreterID});\n\n\n if(!lodash.isUndefined(Vertretung)) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant && Zeitspanne.UrlaubsvertreterIDListe.indexOf(VertreterID) !== -1) {\n\n CurrentUrlaubzeitspannen.push(Zeitspanne);\n\n // Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreteranfrage;\n\n\n // Zeitspanne.Planungmeldung = Heute.format('DD.MM.YYYY') + ' Vertretungsanfrage wurde an ' + Vertretung.Vorname + ' ' + Vertretung.Name + ' gesendet.';\n }\n }\n\n CurrentUrlaubzeitspannen = await this.SendVertreteranfragen(this.CurrentMitarbeiter, Vertretung, CurrentUrlaubzeitspannen);\n UpdatedZeitspannen = UpdatedZeitspannen.concat(CurrentUrlaubzeitspannen);\n }\n }\n\n for(let Zeitspanne of UpdatedZeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant) {\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreteranfrage;\n }\n }\n\n for(let Zeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Betriebsurlaub === true && Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant &&\n Zeitspanne.FreigabeanfrageSended === false) {\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreterfreigabe;\n Zeitspanne.Planungmeldung = Heute.format('DD.MM.YYYY') + ' Betrieburlaub Freigabe Anfrage wurde an ' + Empfaengerlistetext + ' gesendet.';\n Zeitspanne.Freigabemeldung = 'Anfrage Betriebsurlaub';\n\n await this.SendBetriebsurlaubFreigabeanfrage(this.CurrentMitarbeiter, this.CurrentUrlaub);\n\n UpdatedZeitspannen.push(Zeitspanne);\n }\n }\n\n for(let Zeitspanne of UpdatedZeitspannen) {\n\n Index = lodash.findIndex(this.CurrentUrlaub.Urlaubzeitspannen, {ZeitspannenID: Zeitspanne.ZeitspannenID});\n\n this.CurrentUrlaub.Urlaubzeitspannen[Index] = Zeitspanne;\n }\n\n let Urlaubindex = lodash.findIndex(this.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n this.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.CurrentMitarbeiter);\n\n this.UrlaubStatusChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'UpdateVertreteranfragen', this.Debug.Typen.Service);\n }\n }\n\n public async UpdateHomeofficefreigabeanfragen() {\n\n try {\n\n let Freigeberliste: Mitarbeiterstruktur[];\n let CurrentHomeofficezeitspannen: Homeofficezeitspannenstruktur[] = [];\n let UpdatedHomeofficezeitspannen: Homeofficezeitspannenstruktur[] = [];\n let Index;\n let Standort: Standortestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n // Vertretung = lodash.find(this.Pool.Mitarbeiterliste, {_id: this.CurrentUrlaub.UrlaubsfreigeberID});\n CurrentHomeofficezeitspannen = [];\n Freigeberliste = [];\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n\n for(let MitarbeiterID of Standort.Homeofficefreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeiterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) Freigeberliste.push(Mitarbeiter);\n }\n\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Geplant) {\n\n Zeitspanne.Status = this.Homeofficestatusvarianten.Freigabeanfrage;\n\n UpdatedHomeofficezeitspannen.push(Zeitspanne);\n }\n else {\n\n CurrentHomeofficezeitspannen.push(Zeitspanne);\n }\n }\n\n UpdatedHomeofficezeitspannen = await this.SendHomeofficefreigabeanfrage(this.CurrentMitarbeiter, Freigeberliste, UpdatedHomeofficezeitspannen);\n CurrentHomeofficezeitspannen = CurrentHomeofficezeitspannen.concat(UpdatedHomeofficezeitspannen);\n\n\n for(let Zeitspanne of CurrentHomeofficezeitspannen) {\n\n Index = lodash.findIndex(this.CurrentUrlaub.Homeofficezeitspannen, {ZeitspannenID: Zeitspanne.ZeitspannenID});\n\n this.CurrentUrlaub.Homeofficezeitspannen[Index] = Zeitspanne;\n }\n\n let Urlaubindex = lodash.findIndex(this.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n\n\n this.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.CurrentMitarbeiter);\n\n this.HomeofficeStatusChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'UpdateHomeofficefreigabeanfragen', this.Debug.Typen.Service);\n }\n }\n\n public CheckUrlaubsfreigeberAvailable(Mitarbeiter: Mitarbeiterstruktur): boolean {\n\n try {\n\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n return Standort.Urlaubfreigabepersonen.indexOf(this.CurrentMitarbeiter._id) !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckUrlaubsfreigeberAvailable', this.Debug.Typen.Service);\n }\n }\n\n public CheckHomeofficefreigeberAvailable(Mitarbeiter: Mitarbeiterstruktur): boolean {\n\n try {\n\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n if(this.Pool.Mitarbeiterdaten.Planeradministrator === true) return true;\n else return Standort.Homeofficefreigabepersonen.indexOf(this.Pool.Mitarbeiterdaten._id) !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckHomeofficefreigeberAvailable', this.Debug.Typen.Service);\n }\n }\n\n public CountUrlaubsvertretungen(Mitarbeiter: Mitarbeiterstruktur): number {\n\n try {\n\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n return Standort.Urlaubfreigabepersonen.length; //\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountUrlaubsvertretungen', this.Debug.Typen.Service);\n }\n }\n\n async UpdateVertreterantworten(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n let Gesamtanzahl: number = 1;\n let Heute: Moment = moment().locale('de');\n let Freigebender: Mitarbeiterstruktur;\n let Freigeberlistetext: string = '';\n let Index: number = 0;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let FreigabeReady: boolean;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.CurrentMitarbeiter._id });\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung && Konversation.VertreterantwortSended === false) Gesamtanzahl += 1;\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe && Konversation.VertreterantwortSended === false) Gesamtanzahl += 2;\n }\n }\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigebender = lodash.find(this.Pool.Mitarbeiterliste, {_id: FreigeberID});\n\n if(!lodash.isUndefined(Freigebender)) {\n\n Freigeberlistetext += Freigebender.Vorname + ' ' + Freigebender.Name;\n if(Index < Standort.Urlaubfreigabepersonen.length - 1) Freigeberlistetext += ', ';\n Index++;\n }\n }\n\n debugger;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.CurrentMitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.Status !== this.Urlaubstatusvarianten.Vertreteranfrage && Konversation.VertreterantwortSended === false) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe) {\n\n Zeitspanne.Planungmeldung = this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name + ' hat der Urlausvertretung am ' + Heute.format('DD.MM.YYYY') + ' zugestimmt.';\n Zeitspanne.Planungmeldung += '
Urlaubsfreigabe Anfrage wurde an ' + Freigeberlistetext + ' gesendet.';\n }\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung) {\n\n Konversation.Vertretungmeldung = this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name + ' hat die Vertretung am ' + Heute.format('DD.MM.YYYY') + ' abgelehnt';\n }\n }\n }\n }\n\n Urlaub = await this.SendVertreterzusage(Mitarbeiter, Urlaub);\n Urlaub = await this.SendVertreterabsage(Mitarbeiter, Urlaub);\n\n FreigabeReady = false;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n for(Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreterantwortSended === true && Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe) {\n\n FreigabeReady = true;\n }\n }\n }\n\n if (FreigabeReady) Urlaub = await this.SendFreigabeanfrage(Mitarbeiter, Urlaub);\n\n let Urlaubindex = lodash.findIndex(Mitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n Mitarbeiter.Urlaubsliste[Urlaubindex] = Urlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(Mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'UpdateVertreterantworten', this.Debug.Typen.Service);\n }\n }\n\n private SendVertreteranfragen(Mitarbeiter: Mitarbeiterstruktur, Vertretung: Mitarbeiterstruktur, Urlaubzeitspannen: Urlauzeitspannenstruktur[]): Promise {\n\n try {\n\n let Betreff: string = 'Urlaubsvertretungsanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendMail: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let Zeitspannenanzahl: number = 0;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Vertretung.Vorname + \",

bitte prüfen, ob du für folgende Zeiträume:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: Vertretung._id});\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant && Konversation.VertreteranfrageSended === false) {\n\n SendMail = true;\n Konversation.Vertretunganfragezeitstempel = Heute.valueOf();\n Konversation.VertreteranfrageSended = true;\n Konversation.Status = this.Urlaubstatusvarianten.Vertreteranfrage;\n Konversation.Vertretungmeldung = 'Vertretungsanfrage wurde am ' + Heute.format('DD.MM.YY') + ' an ' + Vertretung.Vorname + ' ' + Vertretung.Name + ' gesendet.';\n\n Zeitspanne.Planungmeldung = Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' hat dir am ' + Heute.format('DD.MM.YY') + ' eine Vertretungsanfrage gesendet.';\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n Zeitspannenanzahl++;\n }\n }\n\n console.log('Vertreteranfrage an: ' + Vertretung.Name + ' | ' + Zeitspannenanzahl + ' Stück');\n\n Nachricht += '
VonBis
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '
';\n\n Nachricht += '
Die Urlaubsvertretung für mich übernehmen kannst.

';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Mitarbeiter, true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Vertretung.Email,\n name: Vertretung.Vorname + ' ' + Vertretung.Name\n }\n });\n\n if(SendMail) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Vertretungsanfrage wurde an ' + Vertretung.Vorname + ' ' + Vertretung.Name + ' gesendet.');\n\n resolve(Urlaubzeitspannen);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n } else {\n\n console.log('Es wurde keine Vertretungsanfrage gesendet.');\n\n resolve(Urlaubzeitspannen);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendVertreteranfragen', this.Debug.Typen.Service);\n }\n }\n\n public SendVertreterreminder(Vertretung: Mitarbeiterstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Vertretungsanfragen in der Urlaubsplaner App';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Vertretung.Vorname + \",

es gibt neue Vertretungsanfragen für dich.
\";\n Nachricht += \"Bitte prüfe die Anfragen in der App.\";\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(this.Pool.Mitarbeiterdaten, true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Vertretung.Email,\n name: Vertretung.Vorname + ' ' + Vertretung.Name\n }\n });\n\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Vertretungserinnerung wurde an ' + Vertretung.Vorname + ' ' + Vertretung.Name + ' gesendet.');\n\n resolve(true);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendVertreterreminder', this.Debug.Typen.Service);\n }\n }\n\n public SendFreigabereminder(Freigeber: Mitarbeiterstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Urlaubsfreigaben Anfragen in der Urlaubsplaner App';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Freigeber.Vorname + \",

es gibt neue Anfragen für Urlaubsfreigaben.
\";\n Nachricht += \"Bitte prüfe die Anfragen in der App.\";\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(this.Pool.Mitarbeiterdaten, true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigeber.Email,\n name: Freigeber.Vorname + ' ' + Freigeber.Name\n }\n });\n\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Freigebererinnerung wurde an ' + Freigeber.Vorname + ' ' + Freigeber.Name + ' gesendet.');\n\n resolve(true);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendFreigabereminder', this.Debug.Typen.Service);\n }\n }\n\n private SendHomeofficefreigabeanfrage(Mitarbeiter: Mitarbeiterstruktur, Freigeberliste: Mitarbeiterstruktur[], Urlaubzeitspannen: Homeofficezeitspannenstruktur[]): Promise {\n\n try {\n\n let Betreff: string = 'Homeofficefreigabeanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n let Nachricht: string = '';\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendMail: boolean = false;\n\n return new Promise((resolve, reject) => {\n\n for(let Freigabe of Freigeberliste) {\n\n Nachricht += \"Hallo \" + Freigabe.Vorname + \",
\";\n }\n\n Nachricht += '
bitte folgende Homeofficetage freigeben:

';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '
';\n\n\n for(let Zeitspanne of Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Freigabeanfrage && Zeitspanne.FreigabeanfrageSended === false) {\n\n SendMail = true;\n Zeitspanne.FreigabeanfrageSended = true;\n\n Nachricht += '';\n Nachricht += Zeitspanne.Startstring + ', ';\n Nachricht += '';\n }\n }\n\n Nachricht += '
';\n\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Mitarbeiter, true);\n\n for(let Freigeber of Freigeberliste) {\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigeber.Email,\n name: Freigeber.Vorname + ' ' + Freigeber.Name\n }\n });\n }\n\n if(SendMail) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n for(let Freigeber of Freigeberliste) {\n\n console.log('Homeofficefreigabeanfrage wurde an ' + Freigeber.Vorname + ' ' + Freigeber.Name + ' gesendet.');\n }\n\n resolve(Urlaubzeitspannen);\n\n }).catch((error: any) => {\n\n\n reject(error);\n });\n } else {\n\n console.log('Es wurden keine Homeofficefreigabeanfragen gesendet.');\n\n resolve(Urlaubzeitspannen);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendHomeofficefreigabeanfrage', this.Debug.Typen.Service);\n }\n }\n\n public SendVertreterzusage(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Vertretungszusage von ' + this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name;\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \",

nachfolgende Urlaubsvertretungen kann ich gerne wahrnehmen:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.CurrentMitarbeiter._id });\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe &&\n Konversation.VertreterantwortSended === false) {\n\n SendAntwort = true;\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreterfreigabe;\n\n Konversation.VertreterantwortSended = true;\n Konversation.Vertretungmeldung = this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name + ' hat der Vertretung am ' + Heute.format('DD.MM.YY') + ' zugestimmt.';\n Konversation.Vertretungantwortzeitstempel = Heute.valueOf();\n\n // Alle anderen Konversationen herausfiltern\n\n Zeitspanne.Vertretungskonversationliste = [Konversation];\n Zeitspanne.UrlaubsvertreterIDListe = [Konversation.VertreterID];\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n }\n\n Nachricht += '
VonBisVertretung
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + 'Zusage
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(this.CurrentMitarbeiter,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Mitarbeiter.Email,\n name: Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Vertretungszusage wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Vertretungszusage gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendVertreterzusage', this.Debug.Typen.Service);\n }\n }\n\n async SendHomeofficeFreigabeantworten(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n let Freigebender: Mitarbeiterstruktur = lodash.cloneDeep(this.Pool.Mitarbeiterdaten); // lodash.find(this.Pool.Mitarbeiterliste, {_id: Urlaub.HomeofficefreigeberID});\n\n Urlaub = await this.SendMitarbeiterHomeofficeFreigabeablehnung(Mitarbeiter, Freigebender, Urlaub);\n Urlaub = await this.SendMitarbeiterHomeofficeFreigabezusage(Mitarbeiter, Freigebender, Urlaub);\n\n let Urlaubindex = lodash.findIndex(Mitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n Mitarbeiter.Urlaubsliste[Urlaubindex] = Urlaub;\n\n if(Mitarbeiter._id === this.CurrentMitarbeiter._id) this.CurrentMitarbeiter = Mitarbeiter;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(Mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendHomeofficeFreigabeantworten', this.Debug.Typen.Service);\n }\n\n }\n\n async UpdateFreigabenantworten(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n let Gesamtanzahl: number = 1;\n let Heute: Moment = moment().locale('de');\n let Freigebender: Mitarbeiterstruktur;\n\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt && Zeitspanne.FreigabeantwortSended === false) Gesamtanzahl += 1;\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt && Zeitspanne.FreigabeantwortSended === false) Gesamtanzahl += 2;\n }\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt || Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt) {\n\n Freigebender = lodash.cloneDeep(this.Pool.Mitarbeiterdaten); // lodash.find(this.Pool.Mitarbeiterliste, { _id: Urlaub.UrlaubsfreigeberID });\n // Vertretung = lodash.find(this.Pool.Mitarbeiterliste, { _id: Zeitspanne.UrlaubsvertreterID });\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt) {\n\n Zeitspanne.Planungmeldung = Heute.format('DD.MM.YYYY') + ' Der Urlaub wurde durch ' + Freigebender.Vorname + ' ' + Freigebender.Name + ' genehmigt.';\n Zeitspanne.Freigabemeldung = Heute.format('DD.MM.YYYY') + ' Urlaubsfreigabe wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.';\n Zeitspanne.Freigabemeldung += '
' + Heute.format('DD.MM.YYYY') + ' Urlaubsfreigabe wurde an das Office gesendet.';\n }\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt) {\n\n\n Zeitspanne.Planungmeldung = Heute.format('DD.MM.YYYY') + ' Der Urlaub wurde durch ' + Freigebender.Vorname + ' ' + Freigebender.Name + ' abgelehnt.';\n Zeitspanne.Freigabemeldung = Heute.format('DD.MM.YYYY') + ' Urlaubsablehnung wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.';\n }\n }\n }\n\n Urlaub = await this.SendMitarbeiterFreigabeablehnung(Mitarbeiter, Freigebender, Urlaub);\n Urlaub = await this.SendMitarbeiterFreigabezusage(Mitarbeiter, Freigebender, Urlaub);\n Urlaub = await this.SendOfficeFreigabezusage(Mitarbeiter, Freigebender, Urlaub);\n\n let Urlaubindex = lodash.findIndex(Mitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n Mitarbeiter.Urlaubsliste[Urlaubindex] = Urlaub;\n\n this.CurrentUrlaub = Urlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(Mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'UpdateFreigabenantworten', this.Debug.Typen.Service);\n }\n }\n\n public SendVertreterabsage(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Vertretungsabsage von ' + this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name;\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let NextKonversation: Urlaubsvertretungkonversationstruktur;\n let NextMitarbeiter: Mitarbeiterstruktur;\n let Color: string;\n let Status: string;\n let GoOn: boolean;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \",

nachfolgende Urlaubsvertretungen kann ich leider nicht wahrnehmen:

\";\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.CurrentMitarbeiter._id});\n\n debugger;\n\n if(!lodash.isUndefined(Konversation)) {\n\n // Zeitspanne.UrlaubsvertreterID === Vertretung._id &&\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung &&\n Konversation.VertreterantwortSended === false) {\n\n SendAntwort = true;\n\n Konversation.VertreterantwortSended = true;\n Konversation.Vertretungmeldung = this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name + ' hat die Vertretung am ' + Heute.format('DD.MM.YY') + ' abgelehnt.';\n Konversation.Vertretungantwortzeitstempel = Heute.valueOf();\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n\n GoOn = false;\n\n for(NextKonversation of Zeitspanne.Vertretungskonversationliste) {\n\n NextMitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: NextKonversation.VertreterID });\n\n Color = NextKonversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage ? 'green' : 'red';\n Status = NextKonversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage ? 'offen' : 'abgelehnt';\n\n if(NextKonversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage) {\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreteranfrage;\n }\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n GoOn = false;\n\n debugger;\n\n /*\n\n for(Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage) GoOn = true;\n }\n\n if(GoOn === false) {\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreterablehnung;\n }\n\n */\n }\n\n Nachricht += '
VonBis
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '
VertretungStatus
' + NextMitarbeiter.Vorname + ' ' + NextMitarbeiter.Name + '' + Status + '
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(this.CurrentMitarbeiter,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Mitarbeiter.Email,\n name: Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name\n }\n });\n\n GoOn = false;\n\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Vertretungsabsage wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Vertretungsabsage gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendVertreterabsage', this.Debug.Typen.Service);\n }\n }\n\n public SendFreigabeanfrage(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Anfrage Urlaubsfreigabe von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n let Nachricht: string;\n let Empfaengerliste: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Vertreter: Mitarbeiterstruktur;\n let Heute: Moment = moment().locale('de');\n let Freigebender: Mitarbeiterstruktur;\n let Index: number;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigebender = lodash.find(this.Pool.Mitarbeiterliste, {_id: FreigeberID});\n\n if(!lodash.isUndefined(Freigebender)) {\n\n Empfaengerliste.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n }\n }\n\n\n return new Promise((resolve, reject) => {\n\n Nachricht = '';\n\n for(let Eintrag of Empfaengerliste) {\n\n Nachricht += \"Hallo \" + Eintrag.emailAddress.name + \",
\";\n }\n\n Nachricht += \"
\";\n Nachricht += \"es liegen neue Anfragen zur Urlaufsfreigabe von \";\n Nachricht += Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \" vor:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n for(Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n Konversation.Vertretungmeldung = '';\n }\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, { Status: this.Urlaubstatusvarianten.Vertreterfreigabe });\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Zeitspanne.FreigabeanfrageSended === false) {\n\n SendAntwort = true;\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreterfreigabe;\n Zeitspanne.FreigabeanfrageSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n }\n\n Nachricht += '
VonBisVertretung
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '';\n\n Konversation.Vertretungmeldung = 'Urlaubsfreigabe Anfrage wurde am ' + Heute.format('DD.MM.YY') + ' an ';\n\n Index = 0;\n\n for(let Empfaenger of Empfaengerliste) {\n\n Konversation.Vertretungmeldung += Empfaenger.emailAddress.name;\n\n if(Index < Empfaengerliste.length - 1) Konversation.Vertretungmeldung += ', ';\n Index++;\n }\n\n Konversation.Vertretungmeldung += ' gesendet.';\n\n Vertreter = lodash.find(this.Pool.Mitarbeiterliste, {_id: Konversation.VertreterID});\n if(!lodash.isUndefined(Vertreter)) {\n\n Nachricht += Vertreter.Vorname + ' ' + Vertreter.Name + '
';\n }\n\n Nachricht += '
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Mitarbeiter,true);\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaengerliste, Betreff, Nachricht).then(() => {\n\n console.log('Freigabe Anfrage wurde versendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Freigabe Anfrage versendet.');\n\n resolve(Urlaub);\n }\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendFreigabeanfrage', this.Debug.Typen.Service);\n }\n }\n\n public SendBetriebsurlaubFreigabeanfrage(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Anfrage Betriebsurlaubfreigabe von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n let Nachricht: string;\n let Empfaengerliste: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Freigebender: Mitarbeiterstruktur;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigebender = lodash.find(this.Pool.Mitarbeiterliste, {_id: FreigeberID});\n\n if(!lodash.isUndefined(Freigebender)) {\n\n Empfaengerliste.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n }\n }\n\n return new Promise((resolve, reject) => {\n\n Nachricht = '';\n\n for(let Eintrag of Empfaengerliste) {\n\n Nachricht += \"Hallo \" + Eintrag.emailAddress.name + \",
\";\n }\n\n Nachricht += \"
\";\n Nachricht += \"es liegen neue Anfragen zur Betriebsurlaubfreigabe von \";\n Nachricht += Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \" vor:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterfreigabe && Zeitspanne.FreigabeanfrageSended === false) {\n\n SendAntwort = true;\n\n // Zeitspanne.VertreteranfrageSended = true;\n // Zeitspanne.VertreterantwortSended = true;\n Zeitspanne.FreigabeanfrageSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
VonBis
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Mitarbeiter,true);\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaengerliste, Betreff, Nachricht).then(() => {\n\n console.log('Urlaubsfreigabe Anfrage wurde versendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Urlaubsfreigabe Anfrage versendet.');\n\n resolve(Urlaub);\n }\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendBetriebsurlaubFreigabeanfrage', this.Debug.Typen.Service);\n }\n }\n\n public SendMitarbeiterFreigabezusage(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Urlaubsfreigabe';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Vertretung: Mitarbeiterstruktur;\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \",

anbei meine Urlaubsfreigabe für folgende Zeiträume:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt && Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.FreigabeantwortSended = true;\n Zeitspanne.UrlaubsfreigeberID = Freigebender._id;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {Status: this.Urlaubstatusvarianten.Vertreterfreigabe});\n\n if (!lodash.isUndefined(Konversation)) {\n\n if (!Zeitspanne.Betriebsurlaub) Vertretung = this.DBMitarbeiter.GetMitarbeiterByID(Konversation.VertreterID);\n else Vertretung = null;\n }\n else Vertretung = null;\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n if(!lodash.isUndefined(Vertretung) && Vertretung !== null) {\n\n Nachricht += '';\n }\n else {\n\n if(!Zeitspanne.Betriebsurlaub) Nachricht += '';\n else Nachricht += '';\n }\n\n Nachricht += '';\n }\n }\n\n Nachricht += '
VonBisVertretungStatus
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '' + Vertretung.Vorname + ' ' + Vertretung.Name + 'unbekanntBUFreigabe';\n Nachricht += '
';\n Nachricht += '

';\n Nachricht += 'Deine Urlaubsfreigabe wurde zur Eintragung in \"untermStrich\" dem Büro mitgeteilt.';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Mitarbeiter.Email,\n name: Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Urlaubsfreigabe wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Urlaubsfreigabe gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendMitarbeiterFreigabezusage', this.Debug.Typen.Service);\n }\n }\n\n public SendOfficeFreigabezusage(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Urlaubsfreigabe und EIntragung in untermStrich';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Vertretung: Mitarbeiterstruktur;\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo Office,

anbei eine Urlaubsfreigabe für \" + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + \" mit folgenden Zeiträumen:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt && Zeitspanne.FreigabeantwortOfficeSended === false) {\n\n Zeitspanne.FreigabeantwortOfficeSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {Status: this.Urlaubstatusvarianten.Vertreterfreigabe});\n\n if (!lodash.isUndefined(Konversation)) {\n\n if (!Zeitspanne.Betriebsurlaub) Vertretung = this.DBMitarbeiter.GetMitarbeiterByID(Konversation.VertreterID);\n else Vertretung = null;\n }\n else Vertretung = null;\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n if(!lodash.isUndefined(Vertretung) && Vertretung !== null) {\n\n Nachricht += '';\n }\n else {\n\n if(!Zeitspanne.Betriebsurlaub) Nachricht += '';\n else Nachricht += '';\n }\n\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
VonBisVertretungStatus
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '' + Vertretung.Vorname + ' ' + Vertretung.Name + 'unbekanntBUFreigabe
';\n Nachricht += '

';\n Nachricht += 'Bitte Urlaub in untermStrich eintragen.';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: this.Officeemailadress,\n name: 'Office'\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Urlaubsfreigabe wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Urlaubsfreigabe gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendOfficeFreigabezusage', this.Debug.Typen.Service);\n }\n }\n\n public SendMitarbeiterFreigabeablehnung(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Ablehnung deiner Urlaubsanfrage';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Vertretung: Mitarbeiterstruktur;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \",

leider muss ich deine Urlaubsanfrage für nachfolgende Zeiträume ablehnen:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt && Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.FreigabeantwortSended = true;\n Zeitspanne.UrlaubsfreigeberID = Freigebender._id;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n Vertretung = this.DBMitarbeiter.GetMitarbeiterByID(Zeitspanne.UrlaubsvertreterID);\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n if(!lodash.isUndefined(Vertretung)) {\n\n Nachricht += '';\n }\n else {\n\n if(!Zeitspanne.Betriebsurlaub) Nachricht += '';\n else Nachricht += '';\n }\n\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
VonBisVertretungStatus
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '' + Vertretung.Vorname + ' ' + Vertretung.Name + 'unbekanntBUAbgelehnt
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Urlaubsablehung wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Urlaubsablehnung gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendMitarbeiterFreigabeablehnung', this.Debug.Typen.Service);\n }\n }\n\n public SendMitarbeiterHomeofficeFreigabeablehnung(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Ablehnung deiner Homeofficeabfrage';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \",

leider muss ich deine Homeofficeanfrage für nachfolgende Tage ablehnen:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Abgelehnt && Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.FreigabeantwortSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
DatumStatus
' + Zeitspanne.Startstring + 'Abgelehnt
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Homeofficeablehnung wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Homeofficeablehnung gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendMitarbeiterHomeofficeFreigabeablehnung', this.Debug.Typen.Service);\n }\n }\n\n public SendMitarbeiterHomeofficeFreigabezusage(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Genehmigung deiner Homeofficeanfrage';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \",

nachfolgende Homeofficetage sind genehmigt:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Genehmigt && Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.FreigabeantwortSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
DatumStatus
' + Zeitspanne.Startstring + 'Genehmigt
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Homeofficegenehmigung wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Homeofficegenehmigung gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendMitarbeiterHomeofficeFreigabezusage', this.Debug.Typen.Service);\n }\n }\n\n public ReadRegionen(landcode: string) {\n\n try {\n\n return new Promise((resolve, reject)=> {\n\n let Daten = {\n\n Landcode: landcode\n };\n\n let RegionenObserver = this.http.put(this.ServerReadRegionenUrl, Daten);\n\n RegionenObserver.subscribe({\n\n next: (data: any) => {\n\n this.Regionenliste = data.Regionenliste;\n },\n complete: () => {\n\n this.Regionenliste = lodash.filter(this.Regionenliste, (region: Regionenstruktur) => {\n\n return region.isoCode !== '';\n });\n\n for(let Region of this.Regionenliste) {\n\n Region.Name = Region.name[0].text;\n }\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n this.Regionenliste = [];\n\n console.log('Read Regionen ist fehlgeschlagen.');\n\n resolve(true);\n\n // reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'ReadRegionen', this.Debug.Typen.Service);\n }\n }\n\n public ReadFeiertage(landcode: string): Promise {\n\n try {\n\n let Observer: Observable;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n\n if(lodash.isUndefined(Standort)) Standort = null;\n\n let Daten = {\n\n Standort: Standort,\n Jahr: this.CurrentJahr,\n Bundeslandkuerzel: this.Bundeslandkuerzel,\n Landcode: landcode\n };\n\n return new Promise((resolve, reject)=> {\n\n this.Feiertageliste[landcode] = [];\n\n Observer = this.http.put(this.ServerReadfeiertageUrl, Daten);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n this.Feiertageliste[landcode] = ne.Feiertageliste;\n },\n complete: () => {\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n this.Feiertageliste[landcode] = [];\n\n console.log('Read Feiertage ist fehlgeschlagen.');\n\n resolve(true);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'ReadFeiertage', this.Debug.Typen.Service);\n }\n }\n\n public ReadFerien(landcode: string): Promise {\n\n try {\n\n let FerienObserver: Observable;\n let Daten = {\n\n Jahr: this.CurrentJahr,\n Bundeslandkuerzel: this.Bundeslandkuerzel,\n Landcode: landcode\n };\n\n this.Ferienliste[landcode] = [];\n\n return new Promise((resolve, reject)=> {\n\n FerienObserver = this.http.put(this.ServerReadFerienUrl, Daten);\n\n FerienObserver.subscribe({\n\n next: (data: any) => {\n\n this.Ferienliste[landcode] = data.Ferienliste;\n },\n complete: () => {\n\n resolve(true);\n },\n\n error: (error: HttpErrorResponse) => {\n\n this.Ferienliste[landcode] = [];\n\n console.log('Read Ferien ist fehlgeschlagen.');\n\n\n resolve(true);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'ReadFerien', this.Debug.Typen.Service);\n }\n }\n\n public CountAnfragenanzahlen() {\n\n try {\n\n this.Urlaubsanfragenanzahl = 0;\n this.Antwortenanzahl = 0;\n this.Vertretungsanfragenanzahl = 0;\n this.Vertretungsantwortenanzahl = 0;\n this.Freigabenanfragenanzahl = 0;\n this.Freigabenantwortenanzahl = 0;\n this.Homeofficantwortenanzahl = 0;\n this.Homeofficeanfragenanzahl = 0;\n\n if(this.CurrentMitarbeiter !== null) {\n\n this.GetVertretungenliste();\n this.GetFreigabenliste();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountAnfragenanzahlen', this.Debug.Typen.Service);\n\n return 0;\n }\n }\n\n public Init() {\n\n try {\n\n let Standort: Standortestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n let Urlaub: Urlaubsstruktur;\n let Gesamturlaub: number;\n let Urlaubstage: number;\n\n this.Urlaubsanfragenanzahl = 0;\n this.Homeofficeanfragenanzahl = 0;\n this.Vertretungsanfragenanzahl = 0;\n this.Vertretungsantwortenanzahl = 0;\n this.Freigabenanfragenanzahl = 0;\n this.Freigabenantwortenanzahl = 0;\n this.Kalenderwochenhoehenliste = [];\n\n // Land einstellen\n\n if(this.CurrentMitarbeiter === null) {\n\n this.CurrentMitarbeiter = lodash.cloneDeep(this.Pool.Mitarbeiterdaten);\n }\n else {\n\n this.CurrentMitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: this.CurrentMitarbeiter._id});\n }\n\n if(this.CurrentMitarbeiter !== null) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n\n if (lodash.isUndefined(Standort)) this.Laendercode = 'DE';\n else {\n\n this.Laendercode = Standort.Land;\n }\n }\n\n this.ShowFerientage_DE = this.Pool.Mitarbeitersettings.UrlaubShowFerien_DE;\n this.ShowFeiertage_DE = this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_DE;\n this.Ferienfarbe_DE = this.Urlaubsfaben.Ferien_DE;\n this.Feiertagefarbe_DE = this.Urlaubsfaben.Feiertage_DE;\n\n this.ShowFerientage_BG = this.Pool.Mitarbeitersettings.UrlaubShowFerien_BG;\n this.ShowFeiertage_BG = this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_BG;\n this.Ferienfarbe_BG = this.Urlaubsfaben.Ferien_BG;\n this.Feiertagefarbe_BG = this.Urlaubsfaben.Feiertage_BG;\n\n // Urlaub initialisieren\n\n if(this.CurrentMitarbeiter !== null) {\n\n this.CurrentUrlaub = lodash.find(this.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n if(lodash.isUndefined(this.CurrentUrlaub)) {\n\n this.CurrentUrlaub = this.GetEmptyUrlaub(this.CurrentJahr);\n this.CurrentUrlaubzeitspanne = null;\n\n this.CurrentMitarbeiter.Urlaubsliste.push(this.CurrentUrlaub);\n }\n else {\n\n this.CurrentUrlaubzeitspanne = null;\n }\n\n if(lodash.isUndefined(this.CurrentUrlaub.Projektbeteiligteliste)) this.CurrentUrlaub.Projektbeteiligteliste = [];\n if(lodash.isUndefined(this.CurrentUrlaub.Ferienblockerliste)) this.CurrentUrlaub.Ferienblockerliste = [];\n if(lodash.isUndefined(this.CurrentUrlaub.Feiertageblockerliste)) this.CurrentUrlaub.Feiertageblockerliste = [];\n // if(lodash.isUndefined(this.CurrentUrlaub.UrlaubsfreigeberID)) this.CurrentUrlaub.UrlaubsfreigeberID = null;\n // if(lodash.isUndefined(this.CurrentUrlaub.HomeofficefreigeberID)) this.CurrentUrlaub.HomeofficefreigeberID = null;\n }\n\n for(let Urlaubzeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n Urlaubzeitspanne = this.InitUrlaubzeitspanne(Urlaubzeitspanne);\n }\n\n for(let Homeofficezeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n Homeofficezeitspanne = this.InitHomeofficezeitspanne(Homeofficezeitspanne);\n\n }\n\n // Fremde Urlaube zur Einsicht vorbereiten\n\n this.UrlaublisteExtern = [];\n\n // Mitarbeiter aus Projektbeteiligtenliste einfügen\n\n for(let Eintrag of this.CurrentUrlaub.Projektbeteiligteliste) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: Eintrag.MitarbeiterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) {\n\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n if(!lodash.isUndefined(Urlaub)) {\n\n Urlaub = lodash.cloneDeep(Urlaub);\n\n Urlaub.MitarbeiterIDExtern = Mitarbeiter._id;\n Urlaub.NameExtern = Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n Urlaub.NameKuerzel = Mitarbeiter.Kuerzel;\n Urlaub.Urlaubzeitspannen = lodash.filter(Urlaub.Urlaubzeitspannen, (spanne: Urlauzeitspannenstruktur) => {\n\n return spanne.Status !== this.Urlaubstatusvarianten.Abgelehnt;\n });\n\n }\n else {\n\n Urlaub = this.GetEmptyUrlaub(this.CurrentJahr);\n\n Urlaub.MitarbeiterIDExtern = Mitarbeiter._id;\n Urlaub.NameExtern = Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n Urlaub.NameKuerzel = Mitarbeiter.Kuerzel;\n }\n\n Gesamturlaub = 0;\n Gesamturlaub += Mitarbeiter.Urlaub;\n Gesamturlaub += Mitarbeiter.Resturlaub;\n Urlaubstage = 0;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status !== this.Urlaubstatusvarianten.Abgelehnt) Urlaubstage += Zeitspanne.Tageanzahl;\n }\n\n if(this.CurrentMitarbeiter !== null && this.CurrentMitarbeiter.Urlaubsfreigaben === true) Urlaub.Text = '[' + Urlaubstage + ' von ' + Gesamturlaub + ']';\n else Urlaub.Text = '[' + Urlaubstage + ']';\n\n this.UrlaublisteExtern.push(Urlaub);\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'Init', this.Debug.Typen.Service);\n }\n }\n\n\n\n private InitHomeofficezeitspanne(Homeoffizezeitspanne: Homeofficezeitspannenstruktur): Homeofficezeitspannenstruktur {\n\n try {\n\n if(lodash.isUndefined(Homeoffizezeitspanne.Checked)) Homeoffizezeitspanne.Checked = false;\n\n return Homeoffizezeitspanne;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'InitHomeofficezeitspanne', this.Debug.Typen.Service);\n }\n }\n\n\n\n private InitUrlaubzeitspanne(Zeitspanne: Urlauzeitspannenstruktur): Urlauzeitspannenstruktur {\n\n try {\n\n if(lodash.isUndefined(Zeitspanne.UrlaubsvertreterID) || Zeitspanne.UrlaubsvertreterID === '') Zeitspanne.UrlaubsvertreterID = null;\n if(lodash.isUndefined(Zeitspanne.UrlaubsfreigeberID) || Zeitspanne.UrlaubsfreigeberID === '') Zeitspanne.UrlaubsfreigeberID = null;\n\n if(lodash.isUndefined(Zeitspanne.Planungmeldung)) Zeitspanne.Planungmeldung = '';\n if(lodash.isUndefined(Zeitspanne.Freigabemeldung)) Zeitspanne.Freigabemeldung = '';\n\n if(lodash.isUndefined(Zeitspanne.FreigabeanfrageSended)) Zeitspanne.FreigabeanfrageSended = false;\n if(lodash.isUndefined(Zeitspanne.FreigabeantwortSended)) Zeitspanne.FreigabeantwortSended = false;\n if(lodash.isUndefined(Zeitspanne.FreigabeantwortOfficeSended)) Zeitspanne.FreigabeantwortOfficeSended = false;\n\n if(lodash.isUndefined(Zeitspanne.Freigabeantwortzeitstempel)) Zeitspanne.Freigabeantwortzeitstempel = null;\n if(lodash.isUndefined(Zeitspanne.FreigabeantwortOfficezeitstempel)) Zeitspanne.FreigabeantwortOfficezeitstempel = null;\n if(lodash.isUndefined(Zeitspanne.Checked)) Zeitspanne.Checked = false;\n if(lodash.isUndefined(Zeitspanne.Halbertag)) Zeitspanne.Halbertag = false;\n if(lodash.isUndefined(Zeitspanne.Betriebsurlaub)) Zeitspanne.Betriebsurlaub = false;\n\n if(lodash.isUndefined(Zeitspanne.UrlaubsvertreterIDListe)) {\n\n if(!lodash.isUndefined(Zeitspanne.UrlaubsvertreterID) && Zeitspanne.UrlaubsvertreterID !== null) {\n\n Zeitspanne.UrlaubsvertreterIDListe = [Zeitspanne.UrlaubsvertreterID];\n }\n else {\n\n Zeitspanne.UrlaubsvertreterIDListe = [];\n }\n }\n\n if(lodash.isUndefined(Zeitspanne.Vertretungskonversationliste)) Zeitspanne.Vertretungskonversationliste = [];\n\n this.InitVertreterkonversationen(Zeitspanne, false);\n\n\n /*\n Was soll das hier unten ?\n\n Zeitspanne.Vertretungskonversationliste = lodash.filter(Zeitspanne.Vertretungskonversationliste, (Eintrag: Urlaubsvertretungkonversationstruktur) => {\n\n return Zeitspanne.UrlaubsvertreterIDListe.indexOf(Eintrag.VertreterID) !== -1;\n });\n\n */\n\n if(Zeitspanne.Status === 'Beantragt') Zeitspanne.Status = this.Urlaubstatusvarianten.Geplant;\n\n\n return Zeitspanne;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'InitUrlaubzeitspanne', this.Debug.Typen.Service);\n }\n }\n\n public InitVertreterkonversationen(Zeitspanne: Urlauzeitspannenstruktur, Reset: boolean) {\n\n try {\n\n let Index: number;\n\n\n for(let MitarbeiterID of Zeitspanne.UrlaubsvertreterIDListe) {\n\n Index = lodash.findIndex(Zeitspanne.Vertretungskonversationliste, {VertreterID: MitarbeiterID});\n\n if(Index === -1) {\n\n Zeitspanne.Vertretungskonversationliste.push({\n VertreterID: MitarbeiterID,\n Status: this.Const.NONE,\n VertreteranfrageSended: false,\n VertreterantwortSended: false,\n Vertretunganfragezeitstempel: 0,\n Vertretungantwortzeitstempel: 0,\n Vertretungmeldung: \"\"\n });\n }\n else {\n\n\n if(Reset === true && Zeitspanne.Vertretungskonversationliste[Index].Status !== this.Urlaubstatusvarianten.Vertreterfreigabe) {\n\n Zeitspanne.Vertretungskonversationliste[Index] = {\n\n VertreterID: MitarbeiterID,\n Status: this.Const.NONE,\n VertreteranfrageSended: false,\n VertreterantwortSended: false,\n Vertretunganfragezeitstempel: 0,\n Vertretungantwortzeitstempel: 0,\n Vertretungmeldung: \"\"\n };\n }\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'InitVertreterkonversationen', this.Debug.Typen.Service);\n }\n }\n\n public SetPlanungsmonate() {\n\n try {\n\n if(this.CurrentMonatindex === 0) {\n\n this.FirstMonatIndex = 0;\n this.CurrentMonatindex = 1;\n this.LastMonatIndex = 2;\n }\n else if(this.CurrentMonatindex === 11) {\n\n this.FirstMonatIndex = 9;\n this.CurrentMonatindex = 10;\n this.LastMonatIndex = 11;\n }\n else {\n\n this.FirstMonatIndex = this.CurrentMonatindex - 1;\n this.LastMonatIndex = this.CurrentMonatindex + 1;\n }\n\n\n // this.PlanungsmonateChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SetPlanungsmonate', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyUrlaub(jahr): Urlaubsstruktur {\n\n try {\n\n let Urlaub: Urlaubsstruktur = {\n Jahr: jahr,\n Urlaubzeitspannen: [],\n Homeofficezeitspannen: [],\n // UrlaubsfreigeberID: null,\n // HomeofficefreigeberID: null,\n Projektbeteiligteliste: [],\n Ferienblockerliste: [],\n Feiertageblockerliste: []\n };\n\n if(this.CurrentMitarbeiter !== null && !lodash.isUndefined(this.CurrentMitarbeiter.Urlaubsliste[0])) {\n\n Urlaub.Projektbeteiligteliste = this.CurrentMitarbeiter.Urlaubsliste[0].Projektbeteiligteliste;\n Urlaub.Ferienblockerliste = this.CurrentMitarbeiter.Urlaubsliste[0].Ferienblockerliste;\n Urlaub.Feiertageblockerliste = this.CurrentMitarbeiter.Urlaubsliste[0].Feiertageblockerliste;\n }\n\n return Urlaub;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Urlaub', 'GetEmptyUrlaub', this.Debug.Typen.Service);\n }\n }\n\n CheckIsFerientag(Tag: Kalendertagestruktur, landcode: string): boolean {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Starttag: Moment;\n let Endetag: Moment;\n let IsFerientag: boolean = false;\n\n if(!lodash.isUndefined(this.Ferienliste[landcode])) {\n\n for(let Eintrag of this.Ferienliste[landcode]) {\n\n Starttag = moment(Eintrag.Anfangstempel);\n Endetag = moment(Eintrag.Endestempel);\n\n if(CurrentTag.isSameOrAfter(Starttag, 'day') && CurrentTag.isSameOrBefore(Endetag, 'day')) {\n\n IsFerientag = true;\n\n break;\n }\n }\n }\n\n return IsFerientag;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckIsFerientag', this.Debug.Typen.Service);\n }\n }\n\n public CheckIsUrlaubstag(Mitarbeiter: Mitarbeiterstruktur, Tag: Kalendertagestruktur): Urlauzeitspannenstruktur {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Starttag: Moment;\n let Endetag: Moment;\n let IsUrlaubstag: boolean = false;\n let Urlaub: Urlaubsstruktur;\n let Index: number = lodash.findIndex(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n let Merker: Urlauzeitspannenstruktur;\n\n if(Index !== -1) {\n\n Urlaub = Mitarbeiter.Urlaubsliste[Index];\n\n for(let Eintrag of Urlaub.Urlaubzeitspannen) {\n\n Starttag = moment(Eintrag.Startstempel);\n Endetag = moment(Eintrag.Endestempel);\n\n if(CurrentTag.isSameOrAfter(Starttag, 'day') && CurrentTag.isSameOrBefore(Endetag, 'day') && Eintrag.Status !== this.Urlaubstatusvarianten.Abgelehnt) {\n\n switch (Eintrag.Status) {\n\n case this.Urlaubstatusvarianten.Geplant:\n\n if(this.GesamtuebersichtSetting.ShowGeplant === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreteranfrage:\n\n if(this.GesamtuebersichtSetting.ShowVertreteranfragen === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterfreigabe:\n\n if(this.GesamtuebersichtSetting.ShowVertreterfreigaben === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterablehnung:\n\n if(this.GesamtuebersichtSetting.ShowVertreterablehnungen === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Genehmigt:\n\n if(this.GesamtuebersichtSetting.ShowUrlaubsgenehmigungen === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Abgelehnt:\n\n if(this.GesamtuebersichtSetting.ShowUrlaubsablehnungen === true) return Eintrag;\n\n break;\n }\n }\n }\n }\n\n return null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckIsUrlaubstag', this.Debug.Typen.Service);\n }\n }\n\n public CheckIsHomeofficetag(Mitarbeiter: Mitarbeiterstruktur, Tag: Kalendertagestruktur): Homeofficezeitspannenstruktur {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Starttag: Moment;\n let Endetag: Moment;\n let Homeoffice: Urlaubsstruktur;\n let Index: number = lodash.findIndex(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n if(Index !== -1) {\n\n Homeoffice = Mitarbeiter.Urlaubsliste[Index];\n\n for(let Eintrag of Homeoffice.Homeofficezeitspannen) {\n\n Starttag = moment(Eintrag.Startstempel);\n Endetag = moment(Eintrag.Endestempel);\n\n if(CurrentTag.isSameOrAfter(Starttag, 'day') && CurrentTag.isSameOrBefore(Endetag, 'day') && Eintrag.Status !== this.Homeofficestatusvarianten.Abgelehnt) {\n\n switch (Eintrag.Status) {\n\n case this.Homeofficestatusvarianten.Geplant:\n\n if(this.GesamtuebersichtSetting.ShowHomeofficeGeplant === true) return Eintrag;\n\n break;\n\n case this.Homeofficestatusvarianten.Genehmigt:\n\n if(this.GesamtuebersichtSetting.ShowHomeofficeGenehmigt === true) return Eintrag;\n\n break;\n\n case this.Homeofficestatusvarianten.Freigabeanfrage:\n\n if(this.GesamtuebersichtSetting.ShowHomeofficeAnfrage === true) return Eintrag;\n\n break;\n }\n }\n }\n }\n\n return null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckIsHomeofficetag', this.Debug.Typen.Service);\n }\n }\n\n GetFeriennamen(ferientag: Ferienstruktur, laendercode: string) {\n\n try {\n\n let Name: string = laendercode + ': Unbekannt';\n\n for(let name of ferientag.name) {\n\n if(name.language === laendercode) Name = name.text;\n }\n\n return Name;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFeriennamen', this.Debug.Typen.Service);\n }\n }\n\n GetFeiertagnamen(feiertag: Ferienstruktur, laendercode: string) {\n\n try {\n\n let Name: string = laendercode + ': Unbekannt';\n\n for(let name of feiertag.name) {\n\n if(name.language === laendercode) Name = name.text;\n }\n\n return Name;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFeiertagnamen', this.Debug.Typen.Service);\n }\n }\n\n GetFerientag(Tag: Kalendertagestruktur, landcode: string): Kalendertagestruktur {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Starttag: Moment;\n let Endetag: Moment;\n let Ferientag: Kalendertagestruktur;\n let Eintrag: Ferienstruktur;\n\n if(!lodash.isUndefined(this.Ferienliste[landcode])) {\n\n for(Eintrag of this.Ferienliste[landcode]) {\n\n Starttag = moment(Eintrag.Anfangstempel);\n Endetag = moment(Eintrag.Endestempel);\n\n if(CurrentTag.isSameOrAfter(Starttag, 'day') && CurrentTag.isSameOrBefore(Endetag, 'day')) {\n\n Ferientag = {\n Tagnummer: 0,\n Hauptmonat: false,\n Kalenderwoche: 0,\n Tag: \"\",\n Tagstempel: Eintrag.Anfangstempel,\n Ferienname_DE: this.GetFeriennamen(Eintrag, 'DE'),\n Ferienname_BG: this.GetFeriennamen(Eintrag, 'EN'),\n };\n\n return Ferientag;\n\n break;\n }\n }\n }\n\n return null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFerientag', this.Debug.Typen.Service);\n }\n }\n\n CheckIsFeiertag(Tag: Kalendertagestruktur, landcode: string): boolean {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Feiertag: Moment;\n let IsFeiertag: boolean = false;\n let Blockerdatum: Moment;\n\n if(!lodash.isUndefined(this.Feiertageliste[landcode])) {\n\n for (let Eintrag of this.Feiertageliste[landcode]) {\n\n Feiertag = moment(Eintrag.Anfangstempel);\n\n if (Feiertag.isSame(CurrentTag, 'day')) {\n\n IsFeiertag = true;\n\n for (let Eintrag of this.CurrentUrlaub.Feiertageblockerliste) {\n\n Blockerdatum = moment(Eintrag);\n\n if (Blockerdatum.isSame(CurrentTag, 'day')) {\n\n IsFeiertag = false;\n }\n }\n }\n }\n }\n\n return IsFeiertag;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckIsFeiertag', this.Debug.Typen.Service);\n }\n }\n\n GetFeiertag(currenttag: Kalendertagestruktur, landcode: string): Kalendertagestruktur {\n\n try {\n\n let CurrentTag: Moment = moment(currenttag.Tagstempel);\n let Feiertagdatum: Moment;\n let Feiertag: Kalendertagestruktur;\n let Tag: Ferienstruktur;\n\n if(!lodash.isUndefined(this.Feiertageliste[landcode])) {\n\n for(Tag of this.Feiertageliste[landcode]) {\n\n Feiertagdatum = moment(Tag.Anfangstempel);\n\n if(Feiertagdatum.isSame(CurrentTag, 'day')) {\n\n Feiertag = {\n Tagnummer: 0,\n Hauptmonat: false,\n Kalenderwoche: 0,\n Tag: \"\",\n Tagstempel: Tag.Anfangstempel,\n Feiertagname_DE: this.GetFeiertagnamen(Tag, 'DE'),\n Feiertagname_BG: this.GetFeiertagnamen(Tag, 'EN'),\n };\n\n return Feiertag;\n\n break;\n }\n }\n }\n\n return null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFeiertag', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyUrlaubszeitspanne(): Urlauzeitspannenstruktur {\n\n try {\n\n return {\n\n ZeitspannenID: this.Pool.GetNewUniqueID(),\n Startstempel: null,\n Endestempel: null,\n Startstring: \"\",\n Endestring: \"\",\n UrlaubsvertreterID: null,\n UrlaubsvertreterIDListe: [],\n Vertretungskonversationliste: [],\n UrlaubsfreigeberID: null,\n Status: this.Urlaubstatusvarianten.Geplant,\n Planungmeldung: '',\n Freigabemeldung: '',\n Halbertag: false,\n Betriebsurlaub: false,\n Tageanzahl: 0,\n FreigabeanfrageSended: false,\n FreigabeantwortSended: false,\n FreigabeantwortOfficeSended: false,\n Freigabeantwortzeitstempel: null,\n FreigabeantwortOfficezeitstempel: null\n };\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Urlaub', 'GetEmptyZeitspanne', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyHomeofficezeitspanne(): Homeofficezeitspannenstruktur {\n\n try {\n\n return {\n\n ZeitspannenID: this.Pool.GetNewUniqueID(),\n Startstempel: null,\n Endestempel: null,\n Startstring: \"\",\n Endestring: \"\",\n Status: this.Homeofficestatusvarianten.Geplant,\n Planungmeldung: '',\n Vertretungmeldung: '',\n Freigabemeldung: '',\n Tageanzahl: 0,\n FreigabeanfrageSended: false,\n FreigabeantwortSended: false,\n Freigabeantwortzeitstempel: null,\n };\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Urlaub', 'GetEmptyHomeofficezeitspanne', this.Debug.Typen.Service);\n }\n }\n\n public CountResturlaub(): number {\n\n try {\n\n let Gesamturlaub: number = 0;\n\n if(this.CurrentUrlaub !== null && this.CurrentMitarbeiter !== null) {\n\n Gesamturlaub += this.CurrentMitarbeiter.Urlaub;\n Gesamturlaub += this.CurrentMitarbeiter.Resturlaub;\n\n for(let Zeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status !== this.Urlaubstatusvarianten.Abgelehnt) Gesamturlaub -= Zeitspanne.Tageanzahl;\n }\n\n return Gesamturlaub;\n }\n else return 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountResturlaub', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeoffice(): number {\n\n try {\n\n let Gesamthomeoffice: number = 210;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status !== this.Homeofficestatusvarianten.Abgelehnt) Gesamthomeoffice -= Zeitspanne.Tageanzahl;\n }\n\n return Gesamthomeoffice;\n }\n else return 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeoffice', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeGeplant(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Geplant) Anzahl++;\n }\n }\n\n return Anzahl;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeGeplant', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeFreigbeanfragen(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Freigabeanfrage) Anzahl++;\n }\n }\n\n return Anzahl;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeFreigbeanfragen', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeGenehmigt(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Genehmigt) Anzahl++;\n }\n }\n\n return Anzahl;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeGenehmigt', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeAbgelehnt(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Abgelehnt) Anzahl++;\n }\n }\n\n return Anzahl;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeAbgelehnt', this.Debug.Typen.Service);\n }\n }\n\n public CheckDisplayExternenUrlaub(mitrbeiterid: string):boolean {\n\n try {\n\n let Beteiligt: Urlaubprojektbeteiligtestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n let Urlaub: Urlaubsstruktur;\n\n if(this.CurrentUrlaub !== null) {\n\n Beteiligt = lodash.find(this.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: mitrbeiterid});\n\n if(lodash.isUndefined(Beteiligt)) return false;\n else {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: Beteiligt.MitarbeiterID});\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentUrlaub.Jahr});\n\n if(lodash.isUndefined(Urlaub)) return false;\n else {\n\n return Beteiligt.Display && Urlaub.Urlaubzeitspannen.length > 0;\n }\n\n }\n }\n else return false;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckDisplayExternenUrlaub', this.Debug.Typen.Service);\n }\n }\n\n async HomeofficeLoeschen(Status: string) {\n\n try {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(lodash.isUndefined(Zeitspanne.Checked) === true) Zeitspanne.Checked = false;\n }\n\n let Homeofficeliste: Homeofficezeitspannenstruktur[] = lodash.filter(this.CurrentUrlaub.Homeofficezeitspannen, (eintrag: Homeofficezeitspannenstruktur) => {\n\n return eintrag.Status === Status && eintrag.Checked === false || eintrag.Status !== Status;\n });\n\n this.CurrentUrlaub = lodash.find(this.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n this.CurrentUrlaub.Homeofficezeitspannen = Homeofficeliste;\n\n let Urlaubindex = lodash.findIndex(this.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n this.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.CurrentMitarbeiter);\n\n this.ExterneHomeofficeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'HomeofficeLoeschen', this.Debug.Typen.Service);\n }\n }\n\n GetHomeofficezeitspannenByStataus(Status: string): Homeofficezeitspannenstruktur[][] {\n\n try {\n\n let Liste: Homeofficezeitspannenstruktur[] = lodash.filter(this.CurrentUrlaub.Homeofficezeitspannen, {Status: Status});\n let Gesamtliste: Homeofficezeitspannenstruktur[][] = [];\n let Datum: Moment;\n\n Liste.sort((a: Homeofficezeitspannenstruktur, b: Homeofficezeitspannenstruktur) => {\n\n if (a.Startstempel < b.Startstempel) return -1;\n if (a.Startstempel > b.Startstempel) return 1;\n return 0;\n });\n\n for(let Monatindex = 0; Monatindex < this.Monateliste.length; Monatindex++) {\n\n Gesamtliste[Monatindex] = [];\n Gesamtliste[Monatindex] = lodash.filter(Liste, (eintrag: Homeofficezeitspannenstruktur) => {\n\n Datum = moment(eintrag.Startstempel);\n\n return Datum.month() === Monatindex;\n });\n }\n\n return Gesamtliste;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetHomeofficezeitspannenByStataus', this.Debug.Typen.Service);\n }\n }\n\n CheckVertretungIsAbgelehnt(Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let Abgelehnt: boolean = false;\n\n for(Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung) Abgelehnt = true;\n }\n\n return Abgelehnt;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckVertretungIsAbgelehnt', this.Debug.Typen.Service);\n }\n }\n\n GetUrlaubStatuscolorByKonversation(Zeitspanne: Urlauzeitspannenstruktur): string {\n\n try {\n\n let Color = '';\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.CurrentMitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage) Color = this.Urlaubsfaben.Vertreteranfrage;\n else {\n\n Color = Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe ? this.Urlaubsfaben.Vertreterfreigabe : this.Urlaubsfaben.Vertreterablehnung;\n }\n }\n\n return Color;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'file', 'GetUrlaubStatuscolorByKonversation', this.Debug.Typen.Service);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BasicsProvider } from '../basics/basics';\nimport {ConstProvider} from '../const/const';\nimport {NavController} from '@ionic/angular';\nimport {ErrorService} from \"../error/error.service\";\nimport {Debugmmessagestruktur} from \"../../dataclasses/Debummessagestruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class DebugProvider {\n\n public Typen = {\n\n Page: 'Page',\n Component: 'Component',\n Provider: 'Provider',\n Directive: 'Directive',\n Service: 'Service'\n };\n\n public Debugmessageliste: Debugmmessagestruktur[];\n\n constructor( public Basics: BasicsProvider,\n private nav: NavController,\n private Fehlerservice: ErrorService,\n private Const: ConstProvider){\n try {\n\n this.Debugmessageliste = [];\n }\n catch (error) {\n\n }\n }\n\n\n public ShowErrorMessage(message, script, funktion, typ)\n {\n try {\n\n console.log('File: ' + script + ' | Function: ' + funktion + ' | Message: ' + message);\n\n this.Debugmessageliste.push({\n\n Skript: script,\n Message: message,\n Function: funktion,\n Color: 'red'\n });\n }\n catch (error2) {\n\n debugger;\n }\n }\n\n public ShowMessage(message: string, script: string, funktion: string, typ: string)\n {\n try {\n\n let data = {\n\n message: message,\n code: '',\n stack: ''\n };\n\n console.log('File: ' + script + ' | Function: ' + funktion + ' | Message: ' + message);\n\n this.Debugmessageliste.push({\n\n Skript: script,\n Message: message,\n Function: funktion,\n Color: 'blue'\n });\n }\n catch (error) {\n\n debugger;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Dialoglistestruktur} from \"../../dataclasses/diaploglistestruktur\";\nimport * as lodash from \"lodash-es\";\nimport {forEach} from \"lodash-es\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DisplayService {\n\n public Dialognamen = {\n\n Auswahldialog: 'Auswahldialog',\n Mitarbeiterauswahl: 'Mitarbeiterauswahl',\n Projekteditor: 'Projekteditor',\n Beteiligteneditor: 'Beteiligteneditor',\n Firmeneditor: 'Firmeneditor',\n Mitarbeitereditor: 'Mitarbeitereditor',\n Standorteditor: 'Standorteditor',\n Changelogeditor: 'Changelogeditor',\n Favoriteneditor: 'Favoriteneditor',\n Favoritenauswahl: 'Favoritenauswahl',\n Projekteauswahl: 'Projekteauswahl',\n Bauteileditor: 'Bauteileditor',\n Geschosseditor: 'Geschosseditor',\n Raumeditor: 'Raumeditor',\n AufgabeProjektauswahl: 'AufgabeProjektauswahl',\n Projektpunteditor: 'Projektpunteditor',\n Beteiligteauswahl: 'Beteiligteauswahl',\n Firmenauswahl: 'Firmenauswahl',\n Protokolleditor: 'Protokolleditor',\n Kostengruppenauswahl: 'Kostengruppenauswahl',\n Raumauswahl: 'Raumauswahl',\n Protokolllistefilter: 'Protokolllistefilter',\n Aufgabenlistefilter: 'Aufgabenlistefilter',\n Meinewocheeditor: 'Meinewocheeditor',\n ProjektpunktStatusDatePicker: 'ProjektpunktStatusDatePicker',\n ProjektpunktDateKwPicker: 'ProjektpunktDateKwPicker',\n Verzeichnisauswahl: 'Verzeichnisauswahl',\n Bilderauswahl: 'Bilderauswahl',\n Outlookkontakteauswahl: 'Outlookkontakteauswahl',\n ProjektSendeEmail: 'ProjektSendeEmail',\n Bautagebucheditor: 'Bautagebucheditor',\n Bautagebucheintrageditor: 'Bautagebucheintrageditor',\n LOPListeEditor: 'LOPListeEditor',\n LOPListeEintragEditor: 'LOPListeEintragEditor',\n Planungsmatrixeintrageditor: 'Planungsmatrixeintrageditor',\n Notizenkapiteleditor: 'Notizenkapiteleditor',\n Festlegungkategorieneditor: 'Festlegungkategorieneditor',\n Simontabelleeditor: 'Simontabelleeditor',\n Simontabellelesitungeditor: 'Simontabellelesitungeditor',\n RechnungEditor: 'RechnungEditor'\n\n };\n\n private Dialogliste: Dialoglistestruktur[];\n\n constructor(private Debug: DebugProvider) {\n\n try {\n\n this.Dialogliste = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Display', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public ResetDialogliste() {\n\n try {\n\n this.Dialogliste = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Display', 'ResetDialogliste', this.Debug.Typen.Service);\n }\n }\n\n public AddDialog(name: string, zindex: number) {\n\n try {\n\n let Dialog: Dialoglistestruktur = lodash.find(this.Dialogliste, {Dialogname: name});\n\n if(lodash.isUndefined(Dialog)) {\n\n this.Dialogliste.push({\n\n Dialogname: name,\n ZIndex: zindex\n });\n }\n else {\n\n this.Debug.ShowErrorMessage(new Error('Add Dialog Fehler: ' + name), 'Dialog', 'AddDialog', this.Debug.Typen.Service);\n }\n\n forEach(this.Dialogliste, (Eintrag: Dialoglistestruktur) => {\n\n console.log(Eintrag);\n });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Dialog', 'AddDialog', this.Debug.Typen.Service);\n }\n }\n\n public RemoveDialog(name: string) {\n\n try {\n\n this.Dialogliste = lodash.filter(this.Dialogliste, (dialog: Dialoglistestruktur) => {\n\n return dialog.Dialogname !== name;\n });\n\n if(this.Dialogliste.length === 0) {\n\n this.Debug.ShowMessage('Dialogliste ist leer.', 'Dialog', 'RemoveDialog', this.Debug.Typen.Service);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Dialog', 'RemoveDialog', this.Debug.Typen.Service);\n }\n }\n\n public ShowOpacity(name:string): boolean {\n\n try {\n\n let Maximum: number = 0;\n let Wert: number = 0;\n let Dialogname: string;\n\n forEach(this.Dialogliste, (Eintrag: Dialoglistestruktur) => {\n\n if(Eintrag.ZIndex > Maximum) Maximum = Eintrag.ZIndex;\n if(Eintrag.Dialogname === name) {\n\n Wert = Eintrag.ZIndex;\n Dialogname = Eintrag.Dialogname;\n }\n });\n\n if(Wert >= Maximum) {\n\n // this.Debug.ShowMessage(Dialogname + ' ganz oben. Z-Index: ' + Wert, 'Dialog', 'ShowOpacity', this.Debug.Typen.Service);\n\n return true;\n }\n else return false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Dialog', 'ShowOpacity', this.Debug.Typen.Service);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Fehlermeldungparameterstruktur} from \"../../dataclasses/fehlermeldungstruktur\";\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorService {\n\n // public Fehlerparameter: Fehlermeldungparameterstruktur;\n public Fehlermeldung: Fehlermeldungparameterstruktur[];\n public CanGoBack: boolean;\n\n constructor(private Const: ConstProvider) {\n\n try {\n\n this.Fehlermeldung = [];\n this.CanGoBack = true;\n\n } catch (error) {\n\n\n }\n }\n}\n","import {EventEmitter, Inject, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {MSAL_GUARD_CONFIG, MsalGuardConfiguration, MsalService} from \"@azure/msal-angular\";\nimport {ConstProvider} from \"../const/const\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from \"@angular/common/http\";\nimport {Graphuserstruktur} from \"../../dataclasses/graphuserstruktur\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {DatabaseAuthenticationService} from \"../database-authentication/database-authentication.service\";\nimport {AuthProviderCallback, Client, GraphError, ResponseType} from '@microsoft/microsoft-graph-client';\nimport {User} from \"@microsoft/microsoft-graph-types\";\nimport {ToolsProvider} from \"../tools/tools\";\nimport * as lodash from 'lodash-es';\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {Teamsstruktur} from \"../../dataclasses/teamsstruktur\";\nimport {Teamsfilesstruktur} from \"../../dataclasses/teamsfilesstruktur\";\nimport {Teamsdownloadstruktur} from \"../../dataclasses/teamsdownloadstruktur\";\nimport {Teamsmitgliederstruktur} from \"../../dataclasses/teamsmitgliederstruktur\";\nimport moment, {Moment} from \"moment\";\n// import {DatabaseOutlookemailService} from \"../database-email/database-outlookemail.service\";\nimport {BasicsProvider} from \"../basics/basics\";\nimport {Outlookemailadressstruktur} from \"../../dataclasses/outlookemailadressstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Graphservice {\n\n public ImageZoomOut: EventEmitter = new EventEmitter();\n\n public Graphuser: Graphuserstruktur;\n public Teamsliste: Teamsstruktur[];\n public UserimageSRC: any;\n public TeamsRootfilelist: Teamsfilesstruktur[];\n public TeamsCurrentfilelist: Teamsfilesstruktur[];\n public TeamsSubdirectorylist: Teamsfilesstruktur[];\n public CurrentTeamsID: string;\n // public Outlookkontakteliste: Outlookkontaktestruktur[];\n public CurrentPDFDownload: Teamsdownloadstruktur;\n public KalenderKW: number;\n // public Outlookpresetcolors:Outlookpresetcolorsstruktur[];\n private BAESiteID: string;\n public FilebrowserModus: string;\n public FilebrowserModusvarianten = {\n\n Alle_Projekte: 'Alle_Projekte',\n Current_Projekt: 'Current_Projekt'\n };\n\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\n private Debug: DebugProvider,\n private Const: ConstProvider,\n private AuthService: DatabaseAuthenticationService,\n private Tools: ToolsProvider,\n public Basics: BasicsProvider,\n private Pool: DatabasePoolService,\n private domSanitizer: DomSanitizer,\n ) {\n try {\n\n this.Graphuser = null;\n this.UserimageSRC = null;\n this.Teamsliste = [];\n this.TeamsRootfilelist = [];\n this.TeamsCurrentfilelist = [];\n this.TeamsSubdirectorylist = [];\n this.CurrentTeamsID = 'ea457111-b3f1-4c73-a8ae-cb1cbaf6d244'; // Köferinger Straße 20\n this.CurrentPDFDownload = null;\n // this.Outlookkontakteliste = [];\n this.FilebrowserModus = this.FilebrowserModusvarianten.Alle_Projekte;\n this.KalenderKW = moment().locale('de').isoWeek();\n /*\n this.Outlookpresetcolors = [\n\n { Name: 'none', Value: 'none', Fontcolor: 'white' },\n { Name: 'Preset0', Value: '#dc626d', Fontcolor: 'black' }, // Red\n { Name: 'Preset1', Value: '#e8825d', Fontcolor: 'black' },\n { Name: 'Preset2', Value: '#ffcd8f', Fontcolor: 'black' }, // Brown\n { Name: 'Preset3', Value: '#5f5f58', Fontcolor: 'white' }, // Yellow\n { Name: 'Preset4', Value: '#52ce90', Fontcolor: 'black' }, // Green\n { Name: 'Preset5', Value: '#57d2da', Fontcolor: 'white' }, // Teal\n { Name: 'Preset6', Value: '#5c5f53', Fontcolor: 'white' }, // Olive\n { Name: 'Preset7', Value: '#5ca9e5', Fontcolor: 'white' }, // Blue\n { Name: 'Preset8', Value: '#53525a', Fontcolor: 'white' }, // Purple\n { Name: 'Preset9', Value: '#ee5fb7', Fontcolor: 'black' },\n { Name: 'Preset10', Value: '#c5ced1', Fontcolor: 'white' }, // 'Steel'\n { Name: 'Preset11', Value: '#5d6567', Fontcolor: 'white' },\n { Name: 'Preset12', Value: '#c3c5bb', Fontcolor: 'white' },\n { Name: 'Preset13', Value: '#9fadb1', Fontcolor: 'white' },\n { Name: 'Preset14', Value: '#8f8f8f', Fontcolor: 'white'}, // Black\n { Name: 'Preset15', Value: '#ac4e5e', Fontcolor: 'black' },\n { Name: 'Preset16', Value: '#df8e64', Fontcolor: 'white' },\n { Name: 'Preset17', Value: '#bc8f6f', Fontcolor: 'white' },\n { Name: 'Preset18', Value: '#dac257', Fontcolor: 'black' },\n { Name: 'Preset19', Value: '#4ca64c', Fontcolor: 'white' },\n { Name: 'Preset20', Value: '#4bb4b7', Fontcolor: 'white' },\n { Name: 'Preset21', Value: '#85b44c', Fontcolor: 'white' }, // DarkOlive\n { Name: 'Preset22', Value: '#4179a3', Fontcolor: 'white' }, // DarkBlue\n { Name: 'Preset23', Value: '#8f6fbc', Fontcolor: 'white' },\n { Name: 'Preset24', Value: '#c34e98', Fontcolor: 'black' },\n\n { Name: 'PresetFeiertag', Value: '#b0d6f2', Fontcolor: 'black' },\n ];\n\n */\n\n this.BAESiteID = 'baeeu.sharepoint.com,1b93d6ea-3f8b-4416-9ff1-a50aaba6f8ca,134790cc-e062-4882-ae5e-18813809cc87'; // Projekte Seite\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Graph', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n\n /*\n public async GetOwnOutlookcontacts(withemailonly: boolean): Promise {\n\n try {\n\n let Valueliste: any[] = [];\n let data: any;\n let nexturl: any;\n let count: number = 0;\n let Eintrag: Outlookkontaktestruktur;\n\n let token = await this.AuthService.RequestToken('Contacts.ReadWrite');\n\n if(token !== null) {\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n data = await graphClient.api('/me/contacts').count().get();\n\n if(!lodash.isUndefined(data['@odata.count'])) count = data['@odata.count'];\n\n if(!lodash.isUndefined(data.value)) {\n\n Valueliste.push(data.value);\n\n if(!lodash.isUndefined(data['@odata.nextLink'])) {\n\n do {\n\n nexturl = data['@odata.nextLink'];\n data = await graphClient.api(nexturl).get();\n\n if(!lodash.isUndefined(data.value)) Valueliste.push(data.value);\n\n }\n while(!lodash.isUndefined(data['@odata.nextLink']));\n\n if(!lodash.isUndefined(data.value)) Valueliste.push(data.value);\n }\n }\n\n this.Outlookkontakteliste = [];\n\n for(let Liste of Valueliste) {\n\n for(Eintrag of Liste) {\n\n if(Eintrag.givenName !== null && Eintrag.givenName.toLowerCase() === 'lars' || Eintrag.surname !== null && Eintrag.surname.toLowerCase() === 'lars') {\n\n debugger;\n }\n\n if(Eintrag.title !== null && Eintrag.title !== '' && Eintrag.displayName !== null) {\n\n Eintrag.displayName = Eintrag.displayName.replace(Eintrag.title + ' ', '');\n }\n\n if(lodash.isUndefined(Eintrag.businessAddress)) {\n\n Eintrag.businessAddress = {\n\n street: '',\n city: '',\n state: '',\n postalCode: '',\n countryOrRegion: ''\n };\n }\n\n if(lodash.isUndefined(Eintrag.businessAddress.street) || Eintrag.businessAddress.street === null) Eintrag.businessAddress.street = '';\n if(lodash.isUndefined(Eintrag.businessAddress.city) || Eintrag.businessAddress.city === null) Eintrag.businessAddress. city = '';\n if(lodash.isUndefined(Eintrag.businessAddress.postalCode) || Eintrag.businessAddress.postalCode === null) Eintrag.businessAddress.postalCode = '';\n if(lodash.isUndefined(Eintrag.businessAddress.state) || Eintrag.businessAddress.state === null) Eintrag.businessAddress.state = '';\n if(lodash.isUndefined(Eintrag.businessAddress.countryOrRegion) || Eintrag.businessAddress.countryOrRegion === null) Eintrag.businessAddress.countryOrRegion = '';\n\n if(lodash.isUndefined(Eintrag.title) || Eintrag.title === null) Eintrag.title = '';\n if(lodash.isUndefined(Eintrag.displayName) || Eintrag.displayName === null) Eintrag.displayName = '';\n if(lodash.isUndefined(Eintrag.surname) || Eintrag.surname === null) Eintrag.surname = '';\n if(lodash.isUndefined(Eintrag.givenName) || Eintrag.givenName === null) Eintrag.givenName = '';\n if(lodash.isUndefined(Eintrag.companyName) || Eintrag.companyName === null) Eintrag.companyName = '';\n\n if(Eintrag.surname === '' && Eintrag.givenName !== '') {\n\n Eintrag.surname = Eintrag.givenName;\n Eintrag.givenName = '';\n }\n\n if(Eintrag.surname === '' && Eintrag.givenName === '' && Eintrag.displayName === '') {\n\n Eintrag.IsCompany = true;\n Eintrag.surname = Eintrag.companyName;\n Eintrag.companyName = '';\n }\n else {\n\n Eintrag.IsCompany = false;\n }\n\n if(withemailonly) {\n\n if(Eintrag.emailAddresses.length > 0) this.Outlookkontakteliste.push(Eintrag);\n }\n else {\n\n this.Outlookkontakteliste.push(Eintrag);\n }\n }\n }\n\n return Promise.resolve(true);\n }\n else {\n\n return Promise.reject(false);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnOutlookcontacts', this.Debug.Typen.Service);\n }\n }\n */\n\n /*\n\n public OutlookcontactToBeteiligte(kontakt: Outlookkontaktestruktur): Projektbeteiligtestruktur {\n\n try {\n\n let Beteiligter: Projektbeteiligtestruktur;\n let Beteiligteneintragtyp:string;\n\n if(kontakt.IsCompany) {\n\n Beteiligteneintragtyp = this.Const.Beteiligteneintragtypen.Firma;\n }\n else {\n\n Beteiligteneintragtyp = this.Const.Beteiligteneintragtypen.Person;\n }\n\n\n\n Beteiligter = {\n\n Anrede: kontakt.title,\n BeteiligtenID: kontakt.id,\n FirmaID: null,\n Email: kontakt.emailAddresses.length > 0 ? kontakt.emailAddresses[0].address : '',\n Possition: kontakt.profession,\n Mobil: kontakt.mobilePhone,\n Name: kontakt.surname,\n Vorname: kontakt.givenName,\n Ort: kontakt.businessAddress.city,\n PLZ: kontakt.businessAddress.postalCode,\n Strasse: \"\",\n Telefon: kontakt.businessPhones.length > 0 ? kontakt.businessPhones[0] : '',\n Verfasser: {\n\n Vorname: this.Pool.Mitarbeiterdaten.Vorname,\n Name: this.Pool.Mitarbeiterdaten.Name,\n Email: this.Pool.Mitarbeiterdaten.Email\n },\n };\n\n return Beteiligter;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'OutlookcontactToBeteiligte', this.Debug.Typen.Service);\n }\n }\n */\n\n public async GetOwnUserinfo(): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise((resolve, reject) => {\n\n\n if(token !== null) {\n\n graphClient.api('/me').select('*').get().then((result: User) => {\n\n this.Graphuser = result;\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n switch (error.code) {\n\n case \"InvalidAuthenticationToken\":\n\n // this.AuthService.AccessTokenExpired = true;\n this.AuthService.UnsetActiveUser();\n\n this.Tools.SetRootPage(this.Const.Pages.HomePage);\n\n break;\n\n default:\n\n // debugger;\n\n break;\n }\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnUserinfo', this.Debug.Typen.Service);\n }\n }\n\n /*\n\n public async GetOwnOutlookCategories(): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('MailboxSettings.Read');\n let data: any;\n let Liste: Outlookkategoriesstruktur[] = [];\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n try {\n\n data = await graphClient.api('/me/outlook/masterCategories').get();\n\n if(!lodash.isUndefined(data.value)) {\n\n for(let Eintrag of data.value) {\n\n Liste.push(Eintrag);\n\n console.log(Eintrag.id);\n }\n }\n\n Liste.push({\n\n displayName: 'Feiertag',\n id: 'feiertrag',\n color: 'PresetFeiertag'\n });\n\n Liste.sort( (a: Outlookkategoriesstruktur, b: Outlookkategoriesstruktur) => {\n\n if (a.displayName < b.displayName) return -1;\n if (a.displayName > b.displayName) return 1;\n return 0;\n });\n\n return Liste;\n }\n catch(error: any) {\n\n return error;\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnOutlookCategories', this.Debug.Typen.Service);\n }\n }\n\n\n */\n\n /*\n\n public async GetTeamsSubdirictoryfilelist(teamsid: string, file: Teamsfilesstruktur, showfiles: boolean) {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Eintrag: Teamsfilesstruktur;\n\n this.TeamsRootfilelist = [];\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n\n graphClient.api('/groups/' + teamsid + '/drive/items/' + file.id + '/children').get().then((result: any) => {\n\n for(Eintrag of result.value) {\n\n if(!lodash.isUndefined(Eintrag.folder)) Eintrag.isfolder = true;\n else Eintrag.isfolder = false;\n\n this.TeamsRootfilelist.push(Eintrag);\n }\n\n if(showfiles === false) this.TeamsRootfilelist = lodash.filter(this.TeamsRootfilelist, {isfolder : true});\n\n this.TeamsCurrentfilelist = this.TeamsRootfilelist;\n\n this.TeamsSubdirectorylist.push(file);\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetTeamsSubdirictoryfilelist', this.Debug.Typen.Service);\n }\n }\n\n */\n\n public GetEmptyTeamsfile() {\n\n try {\n\n return {\n cTag: \"\",\n createdBy:\n {\n user:\n {\n displayName: \"\",\n email: \"\",\n id: \"\"\n }\n },\n createdDateTime: \"\",\n eTag: \"\",\n fileSystemInfo:\n {\n createdDateTime: \"\",\n lastModifiedDateTime: \"\"\n },\n id: \"\",\n lastModifiedBy: {},\n lastModifiedDateTime: \"\",\n name: \"\",\n parentReference:\n {\n driveId: \"\",\n driveType: \"\",\n id: \"\",\n path: \"\"\n },\n shared: {scope: \"\"},\n size: 0,\n webUrl: \"\"\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetEmptyTeamsfile', this.Debug.Typen.Service);\n }\n }\n\n public async GetSiteSubdirictoryfilelist(file: Teamsfilesstruktur, showfiles: boolean): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Eintrag: Teamsfilesstruktur;\n let Dateiliste: Teamsfilesstruktur[] = [];\n let Verzeichnisliste: Teamsfilesstruktur[] = [];\n\n this.TeamsRootfilelist = [];\n this.TeamsCurrentfilelist = [];\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + file.id + '/children').get().then((result: any) => {\n\n\n for(Eintrag of result.value) {\n\n if(lodash.isUndefined(Eintrag.file)) {\n\n Eintrag.isfolder = true;\n\n Verzeichnisliste.push(Eintrag);\n }\n else {\n\n Eintrag.isfolder = false;\n\n Dateiliste.push(Eintrag);\n }\n\n // this.TeamsRootfilelist.push(Eintrag);\n }\n\n Verzeichnisliste.sort((a: Teamsfilesstruktur, b: Teamsfilesstruktur) => {\n\n if (a.name < b.name) return -1;\n if (a.name > b.name) return 1;\n\n return 0;\n });\n\n Dateiliste.sort((a: Teamsfilesstruktur, b: Teamsfilesstruktur) => {\n\n if (a.name < b.name) return -1;\n if (a.name > b.name) return 1;\n\n return 0;\n });\n\n if(showfiles === false) {\n\n this.TeamsRootfilelist = Verzeichnisliste;\n // this.TeamsRootfilelist = lodash.filter(this.TeamsRootfilelist, {isfolder : true});\n }\n else {\n\n this.TeamsRootfilelist = Verzeichnisliste;\n this.TeamsRootfilelist = this.TeamsRootfilelist.concat(Dateiliste);\n\n }\n\n this.TeamsCurrentfilelist = this.TeamsRootfilelist;\n\n if(lodash.isUndefined(lodash.find(this.TeamsSubdirectorylist, (eintrag: Teamsfilesstruktur) => {\n\n return eintrag.id === file.id;\n\n }))) {\n\n this.TeamsSubdirectorylist.push(file);\n }\n else {\n\n }\n\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetSiteSubdirictoryfilelist', this.Debug.Typen.Service);\n }\n }\n\n public async DownloadPDFTeamsFile(teamsid: string, file: Teamsfilesstruktur): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Download: Teamsdownloadstruktur = {\n\n name: file.name,\n id: '',\n context: '',\n url: ''\n };\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/groups/' + teamsid + '/drive/items/' + file.id + '?select=id,@microsoft.graph.downloadUrl').get().then((result: any) => {\n\n Download.id = result.id;\n Download.url = result['@microsoft.graph.downloadUrl'];\n Download.context = result['@odata.context'];\n\n this.CurrentPDFDownload = Download;\n\n resolve(Download);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'DownloadPDFTeamsFile', this.Debug.Typen.Service);\n }\n }\n\n public async DownloadPDFSiteFile(file: Teamsfilesstruktur): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Download: Teamsdownloadstruktur = {\n\n name: file.name,\n id: '',\n context: '',\n url: ''\n };\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + file.id + '?select=id,@microsoft.graph.downloadUrl').get().then((result: any) => {\n\n Download.id = result.id;\n Download.url = result['@microsoft.graph.downloadUrl'];\n Download.context = result['@odata.context'];\n\n this.CurrentPDFDownload = Download;\n\n resolve(Download);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'DownloadPDFSiteFile', this.Debug.Typen.Service);\n }\n }\n\n public async DownloadPDFSiteFileViaLink(fileid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Link: any = document.createElement('a');\n let Download: Teamsdownloadstruktur = {\n\n name: '',\n id: '',\n context: '',\n url: ''\n };\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + fileid + '?select=id,@microsoft.graph.downloadUrl').get().then((result: any) => {\n\n Download.id = result.id;\n Download.url = result['@microsoft.graph.downloadUrl'];\n Download.context = result['@odata.context'];\n\n this.CurrentPDFDownload = Download;\n\n document.body.appendChild(Link);\n\n Link.href = Download.url;\n\n Link.click();\n Link.remove();\n\n resolve(Download);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'DownloadPDFSiteFileViaLink', this.Debug.Typen.Service);\n }\n }\n\n\n\n public async TestGraph() {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let GroupID: string = \"632cc6c8-51d5-4219-8092-ed10a792e715\"; // Eggolsheim\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n // graphClient.api('/me/memberOf').get().then((result: any) => {\n\n // me/registeredDevices\n // /me/ownedObjects\n // /me/followedSites\n // /me/joinedTeams\n\n // /groups/ea457111-b3f1-4c73-a8ae-cb1cbaf6d244/drive/items/root/children\n graphClient.api('/groups/' + GroupID + '/drive/root:/General/11 Jour Fixe').version('beta').get().then((result: any) => {\n // graphClient.api('/groups/ea457111-b3f1-4c73-a8ae-cb1cbaf6d244/drive/items/root/children').version('beta').get().then((result: any) => {\n\n debugger;\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'TestGraph', this.Debug.Typen.Service);\n }\n }\n\n public async TeamsCheckFileExists(teamsid: string, directoryid: string, filename: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let FileExists: boolean = false;\n let Fileeintrag: Teamsfilesstruktur;\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n directoryid = directoryid.replace('ROOT:', '');\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api(\"/groups/\" + teamsid + \"/drive/items/\" + directoryid + \"/children\").get().then((result: any) => { // Fileliste abrufen\n\n for(Fileeintrag of result.value) {\n\n if(lodash.isUndefined(Fileeintrag.folder)) { // Prüfen das Eintrag keine Directory\n\n if(Fileeintrag.name === filename) { // Filenamen prüfen auf Übereinstimmung\n\n FileExists = true;\n }\n }\n }\n\n resolve(FileExists);\n\n }).catch((error: GraphError) => {\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'TeamsCheckFileExists', this.Debug.Typen.Service);\n }\n }\n\n public async SiteCheckFileExists(directoryid: string, filename: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let FileExists: boolean = false;\n let Fileeintrag: Teamsfilesstruktur;\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n directoryid = directoryid.replace('ROOT:', '');\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + directoryid + '/children').get().then((result: any) => { // Fileliste abrufen\n\n for(Fileeintrag of result.value) {\n\n if(lodash.isUndefined(Fileeintrag.folder)) { // Prüfen das Eintrag keine Directory\n\n if(Fileeintrag.name === filename) { // Filenamen prüfen auf Übereinstimmung\n\n FileExists = true;\n }\n }\n }\n\n resolve(FileExists);\n\n }).catch((error: GraphError) => {\n\n resolve(null);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'SiteCheckFileExists', this.Debug.Typen.Service);\n }\n }\n\n public async GetTeamsSubDirectory(teamsid: string, dirid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/groups/' + teamsid + '/drive/items/' + dirid).get().then((result: Teamsfilesstruktur) => {\n\n debugger;\n\n resolve(result);\n\n }).catch((error: GraphError) => {\n\n\n debugger;\n\n resolve(null);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetTeamsSubDirectory', this.Debug.Typen.Service);\n }\n }\n\n public async GetSiteSubDirectory(dirid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + dirid).get().then((result: any) => {\n\n debugger;\n\n resolve(result);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n resolve(null);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetSiteSubDirectory', this.Debug.Typen.Service);\n }\n }\n\n /*\n\n public async GetTeamsRootDirectory(teamsid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n debugger;\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/groups/' + teamsid + '/drive/root').get().then((result: Teamsfilesstruktur) => {\n\n resolve(result);\n\n }).catch((error: GraphError) => {\n\n\n\n resolve(null);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetTeamsRootDirectory', this.Debug.Typen.Service);\n }\n }\n\n */\n\n public async GetAllUsers(): Promise {\n\n try {\n\n let Userliste: Graphuserstruktur[] = [];\n let Valueliste: any[] = [];\n let data: any;\n let nexturl: any;\n let count: number = 0;\n let token = await this.AuthService.RequestToken('User.ReadBasic.All'); // Der Scope ist so richtig und muss in der app.module.de in der Scopliste eingetragens ein\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n data = await graphClient.api('/users').count().get();\n\n if(!lodash.isUndefined(data['@odata.count'])) count = data['@odata.count'];\n\n if(!lodash.isUndefined(data.value)) {\n\n Valueliste.push(data.value);\n\n if(!lodash.isUndefined(data['@odata.nextLink'])) {\n\n do {\n\n nexturl = data['@odata.nextLink'];\n data = await graphClient.api(nexturl).get();\n\n if(!lodash.isUndefined(data.value)) Valueliste.push(data.value);\n\n }\n while(!lodash.isUndefined(data['@odata.nextLink']));\n\n if(!lodash.isUndefined(data.value)) Valueliste.push(data.value);\n }\n }\n\n for(let Liste of Valueliste) {\n\n for(let Eintrag of Liste) {\n\n Userliste.push(Eintrag);\n }\n }\n\n Userliste = lodash.filter(Userliste, (currentuser: Graphuserstruktur) => {\n\n return currentuser.mail !== null && currentuser.givenName !== null && currentuser.surname !== null;\n });\n\n return Promise.resolve(Userliste);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetAllUsers', this.Debug.Typen.Service);\n }\n }\n\n public async SendMail(Empfaengerliste: Outlookemailadressstruktur[], Betreff: string, Nachricht: string): Promise {\n\n try {\n\n let data: any;\n\n let token = await this.AuthService.RequestToken('Mail.ReadWrite');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n if(this.Pool.Appeinstellungen.DebugNoExternalEmail === true) {\n\n for(let Eintrag of Empfaengerliste) {\n\n Eintrag.emailAddress.address = 'p.hornburger@gmail.com';\n }\n }\n\n if(token !== null) {\n\n const sendMail = {\n message: {\n subject: Betreff,\n body: {\n contentType: 'html',\n content: Nachricht\n },\n toRecipients: Empfaengerliste,\n },\n saveToSentItems: 'true'\n };\n\n try {\n\n data = await graphClient.api('/me/sendMail').post(sendMail);\n\n return Promise.resolve(data);\n }\n catch (error) {\n\n debugger;\n }\n\n }\n else {\n\n debugger;\n\n return Promise.reject(false);\n }\n } catch (error) {\n\n debugger;\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'SendMail', this.Debug.Typen.Service);\n }\n }\n\n public async GetOwnUserimage(): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n const headers = {\n 'Content-Type': 'image/jpeg'\n };\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/me/photo/$value').headers(headers).responseType(ResponseType.BLOB).get().then((result: any) => {\n\n this.UserimageSRC = this.domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(result));\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n switch (error.statusCode) {\n\n case 404: // Not found\n\n this.UserimageSRC = null;\n\n resolve(true);\n\n break;\n\n default:\n\n debugger;\n\n break;\n }\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n\n });\n\n } catch (error) {\n\n debugger;\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnUserinfo', this.Debug.Typen.Service);\n }\n }\n\n public async GetOtherUserimage(userid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let UserImageSRC;\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n const headers = {\n 'Content-Type': 'image/jpeg'\n };\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/users/' + userid + '/photo/$value').headers(headers).responseType(ResponseType.BLOB).get().then((result: any) => {\n\n UserImageSRC = this.domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(result));\n\n resolve(UserImageSRC);\n\n }).catch((error: GraphError) => {\n\n switch (error.statusCode) {\n\n case 404: // Not found\n\n UserImageSRC = null;\n\n resolve(UserImageSRC);\n\n break;\n\n default:\n\n debugger;\n\n break;\n }\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n\n });\n\n } catch (error) {\n\n debugger;\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnUserinfo', this.Debug.Typen.Service);\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {DebugProvider} from '../debug/debug';\nimport {BasicsProvider} from '../basics/basics';\nimport {LoadingController} from \"@ionic/angular\";\n\n@Injectable()\nexport class LoadingAnimationService {\n\n private AjaxTime: number;\n\n constructor(private Debug: DebugProvider,\n private Loader: LoadingController,\n public Basics: BasicsProvider)\n {\n try {\n\n this.AjaxTime = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'file', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public ShowLoadingAnimation(title: string, message: string): Promise {\n\n try {\n\n let HTML = `\n \n \n \n \n \n \n \n
` + title + `

` + message + `
`;\n\n let Options: any = {\n\n spinner: 'lines',\n message: HTML,\n cssClass: 'loadingclass',\n showBackdrop: true,\n enableBackdropDismiss: false,\n translucent: false,\n dismissOnPageChange\t: false,\n\n };\n\n return new Promise((resolve, reject) => {\n\n this.AjaxTime = new Date().getTime();\n\n this.Loader.create(Options).then((res: HTMLIonLoadingElement) => {\n\n res.present();\n\n resolve(true);\n\n }).catch((error) => {\n\n reject(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Loading Message Provider', 'ShowLoadingAnimation', this.Debug.Typen.Service);\n }\n }\n\n public HideLoadingAnimation(wait: boolean): Promise {\n\n try {\n\n let WaitTime = this.Basics.Waittime;\n let TotalTime;\n\n if(this.AjaxTime !== null) TotalTime = new Date().getTime() - this.AjaxTime;\n else {\n\n TotalTime = WaitTime + 1;\n }\n\n return new Promise((resolve) => {\n\n if(wait) {\n\n if(WaitTime > TotalTime) WaitTime = WaitTime - TotalTime;\n else WaitTime = 0;\n\n setTimeout(() => {\n\n this.Loader.dismiss().then(() => {\n\n resolve(true);\n\n }).catch((error) => {\n\n resolve(true);\n });\n\n }, WaitTime);\n\n } else {\n\n return this.Loader.dismiss().then(() => {\n\n resolve(true);\n\n }).catch((error) => {\n\n resolve(true);\n });\n }\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Loading Message Provider', 'HideLoadingAnimation', this.Debug.Typen.Service);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {ToolsProvider} from \"../tools/tools\";\nimport {ConstProvider} from \"../const/const\";\nimport {DatabaseAuthenticationService} from \"../database-authentication/database-authentication.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MenueService {\n\n public MainMenuebereich: string;\n public MainMenuebereiche = {\n\n Home: 'Home',\n Email: 'Email',\n Debug: 'Debug',\n Logout: 'Logout',\n Einstellungen: 'Einstellungen',\n Projekte: 'Projekte',\n Urlaubsplanung: 'Urlaubsplanung'\n };\n\n public UrlaubMenuebereich: string;\n public UrlaubMenuebereiche = {\n\n Planung: 'Planung',\n Uebersicht: 'Uebersicht',\n Gesamtplanung: 'Gesamtplanung',\n Einstellungen: 'Einstellungen',\n Freigaben: 'Freigaben'\n };\n\n public ProjekteMenuebereich: string;\n public ProjekteMenuebereiche = {\n\n Aufgabenliste: 'Aufgabenliste',\n Protokolle: 'Protokolle',\n LOPListe: 'LOP Liste',\n Bautagebuch: 'Bautagebuch',\n Festlegungen: 'Festlegungen',\n Planungsmatrix: 'Planungsmatrix',\n Simontabelle: 'Simontabelle',\n Fileliste: 'Fileliste',\n Notizen: 'Notizen'\n };\n\n public Aufgabenlisteansicht: string;\n public Aufgabenlisteansichten = {\n\n Mein_Tag: 'Mein Tag',\n Meine_Woche: 'Meine Woche',\n Meilensteine: 'Meilensteine',\n Projekt: 'Projekt',\n Alle: 'Alle'\n };\n\n public FirmaMenuebereich: string;\n public FirmaMenuebereiche = {\n\n Standorte: 'Standorte',\n Mitarbeiter: 'Mitarbeiter',\n Projekte: 'Projekte',\n Favoriten: 'Favoriten',\n Play: 'Play'\n };\n\n public FilelisteAufrufer: string;\n public FilelisteAufrufervarianten = {\n\n Aufgabenliste: 'Aufgabenliste',\n Protokollliste: 'Protokollliste',\n LOPListe: 'LOP Liste',\n Bautagebuch: 'Bautagebuch',\n Festlegungen: 'Festlegungen',\n Simontabelle: 'Simontabelle',\n ImageZoom: 'ImageZoom'\n };\n\n constructor(private Debug: DebugProvider,\n private Tools: ToolsProvider,\n private Const: ConstProvider) {\n\n try {\n\n this.MainMenuebereich = this.MainMenuebereiche.Projekte;\n this.FirmaMenuebereich = this.FirmaMenuebereiche.Projekte;\n this.ProjekteMenuebereich = this.ProjekteMenuebereiche.Aufgabenliste;\n this.UrlaubMenuebereich = this.UrlaubMenuebereiche.Planung;\n this.Aufgabenlisteansicht = this.Aufgabenlisteansichten.Projekt;\n this.FilelisteAufrufer = this.FilelisteAufrufervarianten.Aufgabenliste;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Menue', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n\n public SetCurrentPage() {\n\n try {\n\n switch (this.MainMenuebereich) {\n\n case this.MainMenuebereiche.Home:\n\n this.Tools.SetRootPage(this.Const.Pages.HomePage);\n\n break;\n\n case this.MainMenuebereiche.Email:\n\n this.Tools.SetRootPage(this.Const.Pages.EmaillistePage);\n\n break;\n\n case this.MainMenuebereiche.Urlaubsplanung:\n\n switch (this.UrlaubMenuebereich) {\n\n case this.UrlaubMenuebereiche.Planung:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubPlanungPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Uebersicht:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubUebersichtPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Gesamtplanung:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubsgesamtuebersichtPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Freigaben:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubFreigabenPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Einstellungen:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubEinstellungenPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Freigaben:\n\n break;\n }\n\n break;\n\n case this.MainMenuebereiche.Projekte:\n\n switch (this.ProjekteMenuebereich) {\n\n case this.ProjekteMenuebereiche.Notizen:\n\n this.Tools.SetRootPage(this.Const.Pages.PjNotizenListePage);\n\n break;\n\n case this.ProjekteMenuebereiche.Aufgabenliste:\n\n switch (this.Aufgabenlisteansicht) {\n\n case this.Aufgabenlisteansichten.Alle:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n\n case this.Aufgabenlisteansichten.Mein_Tag:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n\n case this.Aufgabenlisteansichten.Meine_Woche:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n\n case this.Aufgabenlisteansichten.Meilensteine:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n\n case this.Aufgabenlisteansichten.Projekt:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n }\n\n break;\n\n case this.ProjekteMenuebereiche.Fileliste:\n\n this.Tools.PushPage(this.Const.Pages.PjFilebrowserPage);\n\n break;\n\n case this.ProjekteMenuebereiche.Protokolle:\n\n this.Tools.SetRootPage(this.Const.Pages.PjProtokolleListePage);\n\n break;\n\n case this.ProjekteMenuebereiche.LOPListe:\n\n this.Tools.SetRootPage(this.Const.Pages.PjBaustelleLoplistePage);\n\n break;\n\n case this.ProjekteMenuebereiche.Bautagebuch:\n\n this.Tools.SetRootPage(this.Const.Pages.PjBaustelleTagebuchlistePage);\n\n break;\n\n case this.ProjekteMenuebereiche.Festlegungen:\n\n this.Tools.SetRootPage(this.Const.Pages.PjFestlegungslistePage);\n\n break;\n\n case this.ProjekteMenuebereiche.Planungsmatrix:\n\n this.Tools.SetRootPage(this.Const.Pages.PjPlanungsmatrixPage);\n\n break;\n\n case this.ProjekteMenuebereiche.Simontabelle:\n\n this.Tools.SetRootPage(this.Const.Pages.PjSimontabellelistePage);\n\n break;\n }\n\n break;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Menue', 'SetCurrentPage', this.Debug.Typen.Service);\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n\n providedIn: 'root'\n})\nexport class Navparameter {\n\n private NavListe: string[];\n private CanGoBack: boolean;\n private Debugstatus: boolean;\n\n constructor(private Const: ConstProvider) {\n\n try {\n\n this.NavListe = [];\n this.CanGoBack = false;\n this.Debugstatus = true;\n\n\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> constructor:' + error);\n }\n }\n\n public RemovePage(): string {\n\n try {\n\n let Lastpage: string = null;\n\n if(this.NavListe.length > 1) {\n\n this.NavListe.splice(this.NavListe.length - 1, 1);\n\n Lastpage = this.NavListe[this.NavListe.length -1];\n\n if(this.NavListe.length > 1) this.CanGoBack = true;\n else this.CanGoBack = false;\n }\n else this.CanGoBack = false;\n\n if(this.Debugstatus) {\n\n console.log('Navparamter -> Removed Page');\n this.PrintNavliste();\n }\n\n return Lastpage;\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> RemovePage:' + error);\n }\n }\n\n public AddPage(page: string) {\n\n try {\n\n this.CanGoBack = true;\n\n if(this.NavListe[this.NavListe.length - 1] !== page) {\n\n this.NavListe.push(page);\n\n if(this.Debugstatus) {\n\n console.log('Navparamter -> AddPage: ' + page);\n this.PrintNavliste();\n }\n }\n else {\n\n console.log('Add Page Failed: ' + page);\n }\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> AddPage: ' + error);\n }\n }\n\n private PrintNavliste() {\n\n try {\n\n let Eintrag: string;\n\n console.log('**************************');\n console.log('Navliste: ');\n\n for(let i = 0; i < this.NavListe.length; i++) {\n\n Eintrag = this.NavListe[i];\n\n if(i === this.NavListe.length - 1) console.log('-> ' + Eintrag);\n else console.log(Eintrag);\n }\n\n console.log('**************************');\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> PrintNavliste: ' + error);\n }\n }\n\n public SetRootpage(page: string) {\n\n try {\n\n this.CanGoBack = false;\n this.NavListe = [];\n\n this.NavListe.push(page);\n\n if(this.Debugstatus) {\n\n console.log('Navparamter -> SetRootpage: ' + page);\n this.PrintNavliste();\n }\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> SetRootpage: ' + error);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {ToolsProvider} from \"../tools/tools\";\nimport {environment} from \"../../../environments/environment\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SecurityService {\n\n constructor(private Debug: DebugProvider,\n private Tools: ToolsProvider,\n private Const: ConstProvider,\n private Pool: DatabasePoolService)\n\n {\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Security', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public CheckSecurity() {\n\n try {\n\n let Securitystatus: boolean = false;\n\n if(environment.production === false) Securitystatus = true\n else {\n\n if(this.Pool.Mitarbeiterdaten && this.Pool.Mitarbeiterdaten.Planeradministrator === true) Securitystatus = true;\n }\n\n /*\n\n if(Securitystatus === false) {\n\n this.Tools.SetRootPage(this.Const.Pages.HomePage);\n }\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Security', 'CheckSecurity', this.Debug.Typen.Service);\n }\n }\n}\n\n\n","import {ElementRef, Injectable} from '@angular/core';\nimport {DebugProvider} from '../debug/debug';\nimport {AlertController, IonContent, NavController} from '@ionic/angular'; // Platform\nimport {BasicsProvider} from '../basics/basics';\nimport {ConstProvider} from '../const/const';\nimport * as lodash from 'lodash-es';\nimport {Platform} from '@ionic/angular';\nimport MyMoment from \"moment\";\nimport {Navparameter} from \"../navparameter/navparameter\";\nimport moment, {Moment} from \"moment/moment\";\n\n@Injectable({\n\n providedIn: 'root'\n})\nexport class ToolsProvider {\n\n private UID_Counter: number;\n private IsRunningOnDeviceFirstTime: boolean;\n public ShowMessage: boolean;\n public DialogMessage: string;\n private IsRunningOnDeviceValue: boolean;\n\n constructor(public Basics: BasicsProvider,\n private Debug: DebugProvider,\n public Const: ConstProvider,\n private NavParameter: Navparameter,\n private nav: NavController,\n private platform: Platform,\n public alertCtrl: AlertController) {\n try {\n\n this.UID_Counter = 0;\n this.IsRunningOnDeviceFirstTime = true;\n this.ShowMessage = false;\n this.DialogMessage = '';\n this.IsRunningOnDeviceValue = false;\n\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'Constructor', this.Debug.Typen.Service);\n }\n }\n\n IsNumeric(n): boolean {\n\n try {\n\n return !isNaN(parseFloat(n)) && isFinite(n);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'IsNumeric', this.Debug.Typen.Service);\n }\n }\n\n public GetButtonvalueSize() {\n\n try {\n\n if(this.platform.width() <= 600) return 12;\n else return 6;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetButtonvalueSize', this.Debug.Typen.Service);\n }\n }\n\n GetDatumFromZeitstempel(GesendetZeitstempel: number): string {\n\n try {\n\n let Zeitpunkt: Moment = moment(GesendetZeitstempel);\n\n return Zeitpunkt.format('DD.MM.YY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'GetDatumFromZeitstempel', this.Debug.Typen.Service);\n }\n }\n\n GetZeitFromZeitstempel(GesendetZeitstempel: number): string {\n try {\n\n let Zeitpunkt: Moment = moment(GesendetZeitstempel);\n\n return Zeitpunkt.format('HH:mm');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'GetZeitFromZeitstempel', this.Debug.Typen.Service);\n }\n }\n\n public GenerateFilename(name: string, extention: string, nummer: string): string {\n\n try {\n\n let key: string = name; // .toUpperCase();\n let zahl: string = nummer !== '' ? '_' + nummer : '';\n\n key = key.replace(/ /g, '_');\n key = key.replace(/ä/g, 'ae');\n key = key.replace(/Ä/g, 'AE');\n key = key.replace(/ö/g, 'oe');\n key = key.replace(/Ö/g, 'OE');\n key = key.replace(/ü/g, 'ue');\n key = key.replace(/Ãœ/g, 'UE');\n key = key.replace(/ß/g, 'ss');\n key = key.replace(/[^a-zA-Z0-9 ]/g, '_'); // /[&\\/\\\\#,+()$~%.'§=^!`´;\":.,*-?<>{}]/g, '_');\n\n return key + zahl + '.' + extention;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GenerateProjektkey', this.Debug.Typen.Service);\n }\n }\n\n public GenerateProjektkey(name: string, extention: string): string {\n\n try {\n\n let key: string = name; // .toUpperCase();\n\n key = key.replace(/ /g, '_');\n key = key.replace(/ä/g, 'ae');\n key = key.replace(/Ä/g, 'AE');\n key = key.replace(/ö/g, 'oe');\n key = key.replace(/Ö/g, 'OE');\n key = key.replace(/ü/g, 'ue');\n key = key.replace(/Ãœ/g, 'UE');\n key = key.replace(/ß/g, 'ss');\n key = key.replace(/[^a-zA-Z0-9 ]/g, '_'); // /[&\\/\\\\#,+()$~%.'§=^!`´;\":.,*-?<>{}]/g, '_');\n\n return key;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GenerateProjektkey', this.Debug.Typen.Service);\n }\n }\n\n\n public DeepCompareObjectarrays(ListeA: any[], ListeB: any[]): boolean {\n\n try {\n\n let Changed: boolean = false;\n let Index: number;\n let key: string;\n let Keyliste: string[];\n let EintragA: any;\n let EintragB: any;\n\n if(ListeA.length >= ListeB.length) {\n\n for(EintragA of ListeA) {\n\n // Objekt in der anderen Liste suchen\n\n Index = ListeB.findIndex((eintrag: any) => {\n\n return EintragA[key] === eintrag[key];\n });\n\n if(Index === -1) {\n\n Changed = true;\n\n break;\n }\n else {\n\n // Alle Felder im Objekt vergleichen\n\n Keyliste = Object.keys(ListeA[Index]);\n EintragB = ListeB[Index];\n\n for(let Key of Keyliste) {\n\n if(EintragA[Key] !== EintragB[Key]) {\n\n Changed = true;\n\n break;\n }\n }\n\n if(Changed === true) break;\n }\n }\n }\n else {\n\n for(EintragB of ListeB) {\n\n // Objekt in der anderen Liste suchen\n\n Index = ListeA.findIndex((eintrag: any) => {\n\n return EintragB[key] === eintrag[key];\n });\n\n if(Index === -1) {\n\n Changed = true;\n\n break;\n }\n else {\n\n Keyliste = Object.keys(ListeA[Index]);\n EintragA = ListeA[Index];\n\n for(let Key of Keyliste) {\n\n // Alle Felder im Objekt vergleichen\n\n if(EintragB[Key] !== EintragA[Key]) {\n\n Changed = true;\n\n break;\n }\n }\n\n if(Changed === true) break;\n }\n }\n }\n\n return Changed;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'DeepCompareObjectarrays', this.Debug.Typen.Service);\n }\n }\n\n public JSONCompareObjectarrays(ListeA: any[], ListeB: any[]): boolean {\n\n try {\n\n return JSON.stringify(ListeA) !== JSON.stringify(ListeB);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'JSONCompareObjectarrays', this.Debug.Typen.Service);\n }\n }\n\n public CompareObjectarrays(ListeA: any[], ListeB: any[], key: string): boolean {\n\n try {\n\n\n let Changed = false;\n let Index: number;\n\n // this.Artikelliste = ListeA\n // Artikelliste = ListeB\n\n if(ListeA.length >= ListeB.length) {\n\n for(let EintragA of ListeA) {\n\n Index = ListeB.findIndex((eintrag: any) => {\n\n return EintragA[key] === eintrag[key];\n });\n\n if(Index === -1) {\n\n Changed = true;\n\n break;\n }\n }\n }\n else {\n\n for(let EintragB of ListeB) {\n\n Index = ListeA.findIndex((eintrag: any) => {\n\n return EintragB[key] === eintrag[key];\n });\n\n if(Index === -1) {\n\n Changed = true;\n\n break;\n }\n }\n }\n\n return Changed;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'CompareObjectarrays', this.Debug.Typen.Service);\n }\n }\n\n public ShowEntscheidungDialog(header, message): Promise {\n\n try {\n\n return new Promise((resolve) => {\n\n this.alertCtrl.create({\n header: header,\n message: message,\n cssClass: 'alertdialogclass',\n\n buttons: [\n {\n text: 'Nein',\n cssClass: 'infonoclass',\n handler: () => {\n\n resolve(this.Const.Dialogmessages.no);\n }\n }, {\n text: 'Ja',\n cssClass: 'infookclass',\n handler: () => {\n\n resolve(this.Const.Dialogmessages.ok);\n }\n }\n ]\n }).then((dialog) => {\n\n dialog.present();\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'ShowEntscheidungDialog', this.Debug.Typen.Service);\n }\n }\n\n public ShowAuswahlDialog(header, message, wahla: string, wahlb: string): Promise {\n\n try {\n\n return new Promise((resolve) => {\n\n\n this.alertCtrl.create({\n header: header,\n cssClass: 'alertdialogclass',\n message: message,\n\n inputs: [\n {\n name: 'wahla',\n type: 'radio',\n label: wahla,\n value: this.Const.Dialogmessages.wahla,\n checked: true,\n },\n {\n name: 'wahlb',\n type: 'radio',\n label: wahlb,\n value: this.Const.Dialogmessages.wahlb,\n }\n ],\n\n buttons: [\n {\n text: 'Abbrechen',\n role: 'cancel',\n cssClass: 'infonotwoclass',\n handler: () => {\n\n resolve(null);\n }\n }, {\n text: 'Fertig',\n cssClass: 'infookclass',\n handler: (data: any) => {\n\n if(lodash.isUndefined(data)) {\n\n resolve(null);\n }\n else {\n\n resolve(data);\n }\n }\n }\n ]\n }).then((dialog) => {\n\n dialog.present();\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'ShowAuswahlDialog', this.Debug.Typen.Service);\n }\n }\n\n\n public RemoveNullFromObject(obj: object): object {\n\n try {\n\n let Eintrag;\n\n for(const key of Object.keys(obj)) {\n\n Eintrag = obj[key];\n\n if(Eintrag === null) {\n\n Eintrag = '';\n obj[key] = Eintrag;\n }\n }\n\n return obj;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'RemoveNullFromObject', this.Debug.Typen.Service);\n }\n\n }\n\n public FormatCurrency(amount, decimalCount = 2, decimal = \",\", thousands = \".\"): string {\n\n try {\n\n decimalCount = Math.abs(decimalCount);\n decimalCount = isNaN(decimalCount) ? 2 : decimalCount;\n\n const negativeSign = amount < 0 ? \"-\" : \"\";\n\n let i: any = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();\n let j = (i.length > 3) ? i.length % 3 : 0;\n\n return negativeSign +\n (j ? i.substr(0, j) + thousands : '') +\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + thousands) +\n (decimalCount ? decimal + Math.abs(amount - i).toFixed(decimalCount).slice(2) : \"\") + ' ' + '€';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'FormatCurrency', this.Debug.Typen.Service);\n }\n }\n\n FormatNumber(amount, decimalCount = 2, decimal = \",\", thousands = \".\") {\n\n try {\n\n decimalCount = Math.abs(decimalCount);\n decimalCount = isNaN(decimalCount) ? 2 : decimalCount;\n\n const negativeSign = amount < 0 ? \"-\" : \"\";\n\n let i: any = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();\n let j = (i.length > 3) ? i.length % 3 : 0;\n\n return negativeSign +\n (j ? i.substr(0, j) + thousands : '') +\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + thousands) +\n (decimalCount ? decimal + Math.abs(amount - i).toFixed(decimalCount).slice(2) : \"\");\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'FormatNumber', this.Debug.Typen.Service);\n }\n\n }\n\n public FormatMoney(amount, decimalCount = 2, decimal = \",\", thousands = \".\"): string {\n\n try {\n\n decimalCount = Math.abs(decimalCount);\n decimalCount = isNaN(decimalCount) ? 2 : decimalCount;\n\n const negativeSign = amount < 0 ? \"-\" : \"\";\n\n let i: any = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();\n let j = (i.length > 3) ? i.length % 3 : 0;\n\n return negativeSign +\n (j ? i.substr(0, j) + thousands : '') +\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + thousands) +\n (decimalCount ? decimal + Math.abs(amount - i).toFixed(decimalCount).slice(2) : \"\");\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'FormatMoney', this.Debug.Typen.Service);\n }\n }\n\n public FormatValue(wert: number, einheit, kommastellen: number)\n {\n try {\n\n let Ausgabe: string;\n\n if(wert !== null)\n {\n if(wert >= 1000000)\n {\n wert = wert / 1000000;\n\n if(kommastellen === 0)\n {\n wert = Math.round(wert);\n Ausgabe = wert.toString() + ' M';\n }\n else Ausgabe = wert.toFixed(kommastellen) + ' M';\n }\n else if(wert >= 1000)\n {\n wert = wert / 1000;\n\n if(kommastellen === 0)\n {\n wert = Math.round(wert);\n Ausgabe = wert.toString() + ' k';\n }\n else Ausgabe = wert.toFixed(kommastellen) + ' k';\n }\n else\n {\n if(wert > 0 && wert < 1)\n {\n if (wert < 0.000000001)\n {\n wert = wert * 1000000000;\n\n if(kommastellen === 0) wert = Math.round(wert);\n else Ausgabe = wert.toFixed(kommastellen);\n\n Ausgabe = wert.toString() + ' p';\n }\n else if (wert < 0.000001)\n {\n wert = wert * 1000000;\n\n if(kommastellen === 0) Ausgabe = Math.round(wert).toString();\n else Ausgabe = wert.toFixed(kommastellen);\n\n Ausgabe = Ausgabe + ' n';\n }\n else if (wert < 0.001)\n {\n wert = wert * 1000;\n\n if(kommastellen === 0) Ausgabe = Math.round(wert).toString();\n else Ausgabe = wert.toFixed(kommastellen);\n\n Ausgabe = Ausgabe + ' µ';\n }\n else if (wert < 1)\n {\n wert = wert * 1000;\n\n if(kommastellen === 0) Ausgabe = Math.round(wert).toString();\n else Ausgabe = wert.toFixed(kommastellen);\n\n Ausgabe = Ausgabe + ' m';\n }\n\n }\n else\n {\n if(kommastellen === 0) Ausgabe = Math.round(wert).toString();\n else Ausgabe = wert.toFixed(kommastellen);\n\n if(einheit !== '') Ausgabe = Ausgabe + ' ' + einheit;\n }\n }\n\n Ausgabe = Ausgabe.replace('.', ',');\n\n if(einheit !== '') Ausgabe = Ausgabe + ' ' + einheit;\n\n return Ausgabe;\n }\n else\n {\n return '0';\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'FormatValue', this.Debug.Typen.Service);\n }\n }\n\n\n public GetUniqueID(name: string): string {\n\n try {\n\n this.UID_Counter++;\n\n return 'uid_' + name.replace(/-/g, '_') + '_' + this.UID_Counter.toString();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetUniqueID', this.Debug.Typen.Service);\n }\n }\n\n public HexToRGB(hex): string {\n\n try {\n\n let bigint: number;\n let r: number = 100;\n let g: number = 50;\n let b: number = 50;\n\n if(typeof hex !== 'undefined') {\n\n hex = hex.replace('#', '');\n\n bigint = parseInt(hex, 16);\n r = (bigint >> 16) & 255;\n g = (bigint >> 8) & 255;\n b = bigint & 255;\n }\n\n return r + ',' + g + ',' + b;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'HexToRGB', this.Debug.Typen.Component);\n }\n }\n\n public SetRootPage(page: string): Promise {\n\n try {\n\n return new Promise(resolve => {\n\n this.nav.navigateRoot(page, {animated : false}).then(() => {\n\n this.NavParameter.SetRootpage(page);\n\n resolve(true);\n\n }).catch((error: any) => {\n\n debugger;\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'SetRootPage', this.Debug.Typen.Service);\n }\n }\n\n public PushPage(page: string): Promise {\n\n try {\n\n return new Promise(resolve => {\n\n this.nav.navigateForward(page, {animated:true }).then(() => {\n\n this.NavParameter.AddPage(page);\n\n resolve(true);\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'SetRootPage', this.Debug.Typen.Service);\n }\n }\n\n public PopPage(): Promise {\n\n try {\n\n let Lastpage: string;\n\n return new Promise(resolve => {\n\n Lastpage = this.NavParameter.RemovePage();\n\n if(Lastpage !== null) {\n\n this.nav.navigateBack(Lastpage, {animated:false}).then(() => {\n\n\n resolve(true);\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n }\n else {\n\n resolve(true);\n }\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'SetRootPage', this.Debug.Typen.Service);\n }\n }\n\n\n public GetBogenmass(winkel: number): number {\n\n try {\n\n return (winkel / 180) * Math.PI;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetBogenmass', this.Debug.Typen.Service);\n }\n }\n\n public GetGradmass(winkel: number): number {\n\n try {\n\n return (winkel * 180) / Math.PI;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetGradmass', this.Debug.Typen.Service);\n }\n }\n\n public IstGerade(wert: number): boolean {\n\n try {\n\n return wert % 2 === 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'IstGerade', this.Debug.Typen.Service);\n }\n }\n\n public IstUngerade(wert: number): boolean {\n\n try {\n\n return wert % 2 !== 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'IstUngerade', this.Debug.Typen.Service);\n }\n }\n\n public RundenDezimal(value: number, precision: number) {\n\n try {\n\n let multiplier = Math.pow(10, precision || 0);\n\n return Math.round(value * multiplier) / multiplier;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'file', 'function', this.Debug.Typen.Page);\n }\n\n }\n\n public Runden(wert: number, stellen: number): any {\n\n try {\n\n let Zahl = Math.pow(10, stellen);\n\n return (Math.round(wert * Zahl) / Zahl).toFixed(stellen);\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'Runden', this.Debug.Typen.Service);\n }\n }\n\n public GetZeitstempelwert(): number {\n\n try {\n\n return MyMoment().valueOf();\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetZeitstempel', this.Debug.Typen.Service);\n }\n }\n\n public GetZeitpunkttext(): string {\n\n try {\n\n return MyMoment().format( 'DD.MM.YYYY HH:mm:ss');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetZeitstempel', this.Debug.Typen.Service);\n }\n }\n\n public GetTimebasedID(tag: number, monat: number, jahr: number): string {\n\n try {\n\n let Stunde: number = 12;\n let Minute: number = 0;\n\n return MyMoment(tag + '.' + monat + '.' + jahr + ' ' + Stunde + ':' + Minute, 'DD.MM.YYYY HH:mm').locale('de').valueOf().toString();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetTimebasedID', this.Debug.Typen.Service);\n }\n }\n\n public FormatLinebreaks(text: string): string {\n\n try {\n\n if(typeof text !== 'undefined') {\n\n return text.replace(/(?:\\r\\n|\\r|\\n)/g, '
');\n }\n else {\n\n return '';\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'FormatLinebreaks', this.Debug.Typen.Service);\n }\n }\n\n public ReplaceSonderzeichen(value: string): string {\n\n try {\n\n value = value.replace(/ /g, '_');\n value = value.replace(/ä/g, 'ae');\n value = value.replace(/Ä/g, 'Ae');\n value = value.replace(/ö/g, 'oe');\n value = value.replace(/Ö/g, 'Oe');\n value = value.replace(/ü/g, 'ue');\n value = value.replace(/Ãœ/g, 'Ue');\n value = value.replace(/ß/g, 'ss');\n value = value.replace(/[&\\/\\\\#,+()$~%.'§=^!`´;\":.,*-?<>{}]/g, '');\n\n\n return value;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'ReplaceSonderzeichen', this.Debug.Typen.Service);\n }\n }\n\n public RundenAsText(wert: number, stellen: number): string {\n\n try {\n\n let Zahl = Math.pow(10, stellen);\n let Ergo: number;\n\n Ergo = Math.round(wert * Zahl) / Zahl;\n\n return Ergo.toString().replace('.', ',');\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'Runden', this.Debug.Typen.Service);\n }\n }\n\n public CheckArray(data: any) {\n\n try {\n\n if(this.CheckObject(data, false)) {\n\n if (data instanceof Array) {\n\n return true;\n }\n else {\n\n return false;\n }\n\n } else {\n\n return false;\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'CheckArray', this.Debug.Typen.Service);\n }\n }\n\n public CheckObject(data: any, key: string | boolean) {\n\n try {\n\n if(typeof data !== 'undefined' && data !== null) {\n\n if(key === false) {\n\n return true;\n }\n else {\n\n if(typeof data[key.toString()] !== 'undefined') {\n\n return true;\n }\n else {\n\n return false;\n }\n }\n }\n else {\n\n return false;\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'CheckObject', this.Debug.Typen.Service);\n }\n }\n\n public ShowHinweisDialog(message: string): Promise {\n\n try {\n\n return new Promise((resolve) => {\n\n this.alertCtrl.create({\n\n header: 'Hinweis',\n message: message,\n cssClass: 'alertdialogclass',\n buttons: [\n {\n text: \"Ok\",\n cssClass: 'infookclass',\n handler: () => {\n\n resolve(true);\n }\n }\n ]\n }).then((dialog) => {\n\n dialog.present();\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'ShowHinweisDialog', this.Debug.Typen.Service);\n }\n }\n\n\n\n CheckEmail(email: string): boolean {\n\n try {\n\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'CheckEmail', this.Debug.Typen.Service);\n }\n\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n\n production: true,\n useonlinedb: true,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t27844,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t55512,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t58104,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t51768,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t76488,\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t46640,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t12387,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t64800,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t60308,\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t32796,\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t944,\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t55060,\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t90128,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime-button.entry.js\": [\n\t\t93888,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-0f3ab200_js\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime-button_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t59608,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-0f3ab200_js\",\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t24704,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t66792,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t58924,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t80219,\n\t\t\"default-node_modules_ionic_core_dist_esm_form-controller-21dd62b1_js-node_modules_ionic_core_-a176d1\",\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t30292,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t1328,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t69328,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t22344,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t83012,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t23796,\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t89420,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t98916,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t62500,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t37464,\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t44624,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t47744,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t76936,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t60376,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t60272,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t43216,\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t66764,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t88240,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t56168,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t77328,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t59716,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t3220,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t13044,\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t21660,\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t97271,\n\t\t\"default-node_modules_ionic_core_dist_esm_form-controller-21dd62b1_js-node_modules_ionic_core_-a176d1\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t20108,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t94936,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 21480;\nmodule.exports = webpackAsyncContext;","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 99052;\nmodule.exports = webpackEmptyAsyncContext;","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `::ng-deep ngx-material-timepicker-content {\n --body-background-color: #7b6a58;\n --primary-font-family: \"Roboto\",sans-serif;\n --button-color: none !important;\n --dial-active-color: #fff;\n --dial-inactive-color: rgba(255, 255, 255, .5);\n --dial-background-color: #354547 !important;\n --dial-editable-active-color: #c7d304 !important;\n --dial-editable-background-color: #fff;\n --clock-face-time-active-color: #fff;\n --clock-face-time-inactive-color: #6c6c6c;\n --clock-face-inner-time-inactive-color: #929292;\n --clock-face-time-disabled-color: #c5c5c5;\n --clock-face-background-color: #354547;\n --clock-hand-color: #c7d304 !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/app.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,gCAAA;EACA,0CAAA;EACA,+BAAA;EACA,yBAAA;EACA,8CAAA;EACA,2CAAA;EACA,gDAAA;EACA,sCAAA;EACA,oCAAA;EACA,yCAAA;EACA,+CAAA;EACA,yCAAA;EACA,sCAAA;EACA,sCAAA;AACF\",\"sourcesContent\":[\"::ng-deep ngx-material-timepicker-content{\\n --body-background-color: #7b6a58;\\n --primary-font-family: 'Roboto',sans-serif;\\n --button-color: none !important;\\n --dial-active-color: #fff;\\n --dial-inactive-color: rgba(255, 255, 255, .5);\\n --dial-background-color: #354547 !important;\\n --dial-editable-active-color: #c7d304 !important;\\n --dial-editable-background-color: #fff;\\n --clock-face-time-active-color: #fff;\\n --clock-face-time-inactive-color: #6c6c6c;\\n --clock-face-inner-time-inactive-color: #929292;\\n --clock-face-time-disabled-color: #c5c5c5;\\n --clock-face-background-color: #354547;\\n --clock-hand-color: #c7d304 !important;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 90%;\n color: #444444;\n}\n\n.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n}\n\n.contentinnerclass {\n border-left: 3px solid #354547;\n border-right: 3px solid #354547;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components-page/fi-changelog-editor/fi-changelog-editor.component.scss\"],\"names\":[],\"mappings\":\"AAEE;EAEE,cAAA;EACA,cAAA;AAFJ;;AAMA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AAJF;;AAOA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;AALF;;AAQA;EAEE,8BAAA;EACA,+BAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AANF\",\"sourcesContent\":[\".infotable {\\n\\n td {\\n\\n font-size: 90%;\\n color: #444444;\\n }\\n}\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n}\\n\\n.contentinnerclass {\\n\\n border-left: 3px solid #354547;\\n border-right: 3px solid #354547;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 80%;\n color: #444444;\n}\n\n.ergonametextclass {\n font-weight: bold;\n}\n\n.emptymessageclass {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-top: 100px;\n}\n\n.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.innerkeeperclass {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n border-left: 3px solid #354547;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n display: flex;\n flex-direction: column;\n}\n\n.menufilterbuttonclass {\n padding: 2px;\n padding-right: 4px;\n cursor: pointer;\n background: #7b6a58;\n border-radius: 4px;\n}\n\n.innerkeeperlisteclass {\n width: 100%;\n height: 100%;\n overflow: auto;\n}\n\n.innerkeeperalphabetclass {\n width: 44px;\n height: 100%;\n overflow: auto;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.component.scss\"],\"names\":[],\"mappings\":\"AAGE;EAEE,cAAA;EACA,cAAA;AAHJ;;AAOA;EAEE,iBAAA;AALF;;AAQA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;AANF;;AAUA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AARF;;AAWA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;AATF;;AAYA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;EACA,aAAA;EACA,sBAAA;AAVF;;AAaA;EAEE,YAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,kBAAA;AAXF;;AAeA;EAEE,WAAA;EACA,YAAA;EACA,cAAA;AAbF;;AAgBA;EAEE,WAAA;EACA,YAAA;EACA,cAAA;AAdF\",\"sourcesContent\":[\"\\n.infotable {\\n\\n td {\\n\\n font-size: 80%;\\n color: #444444;\\n }\\n}\\n\\n.ergonametextclass {\\n\\n font-weight: bold;\\n}\\n\\n.emptymessageclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n padding-top: 100px;\\n}\\n\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.innerkeeperclass {\\n\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n border-left: 3px solid #354547;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.menufilterbuttonclass {\\n\\n padding: 2px;\\n padding-right: 4px;\\n cursor: pointer;\\n background: #7b6a58;\\n border-radius: 4px;\\n}\\n\\n\\n.innerkeeperlisteclass {\\n\\n width: 100%;\\n height: 100%;\\n overflow: auto;\\n}\\n\\n.innerkeeperalphabetclass {\\n\\n width: 44px;\\n height: 100%;\\n overflow: auto;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 90%;\n color: #444444;\n}\n\n.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n display: flex;\n flex-direction: column;\n}\n\n.contentinnerclass {\n border-left: 3px solid #307ac1;\n border-right: 3px solid #307ac1;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n.menubuttonclass {\n cursor: pointer;\n}\n\n.trennertdclass {\n width: 30px;\n}\n\n.positionclass {\n background: white;\n height: 30px;\n width: 300px;\n}\n\n.positionclass:hover {\n background: silver;\n}\n\n.keeperdivclass {\n display: flex;\n flex-direction: row;\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.poslisteclass {\n height: 100%;\n width: 65%;\n overflow: auto;\n}\n\n.poseditorclass {\n height: 100%;\n width: 35%;\n overflow: auto;\n border-left: 2px solid #444444;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.component.scss\"],\"names\":[],\"mappings\":\"AAEE;EAEE,cAAA;EACA,cAAA;AAFJ;;AAMA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AAJF;;AAOA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;EACA,aAAA;EACA,sBAAA;AALF;;AAQA;EAEE,8BAAA;EACA,+BAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AANF;;AASA;EAEE,eAAA;AAPF;;AAUA;EAEE,WAAA;AARF;;AAWA;EAEE,iBAAA;EACA,YAAA;EACA,YAAA;AATF;;AAWA;EAEE,kBAAA;AATF;;AAYA;EAEE,aAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;AAVF;;AAaA;EAEE,YAAA;EACA,UAAA;EACA,cAAA;AAXF;;AAcA;EAEE,YAAA;EACA,UAAA;EACA,cAAA;EACA,8BAAA;AAZF\",\"sourcesContent\":[\".infotable {\\n\\n td {\\n\\n font-size: 90%;\\n color: #444444;\\n }\\n}\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.contentinnerclass {\\n\\n border-left: 3px solid #307ac1;\\n border-right: 3px solid #307ac1;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.menubuttonclass {\\n\\n cursor: pointer;\\n}\\n\\n.trennertdclass {\\n\\n width: 30px;\\n}\\n\\n.positionclass {\\n\\n background: white;\\n height: 30px;\\n width: 300px;\\n}\\n.positionclass:hover {\\n\\n background: silver;\\n}\\n\\n.keeperdivclass {\\n\\n display: flex;\\n flex-direction: row;\\n position: relative;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.poslisteclass {\\n\\n height: 100%;\\n width: 65%;\\n overflow: auto;\\n}\\n\\n.poseditorclass {\\n\\n height: 100%;\\n width: 35%;\\n overflow: auto;\\n border-left: 2px solid #444444;\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 90%;\n color: #444444;\n}\n\n.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n}\n\n.contentinnerclass {\n border-left: 3px solid #2190df;\n border-right: 3px solid #2190df;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components-page/fi-standort-editor/fi-standort-editor.component.scss\"],\"names\":[],\"mappings\":\"AAEE;EAEE,cAAA;EACA,cAAA;AAFJ;;AAMA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AAJF;;AAOA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;AALF;;AAQA;EAEE,8BAAA;EACA,+BAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AANF\",\"sourcesContent\":[\".infotable {\\n\\n td {\\n\\n font-size: 90%;\\n color: #444444;\\n }\\n}\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n}\\n\\n.contentinnerclass {\\n\\n border-left: 3px solid #2190df;\\n border-right: 3px solid #2190df;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.alphabetclass {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.alphabetitem {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-grow: 1;\n color: white;\n font-size: 80%;\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/alphabet-relative/alphabet-relative.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,YAAA;EACA,WAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;AAAF;;AAGA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,YAAA;EACA,cAAA;EACA,eAAA;AADF\",\"sourcesContent\":[\".alphabetclass {\\n\\n height: 100%;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n justify-content: center; // horizontal\\n}\\n\\n.alphabetitem {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertical\\n flex-grow: 1;\\n color: white;\\n font-size: 80%;\\n cursor: pointer;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.alphabetclass {\n position: absolute;\n background: #ffffff;\n right: 0px;\n width: 12vw;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.alphabetitem {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-grow: 1;\n color: white;\n font-size: 80%;\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/alphabet/alphabet.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,mBAAA;EACA,UAAA;EACA,WAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;AAAF;;AAGA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,YAAA;EACA,cAAA;EACA,eAAA;AADF\",\"sourcesContent\":[\".alphabetclass {\\n\\n position: absolute;\\n background: #ffffff;\\n right: 0px;\\n width: 12vw;\\n display: flex;\\n flex-direction: column;\\n justify-content: center; // horizontal\\n}\\n\\n.alphabetitem {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertical\\n flex-grow: 1;\\n color: white;\\n font-size: 80%;\\n cursor: pointer;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.innerkeeperclass {\n overflow: auto;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n border-left: 3px solid #2190df;\n border-right: 3px solid #2190df;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n display: flex;\n flex-direction: column;\n}\n\n.menufilterbuttonclass {\n padding: 2px;\n padding-right: 4px;\n cursor: pointer;\n background: #7b6a58;\n border-radius: 4px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/auswahl-dialog/auswahl-dialog.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AADF;;AAIA;EAEE,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,+BAAA;AAFF;;AAKA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;EACA,aAAA;EACA,sBAAA;AAHF;;AAMA;EAEE,YAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,kBAAA;AAJF\",\"sourcesContent\":[\"\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.innerkeeperclass {\\n\\n overflow: auto;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n border-left: 3px solid #2190df;\\n border-right: 3px solid #2190df;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.menufilterbuttonclass {\\n\\n padding: 2px;\\n padding-right: 4px;\\n cursor: pointer;\\n background: #7b6a58;\\n border-radius: 4px;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.buttonclass {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 44px;\n border-radius: 4px;\n padding: 2px;\n display: flex;\n}\n\n.buttontextclass {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n min-height: 44px;\n width: 100%;\n height: 100%;\n}\n\n.outerinfokeeperclass {\n height: 100%;\n width: 60%;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.infokeeperclass {\n color: white;\n height: 34px;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 4px;\n}\n\nion-datetime {\n height: auto;\n width: auto;\n max-width: 350px;\n --background: #354547;\n}\n\nion-modal {\n --width: 290px;\n --height: 382px;\n --border-radius: 8px;\n}\n\nion-modal ion-datetime {\n height: 382px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/button-value-date/button-value-date.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;AADF;;AAIA;EAEE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;AAFF;;AAKA;EAEE,YAAA;EACA,UAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAHF;;AAOA;EAEE,YAAA;EACA,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;AALF;;AAQA;EACE,YAAA;EACA,WAAA;EACA,gBAAA;EACA,qBAAA;AALF;;AAQA;EACE,cAAA;EACA,eAAA;EACA,oBAAA;AALF;;AAQA;EACE,aAAA;AALF\",\"sourcesContent\":[\"\\n.buttonclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n width: 100%;\\n height: 44px;\\n border-radius: 4px;\\n padding: 2px;\\n display: flex;\\n}\\n\\n.buttontextclass {\\n\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertical\\n min-height: 44px;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.outerinfokeeperclass {\\n\\n height: 100%;\\n width: 60%;\\n padding: 2px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.infokeeperclass {\\n\\n color: white;\\n height: 34px;\\n padding: 2px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertical\\n border-radius: 4px;\\n}\\n\\nion-datetime {\\n height: auto;\\n width: auto;\\n max-width: 350px;\\n --background: #354547;\\n}\\n\\nion-modal {\\n --width: 290px;\\n --height: 382px;\\n --border-radius: 8px;\\n}\\n\\nion-modal ion-datetime {\\n height: 382px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.buttonclass {\n position: relative;\n width: 100%;\n height: 44px;\n border-radius: 4px;\n padding: 2px;\n display: flex;\n}\n\n.buttontextclass {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n min-height: 8px;\n width: 100%;\n height: 100%;\n}\n\n.outerinfokeeperclass {\n height: 100%;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.infokeeperclass {\n color: white;\n height: 34px;\n width: 100%;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 4px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/button-value/button-value.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;AADF;;AAIA;EAEE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;AAFF;;AAMA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAJF;;AASA;EAEE,YAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EAEA,uBAAA;EACA,mBAAA;EACA,kBAAA;AARF\",\"sourcesContent\":[\"\\n.buttonclass {\\n\\n position: relative;\\n width: 100%;\\n height: 44px;\\n border-radius: 4px;\\n padding: 2px;\\n display: flex;\\n}\\n\\n.buttontextclass {\\n\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertical\\n min-height: 8px;\\n width: 100%;\\n height: 100%;\\n}\\n\\n\\n.outerinfokeeperclass {\\n\\n height: 100%;\\n padding: 2px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n\\n.infokeeperclass {\\n\\n color: white;\\n height: 34px;\\n width: 100%;\\n padding: 2px;\\n display: flex;\\n // border: 1px solid white;\\n justify-content: center; // horizontal\\n align-items: center; // vertical\\n border-radius: 4px;\\n}\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperdivclass {\n padding: 2px;\n position: relative;\n width: 24px;\n height: 24px;\n border: 2px solid gray;\n border-radius: 4px;\n display: flex;\n justify-content: center;\n align-items: center;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/checkbox-clon/checkbox-clon.component.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,YAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,sBAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AADF\",\"sourcesContent\":[\"\\n.keeperdivclass {\\n\\n padding: 2px;\\n position: relative;\\n width: 24px;\\n height: 24px;\\n border: 2px solid gray;\\n border-radius: 4px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.framedivclass {\n width: 100%;\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n}\n\n.inputclass {\n border: 1px solid blue;\n border: none;\n --padding-bottom: 0px;\n --padding-end: 0px;\n --padding-start: 0px;\n --padding-top: 0px;\n --color: black;\n}\n\nion-label {\n color: black;\n}\n\nion-textarea {\n margin-top: 0px;\n border: none;\n --padding-bottom: 100px;\n --padding-end: 0px;\n --padding-start: 0px;\n --padding-top: 0px;\n --color: black;\n}\n\n.uppercellclass {\n font-size: 80%;\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 4px;\n padding-bottom: 2px;\n}\n\n.lowercellclass {\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 0px;\n padding-bottom: 4px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/input-clone/input-clone.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,WAAA;EACA,aAAA;EACA,2BAAA;EACA,uBAAA;AAAF;;AAIA;EAEE,sBAAA;EACA,YAAA;EACA,qBAAA;EACA,kBAAA;EACA,oBAAA;EACA,kBAAA;EACA,cAAA;AAFF;;AAKA;EAEE,YAAA;AAHF;;AAQA;EAEE,eAAA;EACA,YAAA;EACA,uBAAA;EACA,kBAAA;EACA,oBAAA;EACA,kBAAA;EACA,cAAA;AANF;;AASA;EAEE,cAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,mBAAA;AAPF;;AAWA;EAEE,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,mBAAA;AATF\",\"sourcesContent\":[\".framedivclass {\\n\\n width: 100%;\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: flex-start; // vertikal\\n\\n}\\n\\n.inputclass {\\n\\n border: 1px solid blue;\\n border: none;\\n --padding-bottom: 0px;\\n --padding-end: 0px;\\n --padding-start: 0px;\\n --padding-top: 0px;\\n --color: black;\\n}\\n\\nion-label {\\n\\n color: black;\\n}\\n\\n\\n\\nion-textarea {\\n\\n margin-top: 0px;\\n border: none;\\n --padding-bottom: 100px;\\n --padding-end: 0px;\\n --padding-start: 0px;\\n --padding-top: 0px;\\n --color: black;\\n}\\n\\n.uppercellclass {\\n\\n font-size: 80%;\\n padding-left: 4px;\\n padding-right: 4px;\\n padding-top: 4px;\\n padding-bottom: 2px;\\n\\n\\n}\\n.lowercellclass {\\n\\n padding-left: 4px;\\n padding-right: 4px;\\n padding-top: 0px;\\n padding-bottom: 4px;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperclass {\n background: #307ac1;\n color: white;\n width: 100%;\n min-height: 40px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-footer/page-footer.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,mBAAA;EACA,YAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,yBAAA;AAAF\",\"sourcesContent\":[\".keeperclass {\\n\\n background: #307ac1;\\n color: white;\\n width: 100%;\\n min-height: 40px;\\n height: 100%;\\n display: flex;\\n align-items: center; // vertikal\\n justify-content: flex-end; // horizontal\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperdivclass {\n width: 100%;\n background: #2190df;\n min-height: 52px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-header-center/page-header-center.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,aAAA;EACA,mBAAA;EACA,2BAAA;AAAF\",\"sourcesContent\":[\".keeperdivclass {\\n\\n width: 100%;\\n background: #2190df;\\n min-height: 52px;\\n display: flex;\\n align-items: center; // vertikal\\n justify-content: flex-start; // horizontal\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.menubuttonclass {\n cursor: pointer;\n}\n\n.menufilterbuttonclass {\n padding: 2px;\n padding-right: 4px;\n cursor: pointer;\n background: #454545;\n border-radius: 4px;\n}\n\n.planungheaderdiv {\n border-radius: 6px;\n width: 40px;\n height: 40px;\n background: #454545;\n color: white;\n font-size: 90%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.trennertdclass {\n width: 30px;\n}\n\n.trennerdivclass {\n width: 1px;\n min-height: 30px;\n height: 100%;\n background: silver;\n}\n\n.trennerbigdivclass {\n width: 1px;\n min-height: 64px;\n height: 100%;\n background: silver;\n}\n\nion-searchbar {\n width: 300px;\n height: 50px;\n --border-radius: none;\n --box-shadow: none;\n --background: black;\n}\n\n.iconboxclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 6px;\n width: 40px;\n height: 40px;\n background: #444444;\n}\n\n.menubuttonclass {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n min-height: 50px;\n padding: 2px;\n}\n\n.buttonclass {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 140px;\n min-height: 34px;\n height: 100%;\n padding: 2px;\n border: 1px solid white;\n border-radius: 6px;\n cursor: pointer;\n}\n\n.buttonsmallclass {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 50px;\n min-height: 34px;\n height: 100%;\n border: 1px solid white;\n border-radius: 6px;\n cursor: pointer;\n}\n\n.statusvaianteclass {\n padding: 6px;\n border-radius: 3px;\n width: auto;\n white-space: nowrap;\n color: white;\n font-size: 80%;\n}\n\n.wocheheaderdivclass {\n background: #354547;\n color: white;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.userimagesmall {\n display: inline-block;\n width: 40px;\n height: 40px;\n margin-top: 4px;\n border-radius: 50%;\n object-fit: cover;\n}\n\n.userkuerzelsmall {\n display: inline-block;\n width: 40px;\n height: 40px;\n margin-right: 4px;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: #454545;\n color: white;\n font-weight: bold;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-header-menu/page-header-menu.component.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,eAAA;AADF;;AAIA;EAEE,YAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,kBAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAHF;;AAMA;EAEE,WAAA;AAJF;;AAOA;EAEE,UAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;AALF;;AAQA;EAEE,UAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;AANF;;AASA;EAEE,YAAA;EACA,YAAA;EACA,qBAAA;EACA,kBAAA;EACA,mBAAA;AAPF;;AAUA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;AARF;;AAWA;EAEE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;AATF;;AAYA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,gBAAA;EACA,YAAA;EACA,YAAA;EACA,uBAAA;EACA,kBAAA;EACA,eAAA;AAVF;;AAaA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;EACA,uBAAA;EACA,kBAAA;EACA,eAAA;AAXF;;AAcA;EAEE,YAAA;EACA,kBAAA;EACA,WAAA;EACA,mBAAA;EACA,YAAA;EACA,cAAA;AAZF;;AAcA;EAEE,mBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAZF;;AAgBA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,kBAAA;EACA,iBAAA;AAdF;;AAiBA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,mBAAA;EACA,YAAA;EACA,iBAAA;AAfF\",\"sourcesContent\":[\"\\n.menubuttonclass {\\n\\n cursor: pointer;\\n}\\n\\n.menufilterbuttonclass {\\n\\n padding: 2px;\\n padding-right: 4px;\\n cursor: pointer;\\n background: #454545;\\n border-radius: 4px;\\n}\\n\\n.planungheaderdiv {\\n\\n border-radius: 6px;\\n width: 40px;\\n height: 40px;\\n background: #454545;\\n color: white;\\n font-size: 90%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.trennertdclass {\\n\\n width: 30px;\\n}\\n\\n.trennerdivclass {\\n\\n width: 1px;\\n min-height: 30px;\\n height: 100%;\\n background: silver;\\n}\\n\\n.trennerbigdivclass {\\n\\n width: 1px;\\n min-height: 64px;\\n height: 100%;\\n background: silver;\\n}\\n\\nion-searchbar {\\n\\n width: 300px;\\n height: 50px;\\n --border-radius: none;\\n --box-shadow: none;\\n --background: black;\\n}\\n\\n.iconboxclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border-radius: 6px;\\n width: 40px;\\n height: 40px;\\n background: #444444;\\n}\\n\\n.menubuttonclass {\\n\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertikal\\n width: 100%;\\n min-height: 50px;\\n padding: 2px;\\n}\\n\\n.buttonclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n width: 140px;\\n min-height: 34px;\\n height: 100%;\\n padding: 2px;\\n border: 1px solid white;\\n border-radius: 6px;\\n cursor: pointer;\\n}\\n\\n.buttonsmallclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n width: 50px;\\n min-height: 34px;\\n height: 100%;\\n border: 1px solid white;\\n border-radius: 6px;\\n cursor: pointer;\\n}\\n\\n.statusvaianteclass {\\n\\n padding: 6px;\\n border-radius: 3px;\\n width: auto;\\n white-space: nowrap;\\n color: white;\\n font-size: 80%;\\n}\\n.wocheheaderdivclass {\\n\\n background: #354547;\\n color: white;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n // font-weight: bold;\\n}\\n\\n.userimagesmall {\\n\\n display: inline-block;\\n width: 40px;\\n height: 40px;\\n margin-top: 4px;\\n border-radius: 50%;\\n object-fit: cover;\\n}\\n\\n.userkuerzelsmall {\\n\\n display: inline-block;\\n width: 40px;\\n height: 40px;\\n margin-right: 4px;\\n border-radius: 50%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n background: #454545;\\n color: white;\\n font-weight: bold;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `ion-progress-bar {\n --background: #444444;\n --progress-background: #307ac1;\n}\n\n.keeperdivclass {\n width: 100%;\n background: #307ac1;\n min-height: 52px;\n /*\n display: flex;\n align-items: center; // vertikal\n justify-content: flex-start; // horizontal\n\n */\n}\n\n.loadingdivclass {\n position: absolute;\n width: 400px;\n height: 300px;\n z-index: 10000;\n top: 200px;\n left: 50%;\n transform: translate(-50%, 0);\n}\n\n.headerdivclass {\n background: #307ac1;\n width: 100%;\n height: 30px;\n padding: 4px;\n color: white;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n\n.contentdivclass {\n border-left: 3px solid #307ac1;\n border-right: 3px solid #307ac1;\n background: white;\n width: 100%;\n height: 120px;\n padding: 6px;\n display: flex;\n justify-content: center;\n align-items: center;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-header/page-header.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,qBAAA;EACA,8BAAA;AACF;;AAEA;EAEE,WAAA;EACA,mBAAA;EACA,gBAAA;EACA;;;;;IAAA;AAKF;;AAGA;EAEE,kBAAA;EACA,YAAA;EACA,aAAA;EACA,cAAA;EACA,UAAA;EACA,SAAA;EACA,6BAAA;AADF;;AAIA;EAEE,mBAAA;EACA,WAAA;EAAa,YAAA;EACb,YAAA;EACA,YAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;AADF;;AAIA;EAEE,8BAAA;EACA,+BAAA;EACA,iBAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAFF\",\"sourcesContent\":[\"ion-progress-bar {\\n --background: #444444;\\n --progress-background: #307ac1;\\n}\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n background: #307ac1;\\n min-height: 52px;\\n /*\\n display: flex;\\n align-items: center; // vertikal\\n justify-content: flex-start; // horizontal\\n\\n */\\n}\\n\\n.loadingdivclass {\\n\\n position: absolute;\\n width: 400px;\\n height: 300px;\\n z-index: 10000;\\n top: 200px;\\n left: 50%;\\n transform: translate(-50%, 0);\\n}\\n\\n.headerdivclass {\\n\\n background: #307ac1;\\n width: 100%; height: 30px;\\n padding: 4px;\\n color: white;\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.contentdivclass {\\n\\n border-left: 3px solid #307ac1;\\n border-right: 3px solid #307ac1;\\n background: white;\\n width: 100%;\\n height: 120px;\\n padding: 6px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperdivclass {\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n position: absolute;\n z-index: 1000;\n}\n\n.contentdivclass {\n background: blue;\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n}\n\n.menufilterbuttonclass {\n padding: 2px;\n padding-right: 4px;\n cursor: pointer;\n background: #7b6a58;\n border-radius: 4px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-modal-keeper/page-modal-keeper.component.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,WAAA;EACA,YAAA;EACA,8BAAA;EACA,kBAAA;EACA,aAAA;AADF;;AAIA;EAEE,gBAAA;EACA,SAAA;EACA,kBAAA;EACA,0BAAA;AAFF;;AAKA;EAEE,YAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,kBAAA;AAHF\",\"sourcesContent\":[\"\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n background: rgba(0, 0, 0, 0.5);\\n position:absolute;\\n z-index: 1000;\\n}\\n\\n.contentdivclass {\\n\\n background: blue;\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n}\\n\\n.menufilterbuttonclass {\\n\\n padding: 2px;\\n padding-right: 4px;\\n cursor: pointer;\\n background: #7b6a58;\\n border-radius: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.frameclass {\n border: 1px solid #307ac1;\n background: white;\n color: white;\n padding: 4px;\n width: 100%;\n height: 100%;\n}\n\n.tagrahmenclass {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n border: 1px solid #444444;\n}\n\n.feiertagdivclass {\n width: 100%;\n height: 20px;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.feriendivclass {\n width: 100%;\n height: 20px;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.taginfodivclass {\n font-weight: bold;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n height: inherit;\n height: 26px;\n color: #307ac1;\n}\n\n.kwinfodivclass {\n font-weight: bold;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 30px;\n color: #307ac1;\n}\n\n.taginfospacedivclass {\n color: red;\n height: 20px;\n width: 100%;\n}\n\n.wochenendedivclass {\n font-weight: bold;\n color: white;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 30px;\n background: #34495E;\n}\n\n.wochenendespacedivclass {\n background: #34495E;\n height: 20px;\n width: 100%;\n}\n\n.tagdivclass {\n cursor: pointer;\n font-weight: bold;\n color: black;\n width: 100%;\n height: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.tagexterndivclass {\n border-top: 1px solid red;\n cursor: pointer;\n color: white;\n font-size: 80%;\n font-weight: bold;\n width: 100%;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n}\n\n.tagexternemptydivclass {\n border-top: 1px solid;\n cursor: pointer;\n color: white;\n font-size: 80%;\n width: 100%;\n height: 20px;\n display: flex;\n box-sizing: border-box;\n justify-content: center;\n align-items: center;\n}\n\n.buttoninfoclass {\n width: 100%;\n height: 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n}\n\n/*\n\n.ferientagdivclass {\n\n cursor: pointer;\n font-weight: bold;\n color: white;\n width: 100%;\n display: flex;\n justify-content: center; // horizontal\n align-items: center; // vertikal\n height: 30px;\n background: burlywood;\n}\n\n */\n.kwdivclass {\n border-radius: 50px;\n height: 38px;\n background: none;\n color: black;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.scss\"],\"names\":[],\"mappings\":\"AAEA;EAEE,yBAAA;EACA,iBAAA;EACA,YAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;AAFF;;AAKA;EAEE,aAAA;EACA,sBAAA;EACA,WAAA;EACA,YAAA;EACA,yBAAA;AAHF;;AAMA;EAEE,WAAA;EACA,YAAA;EACA,eAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAJF;;AAOA;EAEE,WAAA;EACA,YAAA;EACA,eAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AALF;;AAQA;EAEE,iBAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;EACA,YAAA;EACA,cAAA;AANF;;AASA;EAEE,iBAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,cAAA;AAPF;;AAUA;EAEE,UAAA;EACA,YAAA;EACA,WAAA;AARF;;AAWA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,mBAAA;AATF;;AAYA;EAEE,mBAAA;EACA,YAAA;EACA,WAAA;AAVF;;AAcA;EAEE,eAAA;EACA,iBAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAZF;;AAeA;EAEE,yBAAA;EACA,eAAA;EACA,YAAA;EACA,cAAA;EACA,iBAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;AAbF;;AAgBA;EAEE,qBAAA;EACA,eAAA;EACA,YAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;AAdF;;AAmBA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAjBF;;AAoBA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;AAlBF;;AAsBA;;;;;;;;;;;;;;;EAAA;AAiBA;EAEE,mBAAA;EACA,YAAA;EACA,gBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AArBF\",\"sourcesContent\":[\"\\n\\n.frameclass {\\n\\n border: 1px solid #307ac1;\\n background: white;\\n color: white;\\n padding: 4px;\\n width: 100%;\\n height: 100%\\n}\\n\\n.tagrahmenclass {\\n\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n border: 1px solid #444444;\\n}\\n\\n.feiertagdivclass {\\n\\n width: 100%;\\n height: 20px;\\n cursor: pointer;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.feriendivclass {\\n\\n width: 100%;\\n height: 20px;\\n cursor: pointer;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.taginfodivclass {\\n\\n font-weight: bold;\\n width: 100%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n height: inherit;\\n height: 26px;\\n color: #307ac1;\\n}\\n\\n.kwinfodivclass {\\n\\n font-weight: bold;\\n width: 100%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n height: 30px;\\n color: #307ac1;\\n}\\n\\n.taginfospacedivclass {\\n\\n color: red;\\n height: 20px;\\n width: 100%;\\n}\\n\\n.wochenendedivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 100%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n height: 30px;\\n background: #34495E;\\n}\\n\\n.wochenendespacedivclass {\\n\\n background: #34495E;\\n height: 20px;\\n width: 100%;\\n}\\n\\n\\n.tagdivclass {\\n\\n cursor: pointer;\\n font-weight: bold;\\n color: black;\\n width: 100%;\\n height: 30px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.tagexterndivclass {\\n\\n border-top: 1px solid red;\\n cursor: pointer;\\n color: white;\\n font-size: 80%;\\n font-weight: bold;\\n width: 100%;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n box-sizing: border-box;\\n}\\n\\n.tagexternemptydivclass {\\n\\n border-top: 1px solid;\\n cursor: pointer;\\n color: white;\\n font-size: 80%;\\n width: 100%;\\n height: 20px;\\n display: flex;\\n box-sizing: border-box;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\\n\\n.buttoninfoclass {\\n\\n width: 100%;\\n height: 10px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n}\\n\\n\\n/*\\n\\n.ferientagdivclass {\\n\\n cursor: pointer;\\n font-weight: bold;\\n color: white;\\n width: 100%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n height: 30px;\\n background: burlywood;\\n}\\n\\n */\\n\\n.kwdivclass {\\n\\n border-radius: 50px;\\n height: 38px;\\n background: none;\\n color: black;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#container {\n text-align: center;\n position: absolute;\n left: 0;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.sendmailcircle {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n}\n\n#container strong {\n font-size: 20px;\n line-height: 26px;\n}\n\n#container p {\n font-size: 16px;\n line-height: 22px;\n color: #8c8c8c;\n margin: 0;\n}\n\n#container a {\n text-decoration: none;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-einstellungen/common-einstellungen.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAA;EAEA,kBAAA;EACA,OAAA;EACA,QAAA;EACA,QAAA;EACA,2BAAA;AAAF;;AAGA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AADF;;AAIA;EACE,eAAA;EACA,iBAAA;AADF;;AAIA;EACE,eAAA;EACA,iBAAA;EAEA,cAAA;EAEA,SAAA;AAHF;;AAMA;EACE,qBAAA;AAHF\",\"sourcesContent\":[\"#container {\\n text-align: center;\\n\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 50%;\\n transform: translateY(-50%);\\n}\\n\\n.sendmailcircle {\\n\\n width: 12px;\\n height: 12px;\\n border-radius: 50%;\\n}\\n\\n#container strong {\\n font-size: 20px;\\n line-height: 26px;\\n}\\n\\n#container p {\\n font-size: 16px;\\n line-height: 22px;\\n\\n color: #8c8c8c;\\n\\n margin: 0;\\n}\\n\\n#container a {\\n text-decoration: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.projektbuttoniconclass {\n height: 90px;\n width: 100px;\n z-index: 100;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.projektbuttoniconerrorclass {\n height: 90px;\n width: 100px;\n z-index: 200;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.trennerdiv {\n width: 100px;\n height: 10px;\n border-radius: 4px;\n margin: 6px;\n}\n\n.trennerdivclass {\n width: 1px;\n min-height: 30px;\n height: 100%;\n background: silver;\n}\n\n.buttonclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 160px;\n height: 140px;\n cursor: pointer;\n background: white;\n}\n\n.changelogdiv {\n border: 2px solid gray;\n border-radius: 10px;\n width: 360px;\n height: 300px;\n position: absolute;\n padding: 8px;\n left: 20px;\n bottom: 20px;\n background: white;\n z-index: 1000;\n overflow: auto;\n}\n\n.outputdiv {\n border: 2px solid gray;\n border-radius: 10px;\n width: 500px;\n height: 600px;\n position: absolute;\n position: absolute;\n padding: 8px;\n left: 20px;\n top: 560px;\n background: white;\n z-index: 1000;\n overflow: auto;\n}\n\n.userimagesmall {\n display: inline-block;\n width: 40px;\n height: 40px;\n margin-top: 4px;\n border-radius: 50%;\n object-fit: cover;\n}\n\n.userimage {\n display: inline-block;\n width: 60px;\n height: 60px;\n border-radius: 50%;\n object-fit: cover;\n}\n\n.userkuerzelsmall {\n display: inline-block;\n width: 40px;\n height: 40px;\n margin-right: 4px;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n color: white;\n font-weight: bold;\n}\n\n.buttonbigclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 360px;\n height: 220px;\n cursor: pointer;\n background: white;\n}\n\n.buttonsmallclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 80px;\n height: 80px;\n cursor: pointer;\n background: white;\n}\n\n.favlistedivclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 400px;\n cursor: pointer;\n background: white;\n overflow: auto;\n}\n\n.menubuttonclass {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n min-height: 50px;\n padding: 2px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-home/common-home.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,YAAA;EACA,YAAA;EACA,YAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAAF;;AAEC;EAEE,YAAA;EACA,YAAA;EACD,YAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAAF;;AAIA;EAEE,YAAA;EACA,YAAA;EACA,kBAAA;EACA,WAAA;AAFF;;AAKA;EAEE,UAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;AAHF;;AAMA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;AAJF;;AAOA;EAEE,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,YAAA;EACA,UAAA;EACA,YAAA;EACA,iBAAA;EACA,aAAA;EACA,cAAA;AALF;;AAQA;EAEE,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,kBAAA;EACA,YAAA;EACA,UAAA;EACA,UAAA;EACA,iBAAA;EACA,aAAA;EACA,cAAA;AANF;;AASA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,kBAAA;EACA,iBAAA;AAPF;;AAUA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,iBAAA;AARF;;AAWA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,iBAAA;AATF;;AAYA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;AAVF;;AAaA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,iBAAA;AAXF;;AAcA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;AAZF;;AAeA;EAEE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;AAbF\",\"sourcesContent\":[\".projektbuttoniconclass {\\n\\n height: 90px;\\n width: 100px;\\n z-index: 100;\\n position: absolute;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\\n}.projektbuttoniconerrorclass {\\n\\n height: 90px;\\n width: 100px;\\n z-index: 200;\\n position: absolute;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n\\n.trennerdiv {\\n\\n width: 100px;\\n height: 10px;\\n border-radius: 4px;\\n margin: 6px;\\n}\\n\\n.trennerdivclass {\\n\\n width: 1px;\\n min-height: 30px;\\n height: 100%;\\n background: silver;\\n}\\n\\n.buttonclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 160px;\\n height: 140px;\\n cursor: pointer;\\n background: white;\\n}\\n\\n.changelogdiv {\\n\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 360px;\\n height: 300px;\\n position: absolute;\\n padding: 8px;\\n left: 20px;\\n bottom: 20px;\\n background: white;\\n z-index: 1000;\\n overflow: auto;\\n}\\n\\n.outputdiv {\\n\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 500px;\\n height: 600px;\\n position: absolute;\\n position: absolute;\\n padding: 8px;\\n left: 20px;\\n top: 560px;\\n background: white;\\n z-index: 1000;\\n overflow: auto;\\n}\\n\\n.userimagesmall {\\n\\n display: inline-block;\\n width: 40px;\\n height: 40px;\\n margin-top: 4px;\\n border-radius: 50%;\\n object-fit: cover;\\n}\\n\\n.userimage {\\n\\n display: inline-block;\\n width: 60px;\\n height: 60px;\\n border-radius: 50%;\\n object-fit: cover;\\n}\\n\\n.userkuerzelsmall {\\n\\n display: inline-block;\\n width: 40px;\\n height: 40px;\\n margin-right: 4px;\\n border-radius: 50%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n color: white;\\n font-weight: bold;\\n}\\n\\n.buttonbigclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 360px;\\n height: 220px;\\n cursor: pointer;\\n background: white;\\n}\\n\\n.buttonsmallclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 80px;\\n height: 80px;\\n cursor: pointer;\\n background: white;\\n}\\n\\n.favlistedivclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 400px;\\n cursor: pointer;\\n background: white;\\n overflow: auto;\\n}\\n\\n.menubuttonclass {\\n\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertikal\\n width: 100%;\\n min-height: 50px;\\n padding: 2px;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.legendedivclass {\n font-weight: bold;\n color: white;\n width: 30px;\n border: 1px solid #444444;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass {\n height: 30px;\n width: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-einstellungen/common-urlaub-einstellungen.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAAF;;AAGA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AADF;;AAKA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAHF;;AAMA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAJF;;AAOA;EAEE,YAAA;EACA,mBAAA;AALF\",\"sourcesContent\":[\".legendedivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 30px;\\n border: 1px solid #444444;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 100px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contentkeeperdivclass {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.contentdivclass {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 10;\n overflow: auto;\n}\n\n.legendebuttonclass {\n width: 14px;\n height: 100%;\n background: #307ac1;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.legendekeeperdivclass {\n position: absolute;\n height: 1000px;\n background: silver;\n right: 0px;\n top: 0px;\n z-index: 20;\n overflow: visible;\n}\n\n.legendedivclass {\n font-weight: bold;\n font-size: 80%;\n color: white;\n width: 36px;\n border: 1px solid #444444;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendenewdivclass {\n width: 36px;\n height: 24px;\n display: flex;\n flex-direction: row;\n}\n\n.legendeinnerdivclass {\n color: white;\n font-size: 90%;\n width: 50%;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendebreitdivclass {\n font-weight: bold;\n font-size: 80%;\n color: white;\n width: 60px;\n border: 1px solid #444444;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass {\n height: 30px;\n width: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-freigaben/common-urlaub-freigaben.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;AAAF;;AAGA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;AADF;;AAIA;EAEE,WAAA;EACA,YAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,cAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,iBAAA;AAHF;;AAMA;EAEE,iBAAA;EACA,cAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAJF;;AAOA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AALF;;AAQA;EAEE,YAAA;EACA,cAAA;EACA,UAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AANF;;AASA;EAEE,iBAAA;EACA,cAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAPF;;AAWA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AATF;;AAaA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAXF;;AAcA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAZF;;AAeA;EAEE,YAAA;EACA,mBAAA;AAbF\",\"sourcesContent\":[\".contentkeeperdivclass {\\n\\n position: relative;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.contentdivclass {\\n\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n overflow: auto;\\n}\\n\\n.legendebuttonclass {\\n\\n width: 14px;\\n height: 100%;\\n background: #307ac1;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n.legendekeeperdivclass {\\n\\n position: absolute;\\n height: 1000px;\\n background: silver;\\n right: 0px;\\n top: 0px;\\n z-index: 20;\\n overflow: visible;\\n}\\n\\n.legendedivclass {\\n\\n font-weight: bold;\\n font-size: 80%;\\n color: white;\\n width: 36px;\\n border: 1px solid #444444;\\n height: 24px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legendenewdivclass {\\n\\n width: 36px;\\n height: 24px;\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.legendeinnerdivclass {\\n\\n color: white;\\n font-size: 90%;\\n width: 50%;\\n height: 24px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legendebreitdivclass {\\n\\n font-weight: bold;\\n font-size: 80%;\\n color: white;\\n width: 60px;\\n border: 1px solid #444444;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 100px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contentdivclass {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 10;\n overflow: visible;\n}\n\n.legendebuttonclass {\n width: 14px;\n background: #307ac1;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.legendekeeperdivclass {\n position: absolute;\n background: silver;\n right: 0px;\n top: 0px;\n bottom: 0px;\n z-index: 20;\n overflow: visible;\n display: flex;\n flex-direction: row;\n}\n\n.headerdivclass {\n position: absolute;\n left: 0px;\n top: 0px;\n width: 100%;\n}\n\n.innercontentdivclass {\n position: absolute;\n left: 0px;\n width: 100%;\n overflow: auto;\n}\n\n.urlaubclass {\n width: 38px;\n height: 20px;\n color: white;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 80%;\n}\n\n.homeofficeclass {\n width: 38px;\n height: 36px;\n color: white;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 80%;\n}\n\n.monatedivclass {\n height: 30px;\n width: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.legendedivclass {\n font-weight: bold;\n color: white;\n width: 30px;\n border: 1px solid #444444;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;AAAF;;AAGA;EAEE,WAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AADF;;AAIA;EAEE,kBAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,iBAAA;EACA,aAAA;EACA,mBAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,SAAA;EACA,QAAA;EACA,WAAA;AAHF;;AAMA;EAEE,kBAAA;EACA,SAAA;EACA,WAAA;EACA,cAAA;AAJF;;AAOA;EAEE,WAAA;EACA,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,cAAA;AALF;;AAQA;EAEE,WAAA;EACA,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,cAAA;AANF;;AASA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAPF;;AAUA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AARF;;AAWA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AATF;;AAaA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAXF;;AAeA;EAEE,YAAA;EACA,mBAAA;AAbF\",\"sourcesContent\":[\".contentdivclass {\\n\\n position: relative;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n overflow: visible;\\n}\\n\\n.legendebuttonclass {\\n\\n width: 14px;\\n background: #307ac1;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n.legendekeeperdivclass {\\n\\n position: absolute;\\n background: silver;\\n right: 0px;\\n top: 0px;\\n bottom: 0px;\\n z-index: 20;\\n overflow: visible;\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.headerdivclass {\\n\\n position: absolute;\\n left: 0px;\\n top: 0px;\\n width: 100%;\\n}\\n\\n.innercontentdivclass {\\n\\n position: absolute;\\n left: 0px;\\n width: 100%;\\n overflow: auto;\\n}\\n\\n.urlaubclass {\\n\\n width: 38px;\\n height: 20px;\\n color: white;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-size: 80%;\\n}\\n\\n.homeofficeclass {\\n\\n width: 38px;\\n height: 36px;\\n color: white;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-size: 80%;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 100px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.legendedivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 30px;\\n border: 1px solid #444444;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.festlegenbuttondiv {\n background: #444444;\n border-radius: 4px;\n padding: 4px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: white;\n width: 100%;\n min-height: 30px;\n cursor: pointer;\n}\n\n.datumdivclass {\n width: 200px;\n height: 60px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n background: #307ac1;\n color: white;\n font-weight: bold;\n border: 1px solid #444444;\n border-radius: 4px;\n padding: 4px;\n}\n\n.datumcanceldivclass {\n width: 60px;\n height: 60px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n background: red;\n color: white;\n font-weight: bold;\n border: 1px solid #444444;\n border-radius: 4px;\n cursor: pointer;\n padding: 4px;\n}\n\n.datumokdivclass {\n width: 120px;\n height: 60px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n background: green;\n color: white;\n font-weight: bold;\n border: 1px solid #444444;\n border-radius: 4px;\n cursor: pointer;\n padding: 4px;\n}\n\n.contentkeeperdivclass {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.contentdivclass {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 10;\n overflow: auto;\n}\n\n.legendebuttonclass {\n width: 14px;\n height: 100%;\n background: #307ac1;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.legendekeeperdivclass {\n position: absolute;\n height: 1000px;\n background: silver;\n right: 0px;\n top: 0px;\n z-index: 20;\n overflow: visible;\n}\n\n.legendedivclass {\n font-size: 90%;\n font-weight: bold;\n color: white;\n width: 36px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendenewdivclass {\n width: 36px;\n height: 24px;\n display: flex;\n flex-direction: row;\n}\n\n.legendeinnerdivclass {\n color: white;\n font-size: 90%;\n width: 50%;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass {\n height: 30px;\n width: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}\n\n.monatlableclass {\n height: 32px;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-planung/common-urlaub-planung.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,mBAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,WAAA;EACA,gBAAA;EACA,eAAA;AAAF;;AAEA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,YAAA;EACA,iBAAA;EACA,yBAAA;EACA,kBAAA;EACA,YAAA;AAAF;;AAGA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;EACA,yBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;AADF;;AAIA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,iBAAA;EACA,YAAA;EACA,iBAAA;EACA,yBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;AAHF;;AAMA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;AAJF;;AAOA;EAEE,WAAA;EACA,YAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AALF;;AAQA;EAEE,kBAAA;EACA,cAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,iBAAA;AANF;;AASA;EAEE,cAAA;EACA,iBAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAPF;;AAUA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AARF;;AAWA;EAEE,YAAA;EACA,cAAA;EACA,UAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AATF;;AAYA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAVF;;AAcA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAZF;;AAeA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAbF;;AAgBA;EAEE,YAAA;EACA,mBAAA;AAdF;;AAiBA;EAEE,YAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;AAfF\",\"sourcesContent\":[\".festlegenbuttondiv {\\n\\n background: #444444;\\n border-radius: 4px;\\n padding: 4px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n color: white;\\n width: 100%;\\n min-height: 30px;\\n cursor: pointer;\\n}\\n.datumdivclass {\\n\\n width: 200px;\\n height: 60px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n text-align: center;\\n background: #307ac1;\\n color: white;\\n font-weight: bold;\\n border: 1px solid #444444;\\n border-radius: 4px;\\n padding: 4px;\\n}\\n\\n.datumcanceldivclass {\\n\\n width: 60px;\\n height: 60px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n text-align: center;\\n background: red;\\n color: white;\\n font-weight: bold;\\n border: 1px solid #444444;\\n border-radius: 4px;\\n cursor: pointer;\\n padding: 4px;\\n}\\n\\n.datumokdivclass {\\n\\n width: 120px;\\n height: 60px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n text-align: center;\\n background: green;\\n color: white;\\n font-weight: bold;\\n border: 1px solid #444444;\\n border-radius: 4px;\\n cursor: pointer;\\n padding: 4px;\\n}\\n\\n.contentkeeperdivclass {\\n\\n position: relative;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.contentdivclass {\\n\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n overflow: auto;\\n}\\n\\n.legendebuttonclass {\\n\\n width: 14px;\\n height: 100%;\\n background: #307ac1;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n.legendekeeperdivclass {\\n\\n position: absolute;\\n height: 1000px;\\n background: silver;\\n right: 0px;\\n top: 0px;\\n z-index: 20;\\n overflow: visible;\\n}\\n\\n.legendedivclass {\\n\\n font-size: 90%;\\n font-weight: bold;\\n color: white;\\n width: 36px;\\n height: 24px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legendenewdivclass {\\n\\n width: 36px;\\n height: 24px;\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.legendeinnerdivclass {\\n\\n color: white;\\n font-size: 90%;\\n width: 50%;\\n height: 24px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 100px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n.monatlableclass {\\n\\n height: 32px;\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contentdivclass {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 10;\n overflow: visible;\n}\n\n.legendebuttonclass {\n width: 14px;\n height: 100%;\n background: #307ac1;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.legendekeeperdivclass {\n position: absolute;\n height: 1000px;\n background: silver;\n right: 0px;\n top: 0px;\n z-index: 20;\n overflow: visible;\n}\n\n.legendedivclass {\n font-weight: bold;\n color: white;\n width: 30px;\n border: 1px solid #444444;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass {\n height: 30px;\n width: 200px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-uebersicht/common-urlaub-uebersicht.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;AAAF;;AAGA;EAEE,WAAA;EACA,YAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AADF;;AAIA;EAEE,kBAAA;EACA,cAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,iBAAA;AAFF;;AAKA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAHF;;AAMA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAJF;;AAQA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AANF;;AASA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAPF;;AAUA;EAEE,YAAA;EACA,mBAAA;AARF\",\"sourcesContent\":[\".contentdivclass {\\n\\n position: relative;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n overflow: visible;\\n}\\n\\n.legendebuttonclass {\\n\\n width: 14px;\\n height: 100%;\\n background: #307ac1;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n.legendekeeperdivclass {\\n\\n position: absolute;\\n height: 1000px;\\n background: silver;\\n right: 0px;\\n top: 0px;\\n z-index: 20;\\n overflow: visible;\\n}\\n\\n.legendedivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 30px;\\n border: 1px solid #444444;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 200px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.buttonbigclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 360px;\n height: 220px;\n cursor: pointer;\n background: white;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-wartung/common-wartung.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;AAAF\",\"sourcesContent\":[\".buttonbigclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 360px;\\n height: 220px;\\n cursor: pointer;\\n background: white;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 80%;\n color: #444444;\n}\n\n.ergonametextclass {\n font-weight: bold;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/fi-mitarbeiterliste/fi-mitarbeiterliste.scss\"],\"names\":[],\"mappings\":\"AAGE;EAEE,cAAA;EACA,cAAA;AAHJ;;AAOA;EAEE,iBAAA;AALF\",\"sourcesContent\":[\"\\n.infotable {\\n\\n td {\\n\\n font-size: 80%;\\n color: #444444;\\n }\\n}\\n\\n.ergonametextclass {\\n\\n font-weight: bold;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 80%;\n color: #444444;\n}\n\n.ergonametextclass {\n font-weight: bold;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/fi-standorteliste/fi-standorteliste.scss\"],\"names\":[],\"mappings\":\"AAGE;EAEE,cAAA;EACA,cAAA;AAHJ;;AAOA;EAEE,iBAAA;AALF\",\"sourcesContent\":[\"\\n.infotable {\\n\\n td {\\n\\n font-size: 80%;\\n color: #444444;\\n }\\n}\\n\\n.ergonametextclass {\\n\\n font-weight: bold;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 22408,\n\t\"./af.js\": 22408,\n\t\"./ar\": 83632,\n\t\"./ar-dz\": 98564,\n\t\"./ar-dz.js\": 98564,\n\t\"./ar-kw\": 59628,\n\t\"./ar-kw.js\": 59628,\n\t\"./ar-ly\": 60764,\n\t\"./ar-ly.js\": 60764,\n\t\"./ar-ma\": 8087,\n\t\"./ar-ma.js\": 8087,\n\t\"./ar-ps\": 84152,\n\t\"./ar-ps.js\": 84152,\n\t\"./ar-sa\": 36932,\n\t\"./ar-sa.js\": 36932,\n\t\"./ar-tn\": 97064,\n\t\"./ar-tn.js\": 97064,\n\t\"./ar.js\": 83632,\n\t\"./az\": 78216,\n\t\"./az.js\": 78216,\n\t\"./be\": 90432,\n\t\"./be.js\": 90432,\n\t\"./bg\": 54440,\n\t\"./bg.js\": 54440,\n\t\"./bm\": 45340,\n\t\"./bm.js\": 45340,\n\t\"./bn\": 91936,\n\t\"./bn-bd\": 43392,\n\t\"./bn-bd.js\": 43392,\n\t\"./bn.js\": 91936,\n\t\"./bo\": 11440,\n\t\"./bo.js\": 11440,\n\t\"./br\": 51592,\n\t\"./br.js\": 51592,\n\t\"./bs\": 15056,\n\t\"./bs.js\": 15056,\n\t\"./ca\": 25992,\n\t\"./ca.js\": 25992,\n\t\"./cs\": 15944,\n\t\"./cs.js\": 15944,\n\t\"./cv\": 60928,\n\t\"./cv.js\": 60928,\n\t\"./cy\": 86160,\n\t\"./cy.js\": 86160,\n\t\"./da\": 22112,\n\t\"./da.js\": 22112,\n\t\"./de\": 6456,\n\t\"./de-at\": 44712,\n\t\"./de-at.js\": 44712,\n\t\"./de-ch\": 29100,\n\t\"./de-ch.js\": 29100,\n\t\"./de.js\": 6456,\n\t\"./dv\": 28776,\n\t\"./dv.js\": 28776,\n\t\"./el\": 91928,\n\t\"./el.js\": 91928,\n\t\"./en-au\": 67528,\n\t\"./en-au.js\": 67528,\n\t\"./en-ca\": 20736,\n\t\"./en-ca.js\": 20736,\n\t\"./en-gb\": 13976,\n\t\"./en-gb.js\": 13976,\n\t\"./en-ie\": 41600,\n\t\"./en-ie.js\": 41600,\n\t\"./en-il\": 53344,\n\t\"./en-il.js\": 53344,\n\t\"./en-in\": 24072,\n\t\"./en-in.js\": 24072,\n\t\"./en-nz\": 46264,\n\t\"./en-nz.js\": 46264,\n\t\"./en-sg\": 7816,\n\t\"./en-sg.js\": 7816,\n\t\"./eo\": 51920,\n\t\"./eo.js\": 51920,\n\t\"./es\": 82808,\n\t\"./es-do\": 2772,\n\t\"./es-do.js\": 2772,\n\t\"./es-mx\": 83368,\n\t\"./es-mx.js\": 83368,\n\t\"./es-us\": 48288,\n\t\"./es-us.js\": 48288,\n\t\"./es.js\": 82808,\n\t\"./et\": 33892,\n\t\"./et.js\": 33892,\n\t\"./eu\": 35736,\n\t\"./eu.js\": 35736,\n\t\"./fa\": 68544,\n\t\"./fa.js\": 68544,\n\t\"./fi\": 83640,\n\t\"./fi.js\": 83640,\n\t\"./fil\": 24616,\n\t\"./fil.js\": 24616,\n\t\"./fo\": 27128,\n\t\"./fo.js\": 27128,\n\t\"./fr\": 50552,\n\t\"./fr-ca\": 59120,\n\t\"./fr-ca.js\": 59120,\n\t\"./fr-ch\": 17980,\n\t\"./fr-ch.js\": 17980,\n\t\"./fr.js\": 50552,\n\t\"./fy\": 7912,\n\t\"./fy.js\": 7912,\n\t\"./ga\": 34464,\n\t\"./ga.js\": 34464,\n\t\"./gd\": 98864,\n\t\"./gd.js\": 98864,\n\t\"./gl\": 32056,\n\t\"./gl.js\": 32056,\n\t\"./gom-deva\": 75804,\n\t\"./gom-deva.js\": 75804,\n\t\"./gom-latn\": 98648,\n\t\"./gom-latn.js\": 98648,\n\t\"./gu\": 76036,\n\t\"./gu.js\": 76036,\n\t\"./he\": 14000,\n\t\"./he.js\": 14000,\n\t\"./hi\": 48800,\n\t\"./hi.js\": 48800,\n\t\"./hr\": 55176,\n\t\"./hr.js\": 55176,\n\t\"./hu\": 192,\n\t\"./hu.js\": 192,\n\t\"./hy-am\": 94840,\n\t\"./hy-am.js\": 94840,\n\t\"./id\": 78240,\n\t\"./id.js\": 78240,\n\t\"./is\": 23608,\n\t\"./is.js\": 23608,\n\t\"./it\": 56816,\n\t\"./it-ch\": 25136,\n\t\"./it-ch.js\": 25136,\n\t\"./it.js\": 56816,\n\t\"./ja\": 17272,\n\t\"./ja.js\": 17272,\n\t\"./jv\": 83248,\n\t\"./jv.js\": 83248,\n\t\"./ka\": 4768,\n\t\"./ka.js\": 4768,\n\t\"./kk\": 93624,\n\t\"./kk.js\": 93624,\n\t\"./km\": 48168,\n\t\"./km.js\": 48168,\n\t\"./kn\": 69372,\n\t\"./kn.js\": 69372,\n\t\"./ko\": 37088,\n\t\"./ko.js\": 37088,\n\t\"./ku\": 63357,\n\t\"./ku-kmr\": 54068,\n\t\"./ku-kmr.js\": 54068,\n\t\"./ku.js\": 63357,\n\t\"./ky\": 3672,\n\t\"./ky.js\": 3672,\n\t\"./lb\": 43592,\n\t\"./lb.js\": 43592,\n\t\"./lo\": 16096,\n\t\"./lo.js\": 16096,\n\t\"./lt\": 92672,\n\t\"./lt.js\": 92672,\n\t\"./lv\": 69056,\n\t\"./lv.js\": 69056,\n\t\"./me\": 63280,\n\t\"./me.js\": 63280,\n\t\"./mi\": 95037,\n\t\"./mi.js\": 95037,\n\t\"./mk\": 48600,\n\t\"./mk.js\": 48600,\n\t\"./ml\": 93795,\n\t\"./ml.js\": 93795,\n\t\"./mn\": 19288,\n\t\"./mn.js\": 19288,\n\t\"./mr\": 63656,\n\t\"./mr.js\": 63656,\n\t\"./ms\": 71744,\n\t\"./ms-my\": 92804,\n\t\"./ms-my.js\": 92804,\n\t\"./ms.js\": 71744,\n\t\"./mt\": 28536,\n\t\"./mt.js\": 28536,\n\t\"./my\": 21764,\n\t\"./my.js\": 21764,\n\t\"./nb\": 64752,\n\t\"./nb.js\": 64752,\n\t\"./ne\": 82948,\n\t\"./ne.js\": 82948,\n\t\"./nl\": 49572,\n\t\"./nl-be\": 5900,\n\t\"./nl-be.js\": 5900,\n\t\"./nl.js\": 49572,\n\t\"./nn\": 14904,\n\t\"./nn.js\": 14904,\n\t\"./oc-lnc\": 57328,\n\t\"./oc-lnc.js\": 57328,\n\t\"./pa-in\": 81496,\n\t\"./pa-in.js\": 81496,\n\t\"./pl\": 25928,\n\t\"./pl.js\": 25928,\n\t\"./pt\": 85764,\n\t\"./pt-br\": 91248,\n\t\"./pt-br.js\": 91248,\n\t\"./pt.js\": 85764,\n\t\"./ro\": 37168,\n\t\"./ro.js\": 37168,\n\t\"./ru\": 97904,\n\t\"./ru.js\": 97904,\n\t\"./sd\": 68448,\n\t\"./sd.js\": 68448,\n\t\"./se\": 84480,\n\t\"./se.js\": 84480,\n\t\"./si\": 65696,\n\t\"./si.js\": 65696,\n\t\"./sk\": 77120,\n\t\"./sk.js\": 77120,\n\t\"./sl\": 83544,\n\t\"./sl.js\": 83544,\n\t\"./sq\": 71544,\n\t\"./sq.js\": 71544,\n\t\"./sr\": 53696,\n\t\"./sr-cyrl\": 33444,\n\t\"./sr-cyrl.js\": 33444,\n\t\"./sr.js\": 53696,\n\t\"./ss\": 32504,\n\t\"./ss.js\": 32504,\n\t\"./sv\": 39011,\n\t\"./sv.js\": 39011,\n\t\"./sw\": 74144,\n\t\"./sw.js\": 74144,\n\t\"./ta\": 81280,\n\t\"./ta.js\": 81280,\n\t\"./te\": 90504,\n\t\"./te.js\": 90504,\n\t\"./tet\": 36472,\n\t\"./tet.js\": 36472,\n\t\"./tg\": 77024,\n\t\"./tg.js\": 77024,\n\t\"./th\": 69872,\n\t\"./th.js\": 69872,\n\t\"./tk\": 63364,\n\t\"./tk.js\": 63364,\n\t\"./tl-ph\": 25164,\n\t\"./tl-ph.js\": 25164,\n\t\"./tlh\": 60048,\n\t\"./tlh.js\": 60048,\n\t\"./tr\": 86976,\n\t\"./tr.js\": 86976,\n\t\"./tzl\": 4224,\n\t\"./tzl.js\": 4224,\n\t\"./tzm\": 64316,\n\t\"./tzm-latn\": 72264,\n\t\"./tzm-latn.js\": 72264,\n\t\"./tzm.js\": 64316,\n\t\"./ug-cn\": 18984,\n\t\"./ug-cn.js\": 18984,\n\t\"./uk\": 25152,\n\t\"./uk.js\": 25152,\n\t\"./ur\": 57068,\n\t\"./ur.js\": 57068,\n\t\"./uz\": 47880,\n\t\"./uz-latn\": 7400,\n\t\"./uz-latn.js\": 7400,\n\t\"./uz.js\": 47880,\n\t\"./vi\": 35368,\n\t\"./vi.js\": 35368,\n\t\"./x-pseudo\": 71252,\n\t\"./x-pseudo.js\": 71252,\n\t\"./yo\": 98595,\n\t\"./yo.js\": 98595,\n\t\"./zh-cn\": 23036,\n\t\"./zh-cn.js\": 23036,\n\t\"./zh-hk\": 37563,\n\t\"./zh-hk.js\": 37563,\n\t\"./zh-mo\": 94952,\n\t\"./zh-mo.js\": 94952,\n\t\"./zh-tw\": 8240,\n\t\"./zh-tw.js\": 8240\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 92348;"],"names":["core_1","require","router_1","routes","path","loadChildren","Promise","resolve","then","tslib_1","__importStar","m","FiStandortelistePageModule","FIMitarbeiterlistePageModule","CommonHomePageModule","CommonWartungPageModule","CommonEinstellungenPageModule","CommonUrlaubsplanungPageModule","CommonUrlaubsuebersichtPageModule","CommonUrlaubsgesamtuebersichtPageModule","CommonUrlaubFreigabenPageModule","CommonUrlaubEinstellungenPageModule","AppRoutingModule","exports","__decorate","NgModule","imports","RouterModule","forRoot","preloadingStrategy","PreloadAllModules","useHash","angular_1","debug_1","database_pool_service_1","menue_service_1","basics_1","database_authentication_service_1","tools_1","rxjs_1","msal_angular_1","msal_browser_1","const_1","database_mitarbeiter_service_1","database_standorte_service_1","database_mitarbeitersettings_service_1","lodash","graph_1","database_urlaub_service_1","database_appeinstellungen_service_1","AppComponent","platform","Pool","Menuservice","AuthService","changeDetector","Basics","Tools","Const","authService","msalBroadcastService","MitarbeiterDB","MitarbeitersettingsDB","StandortDB","UrlaubDB","GraphService","AppeinstellungenDB","Debug","Destroying","Subject","Zoomfaktor","Settingssubscription","constructor","error","ShowErrorMessage","message","Typen","Component","ngOnDestroy","next","undefined","complete","FinishService","unsubscribe","ngOnInit","MitarbeitersettingsChanged","subscribe","Mitarbeitersettings","SecurityEnabled","initialize","inProgress$","pipe","filter","status_a","ShowMessage","InteractionStatus","None","takeUntil","status_b","SetShowLoginStatus","LoginSuccessEvent","StartApp","_this","_asyncToGenerator","Mitarbeiter","Page","ready","SetActiveUser","Contentbreite","width","Contenthoehe","height","ActiveUser","username","ShowProgress","MaxProgressValue","CurrentProgressValue","ProgressMessage","GetOwnUserinfo","GetOwnUserimage","ReadChangelogliste","ReadStandorteliste","ReadMitarbeiterliste","ReadMitarbeiterpositionenliste","Liste","GetAllUsers","ReadRegionen","ReadFerien","ReadAppeinstellungen","User","find","Mitarbeiterliste","currentmitarbeiter","UserID","id","isUndefined","console","log","mail","toLowerCase","indexOf","ConvertGraphuserToMitarbeiter","AddMitarbeiter","CheckMitarbeiterExists","Graphuser","Email","Mitarbeiterdaten","InitMitarbeiter","CheckMitarbeiterdaten","SetMitarbeiter","ReadFeiertage","ReadSettingsliste","InitMitarbeitersettings","SaveMitarbeitersettings","emit","SettingsID","_id","UpdateMitarbeiter","InitService","Planeradministrator","Appeinstellungen","AdminStartseite","Wartungsmodus","Pages","WartungPage","UrlaubPlanungPage","ProjektdatenLoaded","SetProjekteMenuebereich","SetRootPage","LoadingAllDataFinished","HomePage","MainMenuebereich","MainMenuebereiche","Home","ProjekteMenuebereich","ProjekteMenuebereiche","Aufgabenliste","EmaillistePage","Urlaubsplanung","UrlaubMenuebereich","UrlaubMenuebereiche","Planung","UrlaubUebersichtPage","Uebersicht","UrlaubsgesamtuebersichtPage","Gesamtplanung","UrlaubFreigabenPage","Freigaben","UrlaubEinstellungenPage","Einstellungen","Projekte","PjAufgabenlistePage","PjProtokolleListePage","Protokolle","PjBaustelleLoplistePage","LOPListe","PjBaustelleTagebuchlistePage","Bautagebuch","PjFestlegungslistePage","Festlegungen","PjPlanungsmatrixPage","Planungsmatrix","PjSimontabellelistePage","Simontabelle","PjNotizenListePage","Notizen","ngAfterContentChecked","detectChanges","selector","template","platform_browser_1","app_component_1","app_routing_module_1","loadinganimation_1","display_service_1","animations_1","http_1","environment_1","angular_fontawesome_1","common_1","appurl","environment","production","serverurl","useonlinedb","dockerurl","MandantenID","clientappregistration","clientserverregistration","clientdockerregistration","isIE","window","navigator","userAgent","loggerCallback","logLevel","MSALInstanceFactory","PublicClientApplication","auth","clientId","authority","redirectUri","cache","cacheLocation","BrowserCacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","LogLevel","Error","piiLoggingEnabled","MSALInterceptorConfigFactory","protectedResourceMap","Map","set","interactionType","InteractionType","Redirect","MSALGuardConfigFactory","authRequest","scopes","AppModule","declarations","BrowserModule","IonicModule","innerHTMLTemplatesEnabled","BrowserAnimationsModule","HttpClientModule","MsalModule","FontAwesomeModule","providers","provide","HTTP_INTERCEPTORS","useClass","MsalInterceptor","multi","MSAL_INSTANCE","useFactory","MSAL_GUARD_CONFIG","MSAL_INTERCEPTOR_CONFIG","LocationStrategy","HashLocationStrategy","MsalService","MsalGuard","MsalBroadcastService","ToolsProvider","DebugProvider","ConstProvider","BasicsProvider","MenueService","LoadingAnimationService","DisplayService","bootstrap","MsalRedirectComponent","Joi","database_changelog_service_1","moment_1","__importDefault","FiChangelogEditorComponent","Displayservice","DB","Valid","CanDelete","JoiShema","ValidChange","EventEmitter","CancelClickedEvent","OkClickedEvent","DeleteClickedEvent","Titel","Iconname","Dialogbreite","Dialoghoehe","PositionY","ZIndex","RemoveDialog","Dialognamen","Changelogeditor","SetupValidation","object","Beschreibung","string","required","max","options","stripUnknown","AddDialog","ValidateInput","Result","validate","CurrentChangelog","TextChanged","event","ngAfterViewInit","CancelButtonClicked","DeleteButtonClicked","DeleteChangelog","catch","exception","ShowHinweisDialog","OkButtonClicked","AddChangelog","result","UpdateChangelog","ContentClicked","preventDefault","stopPropagation","CanDeleteCheckedChanged","status","GetDatum","Datum","default","Zeitstempel","format","Output","Input","fi_changelog_editor_component_1","input_clone_module_1","input_clone_keeper_module_1","abstand_element_fixed_module_1","page_header_module_1","checkbox_clon_module_1","page_footer_module_1","FiChangelogEditorModule","CommonModule","InputCloneModule","InputCloneKeeperModule","AbstandElementFixedModule","PageHeaderModule","CheckboxClonModule","PageFooterModule","FiMitarbeiterAuswahlComponent","DBStandort","DBUrlaub","Alphabetcomponent","AuswahlIDliste","Multiselect","OnlyProjektmitarbeiter","BlockCurrentMitarbeiter","StandortfilterClickedEvent","Anzeigeliste","Mitarbeiterbuchstabenliste","Standardalphabet","Mitarbeiteralphabet","Mitarbeiteralphabetauswahl","Alphapetbreite","Lastletter","Mitarbeiterfiltertext","FilterSubscription","AuswahlIDListeSicherung","NONE","Mitarbeiterauswahl","InitTitel","cloneDeep","InitScreen","StandortfilterChanged","PrepareDaten","Merker","Buchstabe","Laenge","TeilA","TeilB","TeilC","Teillaenge","PosA","Solltext","Suchtext","currentmit","Archiviert","sort","a","b","Name","CurrentMitarbeiter","CurrentStandortfilter","Eintrag","StandortID","push","length","substring","toUpperCase","substr","Filtered","Text_A","Text_B","Text_C","GetMitarbeiterAlphabetbuchstabe","Selected","MitarbeiterID","value","MitrabeiterButtonClicked","AlphabetClicked","buchstabe","CheckedChanged","index","StandortfilterButtonClicked","GetStandortfiller","Kuerzel","Standort","ViewChild","args","static","fi_mitarbeiter_auswahl_component_1","alphabet_module_1","alphabet_relative_module_1","FiMitarbeiterAuswahlModule","AlphabetModule","AlphabetRelativeModule","FiMitarbeiterEditorComponent","ValidChanged","StandortClickedEvent","AnredeClickedEvent","UrlaubClickedEvent","PositionClickedEvent","ErrorEvent","ResturlaubEvent","SkipOkButtonAction","EmailinputEnabled","DeleteEnabled","Teamsliste","ErrorMessage","Bereich","AddNewPosition","EditPosition","Bereiche","Allgemein","Positionen","Mitarbeitereditor","ResetEditor","Vorname","min","email","tlds","allow","StandortClicked","LoeschenCheckboxChanged","errora","UpdateMitarbeiterUrlaub","errorb","ArchivierenCheckboxChanged","HomeofficefreigabenCheckboxChanged","Homeofficefreigaben","Homeofficefreigabestandorte","PlaneradministratorCheckboxChanged","UrlaubsfreigabenCheckboxChanged","Urlaubsfreigaben","Urlaubsfreigabeorte","GetAnrede","Anrede","UrlaubsfreigabeChecked","UrlaubsfreigabeChanged","HomeofficefreigabeChanged","HomeofficefreigabeChecked","AllgemeinMenuButtonClicked","PositionenMenuButtonClicked","NeuePositionButtonClicked","CurrentPosition","GetEmptyMitarbeiterposition","NewPositionTextChanged","Bezeichnung","Text","PositionOkButtonClicked","AddMitarbeiterposition","UpdateMitarbeiterposition","PositionCancelButtonClicked","PositionButtonClicked","Position","PositionClicked","fi_mitarbeiter_editor_component_1","button_value_module_1","FiMitarbeiterEditorModule","ButtonValueModule","FiStandortEditorComponent","DBMitarbeiter","LandClickedEvent","BundeslandClickedEvent","KonfessionClickedEvent","Standorteditor","Strasse","Ort","PLZ","CurrentStandort","DeleteStandort","AddStandort","UpdateStandort","GetLand","Land","GetBundesland","Region","Regionenliste","isoCode","Bundesland","GetKonfession","Konfession","Index","Urlaubfreigabepersonen","Homeofficefreigabepersonen","UrlaubsfreigabeCheckChanged","currentid","HomeofficefreigabeCheckChanged","fi_standort_editor_component_1","FiStandortEditorModule","AbstandElementFixedComponent","abstand_element_fixed_component_1","alphabet_relative_1","AlphabetRelativeComponent","Breite","Auswahl","Buchstabenliste","ZusatzbuttonClicked","ImageKeeperDiv","Style","Filterliste","TopPossition","BottomPossition","top","bottom","background","Farben","BAEHellgrau","display","AlphabetClickedHandler","SetFilterliste","ngOnChanges","changes","Value","alphabet_1","AlphabetComponent","PageHeader","PageFooter","PageHeaderDiv","nativeElement","clientHeight","PageFooterFrameDiv","auswahl_dialog_1","forms_1","safe_pipe_module_1","AuswahlDialogModule","AuswahlDialogComponent","FormsModule","SafePipeModule","MySelection","Auswahlliste","Auswahlindex","IndexChanged","FirstColumn","SecoundColumn","Data","Auswahldialog","Setup","titel","auswahlliste","auswahlindex","Open","reset","open","firstChange","IndexChangedHandler","detail","isNaN","button_value_date_1","ButtonValueDateModule","ButtonValueDateComponent","Buttontext","Minimum","Maximum","Buttoncolor","InnerBackgroundcolor","Enabled","ElementID","Buttonsize","ShowKW","ValueBreite","TimeChanged","DiabledButtonClicked","DatePicker","Minimumstring","Maximumstring","Tag","Monat","Heute","Jahr","year","Stunde","Minute","month","date","locale","toString","Burnicklbraun","Burnicklgrau","currentValue","FetigButtonClicked","confirm","DateChangedHandler","Resultstring","Parts","split","Datestring","Werte","parseInt","hours","minutes","button_value_1","ButtonValueComponent","Wert_A","Wert_B","Iconfile","Iconcolor","SmallWidth","BigHeight","ShowMargin","Width","ProContent","ProMessage","Buttonvaluecolor","Rechtebreite","Linkebreite","ButtonClicked","DisabledButtonClicked","RGB","Wert_A_String","Buttonvalue","Wert_A_Value","HexToRGB","ButtonClickedHandler","CheckboxClonComponent","Checked","CanUnselect","Background","CheckChanged","ImgSource","Svgpath","PrepareData","DivClickedHnadler","checkbox_clon_component_1","input_clone_component_1","InputCloneKeeperComponent","elRef","List","Inputliste","CheckValid","Inputelement","getElementsByTagName","ViewChildren","InputCloneComponent","input_clone_keeper_component_1","Titelcolor","Debouncetime","ValueChange","MinLength","MaxLength","Clickable","MinHeight","Inputtype","Required","Lines","DisabledColor","OkBorderColor","ParseToFloat","Textcolor","Textsize","Einheit","RequiredBorder","DisabledBorder","OkBorder","Border","Blau","Orange","Ionicfarben","Schwarz","schema","number","text","valid","TextChangedHandler","parseFloat","page_footer_1","PageFooterComponent","MaxFooterhoehe","InitMaximalhoehe","read","ElementRef","page_header_center_1","PageHeaderCenterModule","PageHeaderCenterComponent","menuCtrl","auswahl_dialog_service_1","PageHeaderMenuComponent","DBMitarbeitersettings","Auswahlservice","Suchleiste","Suchleiste2","Sucheiste3","ShowSandortfilter","ShowSuchleiste","Filterorigin","ShowStandorttitle","ShowMitarbeitertitle","ShowProjektetitle","ShowFavoritentitle","SendFestlegungenEnabled","Timelineindex","SucheChanged","StandortfilterClicked","ZeitspanneFilterClicked","LeistungsphaseFilterClicked","FilterChanged","ShowProjektauswahlEvent","ShowProjektfilesEvent","LOPListeZeitspanneEvent","ShowOpenFestlegungOnlyEvent","SendFestlegungenClicked","ShowUngelesenOnlyChanged","ProjektsortierungChanged","EmailDatumChanged","PlanungsmatrixLeistungsphaseClicked","ShowLOPListeInfoeintraegeChanged","ExpandFestlegungeEvent","UrlaubMitarbeiterClicked","UrlaubMitarbeiterMeClicked","JahrButtonClicked","SuchleisteInputSubscription","Suchleiste2InputSubscription","SuchleisteClearSubscription","Suchleiste2ClearSubscription","FavoritenSubscription","Inputtimer","Projektauswahlbreite","Wochentaghoehe","Tagbreite","HomeMouseOver","EmailMouseOver","FilesMouseOver","ShowOpenFestlegungOnly","BackMouseOver","Timelinebreite","LogoutMouseOver","JahrMouseOver","LogoutButtonClicked","Logout","BackButtonClicked","SetCurrentPage","MainMenueButtonClicked","mainmenubereich","FirmaMenueButtonClicked","firmamenubereich","FirmaMenuebereich","ProjekteMenueButtonClicked","projektmenubereich","Aufgabenlisteansicht","Aufgabenlisteansichten","Projekt","UrlaubMenueButtonClicked","urlaubmenubereich","GetProjekteMenueIconcolor","projektemenubereich","GetProjekteMenueFontcolor","GetUrlaubMenueIconcolor","GetUrlaubMenueFontcolor","StandortButtonClicked","ZeitspaneClickedHandler","origin","LeistungsphaseClickedHandler","StatusFilterShowFaelligOnlyChanged","GetZeitfilterButtontext","Auswahloriginvarianten","Aufgabenliste_Zeitfilter","AufgabenTerminfiltervariante","Faelligkeitsterminfiltervarianten","Seit_dem_Zeitpunkt","Bis_zum_Zeitpunkt","Zeitspanne","Nur_diesen_Monat","Nur_diese_Woche","GetZeitfilterButtonwert","Starttag","Endetag","AufgabenTerminfilterStartwert","AufgabenTerminfilterEndewert","MeintagClicked","Mein_Tag","MeineWocheClicked","Meine_Woche","MeilensteineClicked","Meilensteine","ProjektClicked","ProjektfilesClicked","FilebrowserModus","FilebrowserModusvarianten","Current_Projekt","ShowOpenFestlegungOnlyChanged","GetDatumtext","tag","Montag","clone","startOf","add","page_header_menu_component_1","button_value_date_module_1","PageHeaderMenuModule","page_header_1","PageHeaderComponent","PageModalKeeperComponent","OkButtonEneabled","page_modal_keeper_component_1","PageModalKeepermodule","urlausplanung_kalender_1","page_header_center_module_1","UrlausplanungKalenderModule","UrlaubsplanungKalenderComponent","ReactiveFormsModule","ShowProtokollpunkte","Monatindex","AddUrlaubRunning","AddHomeofficerunning","AddHalberUrlaubstagRunning","ShowYear","FeiertagCrossedEvent","FerientagCrossedEvent","AddUrlaubFinishedEvent","AddHomeofficeFinishedEvent","ExternUrlaubstagClickedEvent","Kalendertageliste","KalendertageExternliste","DataSubscription","MonateSubscription","Monatname","ExterneUrlaubSubscription","UrlaubStatusSubscription","HomeofficeStatusSubscription","ExterneHomeofficeSubscription","CurrentTagindex","CurrentWochenindex","CancelUrlaubSubscription","UpdateKalenderSubscription","Monateliste","Monatindexvalue","AddHomeofficerunningvalue","previousValue","CurrentHomeofficecounter","Tageanzahl","Tagesumme","Tagindex","Tage","Wochenanazahl","Monattext","Startdatum","Endedatum","Mitarbeiterindex","Datumsicherung","Kalenderewoche","Wochentagnummer","daysInMonth","MonatStartdatum","hour","minute","MonatEndedatum","isoWeekday","subtract","wochenindex","tagindex","isoWeek","Tagnummer","Datumstring","Hauptmonat","isSameOrAfter","isSameOrBefore","Kalenderwoche","Tagstempel","valueOf","Kalenderwochenhoehenliste","IsFeiertag_DE","CheckIsFeiertag","IsFeiertag_BG","Feiertagname_DE","GetFeiertag","Feiertagname_BG","IsFerientag_DE","CheckIsFerientag","IsFerientag_BG","Ferienname_DE","GetFerientag","Ferienname_BG","Color","IsUrlaub","IsHomeoffice","IsHalberUrlaubstag","CurrentUrlaub","Urlaubzeitspannen","Startstempel","Endestempel","Laendercode","GetUrlaubStatuscolor","Halbertag","isSame","Homeofficezeitspannen","ShowHomeoffice","GetHomeofficeStatuscolor","Status","i","UrlaublisteExtern","CheckDisplayExternenUrlaub","MitarbeiterIDExtern","NameKuerzel","UrlaubZeitspanne","weekday","HomeofficeZeitspanne","PlanungsmonateChanged","ExterneUrlaubeChanged","ExterneHomeofficeChanged","UrlaubStatusChanged","HomeofficeStatusChanged","AddUrlaubCancelEvent","CancelUrlaub","UpdateKalenderRequestEvent","ProjektpunktDateKwPicker","FeietragMouseOverEvent","laendercode","FerientagMouseOverEvent","TagClicked","Wocheindex","EndeDatum","Kalendertag","Anzahl","IsFeiertag","Resturlaub","CurrentUrlaubzeitspanne","Starttagindex","Endetagindex","GetEmptyUrlaubszeitspanne","Startstring","Urlaubsfaben","Geplant","Endestring","Urlaubstatusvarianten","Genehmigt","FreigabeanfrageSended","FreigabeantwortSended","FreigabeantwortOfficeSended","Planungmeldung","CountResturlaub","setTimeout","CurrentHomeofficezeitspanne","GetEmptyHomeofficezeitspanne","Homeofficefarben","GetMonatname","GetTagBackground","GetMaxExternUrlaubseintraege","Eintraege","Max","ExternUrlaubstagClicked","common_einstellungen_page_1","page_header_menu_module_1","auswahl_dialog_module_1","component","CommonEinstellungenPage","forChild","Vertreterliste","Freigeberliste","ShowAuswahl","Auswahltitel","DebugNoExternalEmaillCheckedChanged","DebugNoExternalEmail","SaveAppeinstellungen","ShowHomescreeninfosChanged","ShowHomeScreenInfos","StartseiteChangedHandler","location","replace","ApplicationURL","WartungsmodusCheckChanged","Urlaub","CurrentZeitspanne","Vertreter","Freigeber","Urlaubsliste","currenturlaub","Vertreteranfrage","Konversation","Vertretungskonversationliste","VertreterID","Vertretungenanfragenanzahl","UrlaubanfrageReminderSended","Vertreterfreigabe","Standorteliste","FreigeberID","Freigabenanfragenanzahl","FreigberCheckedChanged","VertreterCheckedChanged","SendUrlaubReminderMail","_this2","SendVertreterreminder","SendFreigabereminder","common_home_page_1","fi_changelog_editor_module_1","CommonHomePage","security_service_1","DBChangelog","Security","Title","StandortMouseOver","MitarbeiterMouseOver","ProjekteMouseOver","FavoritenMouseOver","DebugMouseOver","EinstellungenMouseOver","PlayMouseOver","BackgroundimageURL","Backgroundinterval","ShowChangelogEditor","ChangelogSubscription","ReloadMouseOver","UrlaubMouseOver","random","CheckSecurity","ChangeloglisteChanged","msalSubject$","msg","eventType","EventType","LOGIN_SUCCESS","payload","instance","setActiveAccount","account","ionViewDidEnter","Nummer","ionViewDidLeave","FavoritChangedHandler","DebugButtonClicked","DebugPage","EinstellungenButtonClicked","EinstellungenPage","LoginButtonClicked","Login","StandorteButtonClicked","FiStandortelistePage","MitarbeiterButtonClicked","FiMitarbeiterlistePage","PlanerButtonClicked","ProjekteButtonClicked","PjListePage","FavoritenButtonClicked","PjFavoritenlistePage","PlayButtonClicked","GetFavoritenlistehoehe","Favoritenliste","AddChangelogClicked","GetEmptyChangelog","ChangelogClicked","Changelog","Changlogliste","AppVersionName","Version","AppVersionDatum","CountMitarbeiter","CountProjekte","RelaodButtonClicked","CheckAllMitarbeiterdaten","common_urlaub_einstellungen_page_1","urlausplanung_kalender_module_1","fi_mitarbeiter_editor_module_1","fi_mitarbeiter_auswahl_module_1","CommonUrlaubEinstellungenPage","lodash_es_1","DBMitarbeiterstettings","Loadinganimation","Auswahlhoehe","Auswahldialogorigin","ShowMitarbeiterauswahl","MitarbeiterauswahlTitel","Projektbeteiligteliste","Urlaubsfreigeberliste","Homeofficefreigeberliste","MitarbeiterMultiselect","Ferienliste","Feiertageliste","MeassureInnercontent","Init","CheckSetup","CountAnfragenanzahlen","GetMitarbeiterByID","MitarbeterID","MitarbeiterauswahlOkButtonClicked","idliste","UrlaubEinstellungen_Projektbeteiligte_Auswahl","beteiligt","Display","findIndex","Urlaubsplanung_Mitarbeiter_Wechseln","MitarebiterStandortfilterClickedHandler","UrlaubEinstellungen_Standort_Filter","AuswahlOkButtonClicked","data","StandortFilter","UpdateMitarbeitersettings","Urlaubsplanung_Jahr_Aendern","CurrentJahr","ShowLoadingAnimation","HideLoadingAnimation","MitarbeiterAuswahlClicked","eintrag","stempel","CheckFerienBlocker","Anfangstempel","Ferienblockerliste","FerienBlockedChanged","CheckFeiertagBlocker","Feiertageblockerliste","FeiertagBlockedChanged","MitarbeiterWechselnClicked","UrlaubMitarbeiterMeClickedHandler","JahrButtonClickedHandler","Nextjahr","j","Startjahr","common_urlaub_freigaben_page_1","CommonUrlaubFreigabenPage","Message","Flagsource","LegendeVisible","Legendehoehe","Legendebreite","Homeofficefreigabenliste","Homeofficestatusvarianten","Freigabeanfrage","InnerContenthoehe","SetPlanungsmonate","GetDatumlangtext","UrlaubAnfargen_Standort_Filter","VerteretungStatusChangedHandler","FreigabeStatusChangedHandler","CheckVertretungUpdateButtonEnabled","Mitareiter","Available","VertreterantwortSended","Vertreterablehnung","UrlaubSuchen","CurrentMonatindex","CheckFreigabeUpdateButtonEnabled","Abgelehnt","SendVertretungUpdate","_this3","UpdateVertreterantworten","FerientagCrossedEventHandler","Daten","DisplayExternCheckChanged","Beteiligt","Urlaubindex","DisplayMeinenUrlaubCheckChanged","UrlaubShowMeinenUrlaub","MonatBackButtonClicked","MonatForwardButtonClicked","FeiertagCrossedEventHandler","MonatButtonClicked","GetMonatButtonColor","AnsichtFerientageCheckChanged","landcode","UrlaubShowFerien_DE","ShowFerientage_DE","UrlaubShowFerien_BG","ShowFerientage_BG","AnsichtFeiertageCheckChanged","UrlaubShowFeiertage_DE","ShowFeiertage_DE","UrlaubShowFeiertage_BG","ShowFeiertage_BG","GetStellvertretername","MitarbeieterID","SendFreigabeUpdate","_this4","UpdateFreigabenantworten","HomeofficeGenehmigeAll","HomeofficeAblehnenAll","SendHomeofficeUpdate","_this5","SendHomeofficeFreigabeantworten","CheckHomeofficeUpdateButtonEnabled","GetPlanungmeldung","Vertretunganfragezeitstempel","Vertretungantwortzeitstempel","CheckHasAnfragen","HasAnfragen","HomeofficeSuchen","ExternUrlaubstagClickedEventHandler","mitarbeiterid","ShowHomeofficeChanged","common_urlaub_gesamtuebersicht_page_1","CommonUrlaubGesamtuebersichtPage","Ansichtenvarinaten","Gesamtjahr","HalbjahrEins","HalbjahrZwei","Ansichtvariante","Standortliste","Mitrbeiterliste","Kalenderwochenliste","Headerhoehe","UrlaubPlanung_Standort_Filter","NextStandort","CurrentKW","ShowInGesamtuebersicht","standort","StandortCheckChanged","MitarbeiterCheckChanged","SettingsCheckedChanged","GesamtuebersichtSetting","ShowGeplant","ShowVertreteranfragen","ShowVertreterfreigaben","ShowVertreterablehnungen","ShowUrlaubsgenehmigungen","ShowUrlaubsablehnungen","SettingsHomeofficeCheckedChanged","ShowHomeofficeGeplant","ShowHomeofficeAnfrage","ShowHomeofficeGenehmigt","common_urlaub_planung_page_1","CommonUrlaubPlanungPage","Monateliste_Uebersicht","Monateliste_Mounseover","BundeslandAuswahlliste","ShowMitarbeitereditor","AddHomeofficeRunning","Urlaubsliste_Bundesland","Bundeslandkuerzel","Urlaubsplanung_Status_Aendern","ZeitspannenID","Freigabeantwortzeitstempel","FreigabeantwortOfficezeitstempel","VertreteranfrageSended","UrlaubsvertreterIDListe","UpdateVertreteranfragen","SendOfficeFreigabezusage","AddUrlaub","AddHalbenUrlaubstag","AddHomeofficeStart","AddUrlaubFinishedHandler","UrlaubLoeschen","Zeitspannen","AnsichtCheckChanged","UrlaubShowBeantragt","UrlaubShowVertreterfreigabe","UrlaubShowGenehmigt","UrlaubShowAbgelehnt","Urlaubsplanung_Vertreter_Festlegen","InitVertreterkonversationen","StellvertreterFestlegenClicked","CheckUrlaubUpdatesAvailable","Betriebsurlaub","CheckHomeofficeUpdatesAvailable","CheckUrlaubLoschenEnabled","CheckHomeofficeLoschenEnabled","Satus","CancelDatumClicked","StatusClickedHandler","AddHomeofficeFinishedHandler","SaveHomeofficeEventHandler","ZeitspanneCheckChanged","BetriebsurlaubCheckedChanged","Vertretungmeldung","MitarbeiterMeWechselnClickedHandler","common_urlaub_uebersicht_page_1","CommonUrlaubUebersichtPage","Monateliste_Gesamtjahr","Monateliste_HalbjahrEins","Monateliste_HalbjahrZwei","UrlaubUebersicht_Standort_Filter","HalbjahrEinsButtonClicked","HalbjahrZweiButtonClicked","common_wartung_page_1","CommonWartungPage","fi_mitarbeiterliste_1","ListeSubscription","HideAuswahl","Zusatzbuttonliste","Listenbreite","ShowEditor","StandortfilterSubsciption","ShowMeOnly","ShowArchivierte","ShowAktuelle","Freigabefiltervarianten","Keiner","Administrator","Freigabefilter","MitarbeiterlisteChanged","ResetSucheButtonClicked","Alphabetbreite","AddMitarbeiterButtonClicked","GetEmptyMitarbeiter","Quelle","GetDialogTitel","StandortClickedHandler","Mitarbeiter_Editor_Standort","Mitarbeiter_Editor_Anrede","Mitarbeiter_Editor_Urlaub","Mitarbeiter_Liste_Position","PositionID","Mitarbeiter_Liste_Standortfilter","GetDialogTitelicon","StandortFilterClickedHandler","ShowMeCheckedChanged","ShowArchivierteChanged","AnredeClickedEventHandler","UrlaubClickedEventHandler","toFixed","ShowAktuelleChanged","GetStandortliste","FreigabefilterChanged","PositionClickedEventHandler","Mitarbeiterpositionenliste","ResturlaubClicked","fi_standorteliste_1","fi_standort_editor_module_1","page_modal_keeper_module_1","Standortealphabet","Standortealphabetauswahl","Standortebuchstabenliste","Standortefiltertext","Standortefilter","EditorValid","StandortelisteChanged","AddStandorteButtonClicked","GetEmptyStandort","GetStandorteAlphabetbuchstabe","EditorValidChanged","SucheChangedHandler","Standorteeditor_Land","Standorteeditor_Bundesland","Standorteeditor_Konfession","LandClickedEventHandler","BundeslandClickedEventHandler","KonfessionClickedEventHandler","CheckMitarbeiterIsStandortUrlaubsfreigabe","CheckMitarbeiterIsStandortHomeofficefreigabe","safe_pipe_1","SafePipe","sanitizer","transform","type","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","Pipe","name","AuswahlDialogService","Projekteliste_Standortfiler","Projekteliste_Editor_Leistungsphase","Projekte_Editor_Standort","Projekte_Editor_Mitarbeiterauswahl_Projektleiter","Projekte_Editor_Mitarbeiterauswahl_Stellvertreter","Projekte_Editor_Mitarbeiterauswahl","Projekte_Editor_Mitarbeiterauswahl_Standortfilter","Projekte_Editor_Projektstatus","Projekte_Editor_Firmeneditor_Fachbereich","Projekte_Editor_Beteiligteneditor_Fachfirma","Favoriten_Editor_Projekteauswahl_Standortfilter","Mitarbeiter_Editor_Fachbereich","Aufgabenliste_ZustaendigExtern","Aufgabenliste_ZustaendigIntern","Aufgabenliste_Fortschritt","Aufgabenliste_Filter_Zeitspanne","Aufgabenliste_Editor_Fachbereich","Aufgabenliste_Editor_Status","Aufgabenliste_Editor_Standortfilter","Aufgabenliste_Editor_ZustaendigExtern","Aufgabenliste_Editor_ZustaendigIntern","Aufgabenliste_Editor_Leistungsphase","Aufgabenliste_Editor_Kostengruppe","Aufgabenliste_Editor_Verfasser","Aufgabenliste_Editor_AnmerkungenVerfasser","Aufgabenliste_Meintageintrag_Status","Aufgabenliste_Meintageintrag_Termin","Festlegungsliste_Editor_Leistungsphase","Festlegungsliste_Leistungsphasefilter","Festlegungliste_Emaileditor_Standortfilter","Festlegungliste_Editor_Status","Festlegungliste_Editor_Fachbereich","Festlegungliste_Editor_Kostengruppe","Festlegungliste_Editor_ZustaendigExtern","Festlegungliste_Editor_ZustaendigIntern","Festlegungliste_Emaileditor_Intern_Empfaenger","Festlegungliste_Emaileditor_Intern_CcEmpfaenger","Festlegungliste_Emaileditor_Extern_Empfaenger","Festlegungliste_Emaileditor_Extern_CcEmpfaenger","Bautagebuchliste_Emaileditor_Intern_Empfaenger","Bautagebuchliste_Emaileditor_Intern_CcEmpfaenger","Bautagebuchliste_Emaileditor_Extern_Empfaenger","Bautagebuchliste_Emaileditor_Extern_CcEmpfaenger","Bautagebuchliste_Bautagebucheditor","Protokollliste_Editor_Leistungsphase","Protokollliste_Editor_Kostengruppe","Protokollliste_Protokolleditor_Teamteilnehmer","Protokollliste_Projektpunkteditor_Teamteilnehmer","Protokollliste_Protokolleditor_Beteilgtenteilnehmer","Protokollliste_Projektpunkteditor_Beteilgtenteilnehmer","UrlaubEinstellungen_Freigeber_Auswahl","Protokollliste_Emaileditor_Extern_Empfaenger","Protokollliste_Emaileditor_Extern_CcEmpfaenger","Protokollliste_Emaileditor_Intern_Empfaenger","Protokollliste_Emaileditor_Intern_CcEmpfaenger","LOPliste_Emaileditor_Extern_Empfaenger","LOPliste_Emaileditor_Extern_CcEmpfaenger","LOPliste_Emaileditor_Intern_Empfaenger","LOPliste_Emaileditor_Intern_CcEmpfaenger","Protokollliste_Editor_Standortfilter","Protokollliste_Projektpunkteditor_Status","Protokollliste_Projektpunkteditor_Fachbereich","Simontabelle_Editor_Emailempfaenger","Emailliste_Projektpunkteditor_Fachbereich","Emailliste_Editor_ZustaendigIntern","Emailliste_Editor_ZustaendigExtern","Emailliste_Beteiligteneditor_Projektauswahl","Protokollliste_Filter_Leistungsphase","Protokollliste_Filter_Zeitspanne","LOPListe_LOPListeeditor_InternTeilnehmer","LOPListe_LOPListeeditor_ExternTeilnehmer","LOPListe_Thumnailsize","LOPListe_Eintrageditor_ZustaendigExtern","LOPListe_Eintrageditor_ZustaendigIntern","LOPListe_Eintrageditor_Standortfilter","LOPListe_Eintrageditor_Fachbereich","LOPListe_Eintrageditor_Status","LOPListe_Eintrageditor_Prioritaet","LOPListe_Eintrageditor_AnmerkungVerfasser","LOPListe_Eintrageditor_Verfasser","LOPListe_Emaileditor_Intern_Empfaenger","LOPListe_Emaileditor_Intern_CcEmpfaenger","LOPListe_Emaileditor_Extern_Empfaenger","LOPListe_Emaileditor_Extern_CcEmpfaenger","Service","Injectable","providedIn","Footerhoehe","Waittime","AppBuild","WebAppUrl","BAEBlau","Gruen","Burnicklgruen","Grau","Bordercolor","ButtongrauDisabled","BurnicklGruen","BurnicklGrau","BurnicklBraun","Silber","Weiss","Rot","Dunkelblau","Braun","Teal","Gelb","header","footer","_MitarbeiterdatenKeys","Typ","Telefon","Mobil","Zeit","Aktiviert","Verified","OS","Passwort","Rechte","Working","KolonnenfuehrerID","Settings","Startseitensetup","Zeitmonatsuebersichtsetup","Zeitjahresuebersichtsetup","KolonnenmitgliederIDListe","Regelarbeitszeit","Datastatus","Formelsammlung","Schaltplaene","Steckerbelegungen","Shortcuts","Baustelle","Aufgaben","Material","Arbeitstag","Tagebuch","News","Zeiterfassung","Zeituebersicht","Zeiterfassungsetup","Kamerasettings","LastDokumentID","Tagebuchsetup","_Loginstatusvarianten","ok","out","_Playermodus","Stopped","Running","Paused","_Dialogmessages","no","cancel","delete","wahla","wahlb","_Mitarbeiterpossitionen","Teamleiter","Keine","_Nachrichtentypen","Aufgabe","AufgabeFinished","MaterialFinished","Notiz","Zeitmarke","Teambeitritt","Teamaustritt","Zeitdaten","Tagebuchbildrequest","TagebuchbildrequestFinished","_Nachrichtendirections","OUT","IN","_Adressbuchtypen","Firma","Solo","_Mitarbeitertypen","Firmengruender","_Projektpunktdetailtyp","Statusmeldung","Nextstep","_Platformliste","WEB","ANDROID","IOS","_Startseitensetupvarianten","_Orientationvarianten","Landscape","Portrait","_Virtualitemvarianten","Alphabet","Abstand","Button","_Kartenadressentyp","Kontakte","Mitarbeiter_Arbeit","Mitarbeiter_Privat","_Pages","RegistrierungPage","StartseitePage","IntroPage","ShortcutsEditorPage","EmailzentralePage","PasswortVergessenPage","TestPage","ErrorPage","PDFViewerPage","FiMitarbeiterauswahlPage","FiMitarbeiterSettingsPage","PjGebaeudestrukturBearbeitenPage","PjGebaeudestrukturBauteilBearbeitenPage","PjGebaeudestrukturGeschossBearbeitenPage","PjGebaeudestrukturRaumBearbeitenPage","PjGebaeudestrukturRaumMarkierenPage","PJProjektbeteiligtelistePage","PjEmailzentralePage","PjProtokollSendeberichtPage","PjFestlegungkategorieeditorPage","PjFilebrowserPage","_Treeitemtypvarianten","Strukturknoten","Struktureintrag","Strukturchild","Dateneintrag","Datenchild","Datenknoten","_Planlistentyp","Gesamtgebaeude","Bauteil","Geschoss","_Dokumentelementtypen","Betriebsmittel","Anmerkung","Markierung","_Planmodusvarianten","RaumMarkieren","RaumMarkierenZoomen","SkalierePlan","ViewPlan","PlanMessen","RaumbuchUebersicht","RaumbuchEditorZoom","RaumbuchEditorPlaceBetriebsmittel","RaumbuchEditorReplaceBetriebsmittel","RaumbuchEditorBearbeiteBetriebsmittel","RaumbuchEditorResizeAnmerkung","RaumbuchEditorPlaceAnmerkung","RaumbuchEditorReplaceAnmerkung","RaumbuchEditorSetAnmerkungLocation","_Zeiteintraegetypen","Platzhalter","Externtag","Freizeit","Abwesenheit","Arbeitszeit","Regiearbeitszeit","Feiertag","Krankenstand","Ueberstunden","Zeitrahmendaten","Leerzeit","Zusatzzeit","Leer","Ungenutzt","Summe","_Tagtypen","Urlaubstag","Krankenstandtag","Keintag","_Tageseditormodus","_Devicenamen","iPhone","iPhone_XsMax_Xr","iPhone_X_Xs","iPhone_6p_6sp_7p_8p","iPhone_6_6s_7_8","iPhone_5_5s_5c_SE","iPad","iPad_9_Zoll","iPad_10_Zoll","iPad_12_Zoll","Unbekannt","_Beteiligteneintragtypen","Person","_Fachfirmentypen","Typnummer","Elektroinstallateur","Heizungsinstallateur","Lueftungsinstallateur","Sanitaerinstallateur","Rohbaufirma","Tiefbaufirma","Blitschutzbauer","Dachdecker","Zimmerei","Schreiner","Medientechnik","Fussbodenlegen","Estrichleger","Fliesenleger","Foerderanlagenbauer","_Anlagengruppen","Anlagengruppe_1","Anlagengruppe_2","Anlagengruppe_3","Anlagengruppe_4","Anlagengruppe_5","Anlagengruppe_6","Anlagengruppe_7","Anlagengruppe_8","_Leistungsphasenvarianten","UNBEKANNT","LPH1","LPH2","LPH3","LPH4","LPH5","LPH6","LPH7","LPH8","_Beteiligtentypen","Kurzname","Architekt","Elektroplaner","HLSplaner","Fachplaner","Tragwerksplaner","Aussenanlagenarchitekt","Bauherr","Nutzer","Pruefsachverstaendiger","Projektsteurer","Ausfuehrungsfirma","Objektueberwacher","ITAbteilung","Ausfuehrungsfirma_HLS","Ausfuehrungsfirma_ELT","Ausfuehrungsfirma_BMA","Ausfuehrungsfirma_Blitzschutz","Ausfuehrungsfirma_H","Ausfuehrungsfirma_L","Ausfuehrungsfirma_S","Ausfuehrungsfirma_Rohbau","Ausfuehrungsfirma_Tiefbau","Ausfuehrungsfirma_GALA","Ausfuehrungsfirma_Aufzug","_Editormodusvarianten","Neu","Bearbeiten","Anzeigen","Blocked","Filter","_Eventvarianten","Kontaktauswahl","Kontakteliste","Kontaktaenderung","Zeitdatenfavoriten","ClearThumbnailmessage","BaustellenbereichWahl","TeamChanged","AuthenticationReady","BesprechungsteilnehmerExtern","BesprechungsteilnehmerIntern","ZustaendigkeitExtern","ZustaendigkeitIntern","Emailempfaenger","Emailkopieempfaenger","_ZeiterfassungBerichttypen","Jahresbericht","Monatsbericht","Wochenbericht","Tagesbericht","_Fehlermeldungtypen","Script","Sql","Transaction","Firebase","_Syncstatusvarianten","Finished","Deviceeerror","Interneterror","Datenerrror","Synchron","Asynchron","Uptodate","Servererror","Databaseerror","Unvollstaendig","_Leistungsverzeichniskeys","BoQBody","Award","AwardInfo","Remark","BoQCtgy","BoQInfo","LblTx","Itemlist","Item","Description","CtlgAssign","_Screensizekategorien","XS_0","SM_1","MD_2","LG_3","XL_4","_Leistungsverzeichnisitemtypen","Hinweistext","_Dokumentersteller","Intern","Hersteller","Planungsbuero","_Projektstatusvarianten","Bearbeitung","Abgeschlossen","Ruht","_Faelligkeitsstatus","Faellig","Ueberfaellig","Nicht_faellig","_Zeitfilter","Alle","Morgen","Zweitage","Woche","Naechstewoche","Zweiwochen","Vierwochen","Gestern","Vorgestern","ZweitageVorher","WocheVorher","ZweiwochenVorher","MonatVorher","_Dokumententyp","Grundriss","Verteilerbereiche","Elektroinstallation","Erdung_Blitzschutz","Schema","Leerrohrplanung","HLS","S_und_D","_Faelligkeitsspannen","Diese_Woche","Naechste_Woche","Fuenf_Arbeitstage","Zehn_Arbeitstage","Fuenfzehn_Arbeitstage","_Anredevariante","_Zeitansatzeinheitvarianten","_Projektpunktprioritaetstypen","Niedrig","Statusnummer","Displayname","Mittel","Hoch","_Projektpunktstatustypen","Offen","LOPColor","Protokollpunkt","Geschlossen","Ruecklauf","Festlegung","_Startterminfiltervarianten","_Faelligkeitsterminfiltervarianten","_AufgabenSortiermodusvarianten","TermineAbsteigend","TermineAufsteigend","Fehlermeldungtypen","Dialogmessages","Projektpunktstatustypen","Zeitfilter","Projektstatusvarianten","Faelligkeitsstatus","Beteiligtentypen","Fachfirmentypen","Beteiligteneintragtypen","Anredevariante","Zeitansatzeinheitvarianten","AufgabenSortiermodusvarianten","Projektpunktprioritaetstypen","Leistungsphasenvarianten","Anlagengruppen","DatabaseAppeinstellungenService","http","ServerUrl","CockpitdockerURL","headers","HttpHeaders","reject","AppeinstellungenObservable","get","GetEmptyAppeinstellungen","AddAppeinstellungen","UpdateAppeinstellungen","Observer","resove","post","put","ne","DatabaseAuthenticationService","msalGuardConfig","router","MSALService","DevelopmentUser","ShowLogin","homeAccountId","localAccountId","tenantId","UnsetActiveUser","Account","Accounts","getActiveAccount","getAllAccounts","acountliste","RequestToken","scope","accessTokenRequest","acquireTokenSilent","catchError","err","errorCode","of","response","accessToken","Popup","loginPopup","loginRedirect","logoutPopup","postLogoutRedirectUri","mainWindowRedirectUri","logoutRedirect","canLoad","route","navigate","Inject","DatabaseChangelogService","GetChangelog","Deleted","UpdateChangelogliste","changelog","unshift","currentchangelog","Params","HttpParams","DatabaseMitarbeiterService","ServerMitarbeiterUrl","ServerMitarbeiterpositionUrl","graphuser","Jobtitle","surname","givenName","jobTitle","officeLocation","mobilePhone","Jobtitel","businessPhones","Location","A","B","GetMeinewocheStunden","Stunden","Minuten","Meinewocheliste","Montagseinsatz","Montagsstunden","Montagsminuten","Dienstagseinsatz","Dienstagsstunden","Dienstagsminuten","Mittwochseinsatz","Mittwochsstunden","Mittwochsminuten","Donnerstagseinsatz","Donnerstagsstunden","Donnerstagsminuten","Freitagseinsatz","Freitagsstunden","Freitagsminuten","Fachbereich","Zeitstring","Meintagliste","GetMitarbeitername","mitarbeiter","__v","UpdateMitarbeiterliste","GetPositionsbezeichnung","Mitarbeiterposition","mitarbeiterposition","UpdateMitarbeiterpositionliste","MitarbeiterpositionenlisteChanged","GetMitarbeiterByEmail","GetMitarbeiterByGraph","fromObject","params","DeleteMitarbeiter","GetHomeofficefreigeberliste","GetUrlausbsfreigeberliste","DatabaseMitarbeitersettingsService","ServerSettingsUrl","MitarbeitersettingslisteChanged","settings","ansicht","ProjektID","Aufgabenansicht","UpdateMitarbeitersettingsliste","Mitarbeitersettingsliste","currentsetting","AddMitarbeitersetting","setting","Setting","uuid_1","DatabasePoolService","Http","CockpitserverURL","Mitarbeiterstandort","MitarbeiterdatenHasError","Emailcontent","Emailcontentvarinaten","MitarbeiterdatenChanged","Signatur","Protokoll","GetFilledSignatur","local","join","MitarbeiterObservable","MitarbeiterpositionnObservable","ChangelogObservable","StandortObservable","SettingsObservable","GetNewUniqueID","v4","GetNewMitarbeitersettings","FavoritenID","Favoritprojektindex","LeistungsphaseFilter","HeadermenueMaxFavoriten","AufgabenSortiermodus","AufgabenMeilensteineNachlauf","AufgabenShowMeilensteine","AufgabenShowNummer","AufgabenShowStartdatum","AufgabenShowAufgabe","AufgabenShowBemerkung","AufgabenShowTage","AufgabenShowTermin","AufgabenShowStatus","AufgabenShowFortschritt","AufgabenShowZustaendig","AufgabenShowMeintag","AufgabenShowZeitansatz","AufgabenShowMeinewoche","OberkostengruppeFilter","HauptkostengruppeFilter","UnterkostengruppeFilter","LOPListeGeschlossenZeitfilter","DatabaseStandorteService","GetStandort","standortid","Zeitpunkt","GetUniqueStandortID","UpdateStandortliste","currentstandort","DatabaseUrlaubService","Graph","LastMonatIndex","FirstMonatIndex","Ferienfarbe_DE","Ferienfarbe_BG","Feiertagefarbe_DE","Feiertagefarbe_BG","ServerReadfeiertageUrl","ServerReadRegionenUrl","ServerReadFerienUrl","Vertretrungliste","Urlaubfreigabenliste","Vertretungsanfragenanzahl","Vertretungsantwortenanzahl","Freigabenantwortenanzahl","Urlaubsanfragenanzahl","Homeofficeanfragenanzahl","Homeofficantwortenanzahl","Antwortenanzahl","CorrectSetup","Officeemailadress","Ferientag","Ferien_DE","Ferien_BG","Feiertage_DE","Feiertage_BG","Wochenende","Urlaubsfreigeberanzahl","Homeofficefreigeberanzahl","GetFreigabenliste","CountAnfrage","CountAntwort","PersonOk","urlaub","InitUrlaubzeitspanne","CheckUrlaubFreigabeanwortAge","CheckHomeofficeFreigabeanwortAge","GetVertretungkonversation","CheckVertretungsanwortAge","Dauer","duration","diff","asMinutes","GetVertretungsanwortAge","CheckMitarbeiterIsVertretung","Ergo","CheckMitarbeiterIsOffeneVertretung","GetVertretungenliste","Vertretung","CountAntworten","Freigabe","GetUrlaubStatuscolorSplit","checkanfragesended","Anfrage","VertreterIDListe","CurrentUrlaubzeitspannen","UpdatedZeitspannen","Empfaengerliste","Freigebender","Empfaengerlistetext","emailAddress","address","CurrentVertreterID","SendVertreteranfragen","concat","Freigabemeldung","SendBetriebsurlaubFreigabeanfrage","UpdateHomeofficefreigabeanfragen","CurrentHomeofficezeitspannen","UpdatedHomeofficezeitspannen","SendHomeofficefreigabeanfrage","CheckUrlaubsfreigeberAvailable","CheckHomeofficefreigeberAvailable","CountUrlaubsvertretungen","Gesamtanzahl","Freigeberlistetext","FreigabeReady","SendVertreterzusage","SendVertreterabsage","SendFreigabeanfrage","Betreff","Nachricht","Empfaenger","SendMail","Zeitspannenanzahl","SendAntwort","SendMitarbeiterHomeofficeFreigabeablehnung","SendMitarbeiterHomeofficeFreigabezusage","SendMitarbeiterFreigabeablehnung","SendMitarbeiterFreigabezusage","NextKonversation","NextMitarbeiter","GoOn","UrlaubsfreigeberID","UrlaubsvertreterID","Landcode","RegionenObserver","region","FerienObserver","Gesamturlaub","Urlaubstage","GetEmptyUrlaub","Urlaubzeitspanne","Homeofficezeitspanne","InitHomeofficezeitspanne","NameExtern","spanne","Homeoffizezeitspanne","Reset","jahr","CurrentTag","IsFerientag","CheckIsUrlaubstag","IsUrlaubstag","CheckIsHomeofficetag","Homeoffice","GetFeriennamen","ferientag","language","GetFeiertagnamen","feiertag","Blockerdatum","currenttag","Feiertagdatum","CountHomeoffice","Gesamthomeoffice","CountHomeGeplant","CountHomeFreigbeanfragen","CountHomeGenehmigt","CountHomeAbgelehnt","mitrbeiterid","HomeofficeLoeschen","_this6","Homeofficeliste","GetHomeofficezeitspannenByStataus","Gesamtliste","CheckVertretungIsAbgelehnt","GetUrlaubStatuscolorByKonversation","error_service_1","nav","Fehlerservice","Provider","Directive","Debugmessageliste","script","funktion","typ","Skript","Function","error2","code","stack","Projekteditor","Beteiligteneditor","Firmeneditor","Favoriteneditor","Favoritenauswahl","Projekteauswahl","Bauteileditor","Geschosseditor","Raumeditor","AufgabeProjektauswahl","Projektpunteditor","Beteiligteauswahl","Firmenauswahl","Protokolleditor","Kostengruppenauswahl","Raumauswahl","Protokolllistefilter","Aufgabenlistefilter","Meinewocheeditor","ProjektpunktStatusDatePicker","Verzeichnisauswahl","Bilderauswahl","Outlookkontakteauswahl","ProjektSendeEmail","Bautagebucheditor","Bautagebucheintrageditor","LOPListeEditor","LOPListeEintragEditor","Planungsmatrixeintrageditor","Notizenkapiteleditor","Festlegungkategorieneditor","Simontabelleeditor","Simontabellelesitungeditor","RechnungEditor","Dialogliste","ResetDialogliste","zindex","Dialog","Dialogname","forEach","dialog","ShowOpacity","Wert","ErrorService","Fehlermeldung","CanGoBack","microsoft_graph_client_1","Graphservice","domSanitizer","ImageZoomOut","UserimageSRC","TeamsRootfilelist","TeamsCurrentfilelist","TeamsSubdirectorylist","CurrentTeamsID","CurrentPDFDownload","KalenderKW","BAESiteID","Alle_Projekte","token","graphClient","Client","init","authProvider","done","api","select","GetEmptyTeamsfile","cTag","createdBy","user","displayName","createdDateTime","eTag","fileSystemInfo","lastModifiedDateTime","lastModifiedBy","parentReference","driveId","driveType","shared","size","webUrl","GetSiteSubdirictoryfilelist","file","showfiles","Dateiliste","Verzeichnisliste","isfolder","DownloadPDFTeamsFile","teamsid","Download","context","url","DownloadPDFSiteFile","DownloadPDFSiteFileViaLink","fileid","Link","document","createElement","body","appendChild","href","click","remove","TestGraph","GroupID","version","TeamsCheckFileExists","directoryid","filename","_this7","FileExists","Fileeintrag","folder","SiteCheckFileExists","_this8","GetTeamsSubDirectory","dirid","_this9","GetSiteSubDirectory","_this10","_this11","Userliste","Valueliste","nexturl","count","currentuser","_this12","sendMail","subject","contentType","content","toRecipients","saveToSentItems","_this13","responseType","ResponseType","BLOB","URL","createObjectURL","statusCode","GetOtherUserimage","userid","_this14","UserImageSRC","Loader","AjaxTime","title","HTML","Options","spinner","cssClass","showBackdrop","enableBackdropDismiss","translucent","dismissOnPageChange","Date","getTime","create","res","present","wait","WaitTime","TotalTime","dismiss","Fileliste","FirmaMenuebereiche","Standorte","Favoriten","Play","FilelisteAufrufer","FilelisteAufrufervarianten","Protokollliste","ImageZoom","PushPage","Navparameter","NavListe","Debugstatus","RemovePage","Lastpage","splice","PrintNavliste","AddPage","page","SetRootpage","SecurityService","Securitystatus","angular_2","navparameter_1","moment_2","NavParameter","alertCtrl","UID_Counter","IsRunningOnDeviceFirstTime","DialogMessage","IsRunningOnDeviceValue","IsNumeric","n","isFinite","GetButtonvalueSize","GetDatumFromZeitstempel","GesendetZeitstempel","GetZeitFromZeitstempel","GenerateFilename","extention","nummer","key","zahl","GenerateProjektkey","DeepCompareObjectarrays","ListeA","ListeB","Changed","Keyliste","EintragA","EintragB","Object","keys","Key","JSONCompareObjectarrays","JSON","stringify","CompareObjectarrays","ShowEntscheidungDialog","buttons","handler","ShowAuswahlDialog","inputs","label","checked","role","RemoveNullFromObject","obj","FormatCurrency","amount","decimalCount","decimal","thousands","Math","abs","negativeSign","Number","slice","FormatNumber","FormatMoney","FormatValue","wert","einheit","kommastellen","Ausgabe","round","GetUniqueID","hex","bigint","r","g","navigateRoot","animated","navigateForward","PopPage","navigateBack","GetBogenmass","winkel","PI","GetGradmass","IstGerade","IstUngerade","RundenDezimal","precision","multiplier","pow","Runden","stellen","Zahl","GetZeitstempelwert","GetZeitpunkttext","GetTimebasedID","monat","FormatLinebreaks","ReplaceSonderzeichen","RundenAsText","CheckArray","CheckObject","Array","CheckEmail","test","platform_browser_dynamic_1","app_module_1","enableProdMode","platformBrowserDynamic","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[85,86,117]} \ No newline at end of file +{"version":3,"file":"main.js","mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;;;;;;;;;ACZA;AACA,4CAA4C,mBAAO,CAAC,qEAA0D;AAC9G,kCAAkC,mBAAO,CAAC,8DAAmD;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,6FAA6F,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,mEAAmE,qCAAqC,+CAA+C,oCAAoC,8BAA8B,mDAAmD,gDAAgD,qDAAqD,2CAA2C,yCAAyC,8CAA8C,oDAAoD,8CAA8C,2CAA2C,2CAA2C,GAAG,yB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,0BAA0B,0BAA0B,mBAAmB,GAAG,qBAAqB,0BAA0B,wBAAwB,wBAAwB,wBAAwB,wBAAwB,OAAO,mBAAmB,0BAA0B,wBAAwB,wBAAwB,wBAAwB,GAAG,yBAAyB;AACp1C;AACA;;;;;;;;;;;ACnDA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,kHAAkH,WAAW,UAAU,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,uCAAuC,0BAA0B,iBAAiB,gBAAgB,qBAAqB,iBAAiB,kBAAkB,yBAAyB,0CAA0C,gBAAgB,uBAAuB;AACld;AACA;;;;;;;;;;;AChBA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,gIAAgI,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,0CAA0C,kBAAkB,wBAAwB,qBAAqB,kBAAkB,yBAAyB,4CAA4C,gBAAgB,uBAAuB;AAC/a;AACA;;;;;;;;;;;ACdA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AA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,sCAAsC,cAAc,uBAAuB;AACx7C;AACA;;;;;;;;;;;ACvDA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,wIAAwI,UAAU,UAAU,WAAW,WAAW,UAAU,MAAM,KAAK,WAAW,UAAU,WAAW,WAAW,MAAM,KAAK,UAAU,WAAW,UAAU,WAAW,WAAW,4CAA4C,kBAAkB,iBAAiB,mCAAmC,sBAAsB,kBAAkB,GAAG,sBAAsB,uBAAuB,cAAc,uBAAuB,+BAA+B,GAAG,4BAA4B,mBAAmB,uBAAuB,oBAAoB,wBAAwB,uBAAuB,GAAG,qBAAqB;AAC5uB;AACA;;;;;;;;;;;AC5BA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;A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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,kHAAkH,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,MAAM,KAAK,UAAU,UAAU,WAAW,UAAU,MAAM,KAAK,UAAU,WAAW,UAAU,WAAW,MAAM,KAAK,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,MAAM,KAAK,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,MAAM,KAAK,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,MAAM,KAAK,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,MAAM,KAAK,WAAW,UAAU,UAAU,WAAW,WAAW,MAAM,KAAK,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,MAAM,KAAK,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU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AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,sIAAsI,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,MAAM,KAAK,WAAW,UAAU,UAAU,MAAM,KAAK,WAAW,UAAU,UAAU,UAAU,UAAU,MAAM,KAAK,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,MAAM,KAAK,WAAW,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,MAAM,KAAK,UAAU,WAAW,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,MAAM,KAAK,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,MAAM,KAAK,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,MAAM,KAAK,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WA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;;;;;ACnFA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,wHAAwH,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,0CAA0C,oBAAoB,6BAA6B,sCAAsC,sCAAsC,wBAAwB,iBAAiB,kBAAkB,oBAAoB,sBAAsB,GAAG,qBAAqB;AACngB;AACA;;;;;;;;;;;ACjBA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,OAAO,6HAA6H,UAAU,UAAU,MAAM,KAAK,WAAW,uCAAuC,UAAU,uBAAuB,qBAAqB,KAAK,GAAG,wBAAwB,wBAAwB,GAAG,qBAAqB;AAC5V;AACA;;;;;;;;;;;ACdA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,OAAO,yHAAyH,UAAU,UAAU,MAAM,KAAK,WAAW,uCAAuC,UAAU,uBAAuB,qBAAqB,KAAK,GAAG,wBAAwB,wBAAwB,GAAG,qBAAqB;AACxV;AACA;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components-page/fi-changelog-editor/fi-changelog-editor.component.ts","./src/app/components-page/fi-changelog-editor/fi-changelog-editor.module.ts","./src/app/components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.component.ts","./src/app/components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module.ts","./src/app/components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.component.ts","./src/app/components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module.ts","./src/app/components-page/fi-standort-editor/fi-standort-editor.component.ts","./src/app/components-page/fi-standort-editor/fi-standort-editor.module.ts","./src/app/components/abstand-element-fixed/abstand-element-fixed.component.ts","./src/app/components/abstand-element-fixed/abstand-element-fixed.module.ts","./src/app/components/alphabet-relative/alphabet-relative.module.ts","./src/app/components/alphabet-relative/alphabet-relative.ts","./src/app/components/alphabet/alphabet.module.ts","./src/app/components/alphabet/alphabet.ts","./src/app/components/auswahl-dialog/auswahl-dialog.module.ts","./src/app/components/auswahl-dialog/auswahl-dialog.ts","./src/app/components/button-value-date/button-value-date.module.ts","./src/app/components/button-value-date/button-value-date.ts","./src/app/components/button-value/button-value.module.ts","./src/app/components/button-value/button-value.ts","./src/app/components/checkbox-clon/checkbox-clon.component.ts","./src/app/components/checkbox-clon/checkbox-clon.module.ts","./src/app/components/input-clone-keeper/input-clone-keeper.component.ts","./src/app/components/input-clone-keeper/input-clone-keeper.module.ts","./src/app/components/input-clone/input-clone.component.ts","./src/app/components/input-clone/input-clone.module.ts","./src/app/components/page-footer/page-footer.module.ts","./src/app/components/page-footer/page-footer.ts","./src/app/components/page-header-center/page-header-center.module.ts","./src/app/components/page-header-center/page-header-center.ts","./src/app/components/page-header-menu/page-header-menu.component.ts","./src/app/components/page-header-menu/page-header-menu.module.ts","./src/app/components/page-header/page-header.module.ts","./src/app/components/page-header/page-header.ts","./src/app/components/page-modal-keeper/page-modal-keeper.component.ts","./src/app/components/page-modal-keeper/page-modal-keeper.module.ts","./src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module.ts","./src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.ts","./src/app/pages/common-einstellungen/common-einstellungen.module.ts","./src/app/pages/common-einstellungen/common-einstellungen.page.ts","./src/app/pages/common-home/common-home.module.ts","./src/app/pages/common-home/common-home.page.ts","./src/app/pages/common-urlaub-einstellungen/common-urlaub-einstellungen.module.ts","./src/app/pages/common-urlaub-einstellungen/common-urlaub-einstellungen.page.ts","./src/app/pages/common-urlaub-freigaben/common-urlaub-freigaben.module.ts","./src/app/pages/common-urlaub-freigaben/common-urlaub-freigaben.page.ts","./src/app/pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.module.ts","./src/app/pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.page.ts","./src/app/pages/common-urlaub-planung/common-urlaub-planung.module.ts","./src/app/pages/common-urlaub-planung/common-urlaub-planung.page.ts","./src/app/pages/common-urlaub-uebersicht/common-urlaub-uebersicht.module.ts","./src/app/pages/common-urlaub-uebersicht/common-urlaub-uebersicht.page.ts","./src/app/pages/common-wartung/common-wartung.module.ts","./src/app/pages/common-wartung/common-wartung.page.ts","./src/app/pages/fi-mitarbeiterliste/fi-mitarbeiterliste.module.ts","./src/app/pages/fi-mitarbeiterliste/fi-mitarbeiterliste.ts","./src/app/pages/fi-standorteliste/fi-standorteliste.module.ts","./src/app/pages/fi-standorteliste/fi-standorteliste.ts","./src/app/pipes/safe.pipe.module.ts","./src/app/pipes/safe.pipe.ts","./src/app/services/auswahl-dialog/auswahl-dialog.service.ts","./src/app/services/basics/basics.ts","./src/app/services/const/const.ts","./src/app/services/database-appeinstellungen/database-appeinstellungen.service.ts","./src/app/services/database-authentication/database-authentication.service.ts","./src/app/services/database-changelog/database-changelog.service.ts","./src/app/services/database-mitarbeiter/database-mitarbeiter.service.ts","./src/app/services/database-mitarbeitersettings/database-mitarbeitersettings.service.ts","./src/app/services/database-pool/database-pool.service.ts","./src/app/services/database-standorte/database-standorte.service.ts","./src/app/services/database-urlaub/database-urlaub.service.ts","./src/app/services/debug/debug.ts","./src/app/services/diplay/display.service.ts","./src/app/services/error/error.service.ts","./src/app/services/graph/graph.ts","./src/app/services/loadinganimation/loadinganimation.ts","./src/app/services/menue/menue.service.ts","./src/app/services/navparameter/navparameter.ts","./src/app/services/security/security.service.ts","./src/app/services/tools/tools.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./node_modules/@stencil/core/internal/client/ lazy ^\\.\\/.*\\.entry\\.js.*$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./src/app/app.component.scss","./src/app/components-page/fi-changelog-editor/fi-changelog-editor.component.scss","./src/app/components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.component.scss","./src/app/components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.component.scss","./src/app/components-page/fi-standort-editor/fi-standort-editor.component.scss","./src/app/components/abstand-element-fixed/abstand-element-fixed.component.scss","./src/app/components/alphabet-relative/alphabet-relative.scss","./src/app/components/alphabet/alphabet.scss","./src/app/components/auswahl-dialog/auswahl-dialog.scss","./src/app/components/button-value-date/button-value-date.scss","./src/app/components/button-value/button-value.scss","./src/app/components/checkbox-clon/checkbox-clon.component.scss","./src/app/components/input-clone-keeper/input-clone-keeper.component.scss","./src/app/components/input-clone/input-clone.component.scss","./src/app/components/page-footer/page-footer.scss","./src/app/components/page-header-center/page-header-center.scss","./src/app/components/page-header-menu/page-header-menu.component.scss","./src/app/components/page-header/page-header.scss","./src/app/components/page-modal-keeper/page-modal-keeper.component.scss","./src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.scss","./src/app/pages/common-einstellungen/common-einstellungen.page.scss","./src/app/pages/common-home/common-home.page.scss","./src/app/pages/common-urlaub-einstellungen/common-urlaub-einstellungen.page.scss","./src/app/pages/common-urlaub-freigaben/common-urlaub-freigaben.page.scss","./src/app/pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.page.scss","./src/app/pages/common-urlaub-planung/common-urlaub-planung.page.scss","./src/app/pages/common-urlaub-uebersicht/common-urlaub-uebersicht.page.scss","./src/app/pages/common-wartung/common-wartung.page.scss","./src/app/pages/fi-mitarbeiterliste/fi-mitarbeiterliste.scss","./src/app/pages/fi-standorteliste/fi-standorteliste.scss","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n\n /*\n {\n path: '404', loadChildren: () => import('./pages/common-home/common-home.module').then(m => m.CommonHomePageModule),\n },\n\n */\n {\n path: 'FiStandortelistePage',\n loadChildren: () => import('./pages/fi-standorteliste/fi-standorteliste.module').then(m => m.FiStandortelistePageModule),\n },\n {\n path: 'FiMitarbeiterlistePage',\n loadChildren: () => import('./pages/fi-mitarbeiterliste/fi-mitarbeiterliste.module').then(m => m.FIMitarbeiterlistePageModule),\n },\n {\n path: '',\n loadChildren: () => import('./pages/common-home/common-home.module').then(m => m.CommonHomePageModule),\n },\n {\n path: 'HomePage',\n loadChildren: () => import('./pages/common-home/common-home.module').then(m => m.CommonHomePageModule),\n },\n {\n path: 'WartungPage',\n loadChildren: () => import('./pages/common-wartung/common-wartung.module').then(m => m.CommonWartungPageModule),\n },\n {\n path: 'EinstellungenPage',\n loadChildren: () => import('./pages/common-einstellungen/common-einstellungen.module').then(m => m.CommonEinstellungenPageModule),\n },\n {\n path: 'UrlaubPlanungPage',\n loadChildren: () => import('./pages/common-urlaub-planung/common-urlaub-planung.module').then(m => m.CommonUrlaubsplanungPageModule),\n },\n {\n path: 'UrlaubUebersichtPage',\n loadChildren: () => import('./pages/common-urlaub-uebersicht/common-urlaub-uebersicht.module').then(m => m.CommonUrlaubsuebersichtPageModule),\n },\n {\n path: 'UrlaubsgesamtuebersichtPage',\n loadChildren: () => import('./pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.module').then(m => m.CommonUrlaubsgesamtuebersichtPageModule),\n },\n {\n path: 'UrlaubFreigabenPage',\n loadChildren: () => import('./pages/common-urlaub-freigaben/common-urlaub-freigaben.module').then(m => m.CommonUrlaubFreigabenPageModule),\n },\n {\n path: 'UrlaubEinstellungenPage',\n loadChildren: () => import('./pages/common-urlaub-einstellungen/common-urlaub-einstellungen.module').then(m => m.CommonUrlaubEinstellungenPageModule),\n }\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, useHash: false })\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","import {AfterContentChecked, ChangeDetectorRef, Component, OnDestroy, OnInit} from '@angular/core';\nimport {Platform} from \"@ionic/angular\";\nimport {DebugProvider} from \"./services/debug/debug\";\nimport {DatabasePoolService} from \"./services/database-pool/database-pool.service\";\nimport {MenueService} from \"./services/menue/menue.service\";\nimport {BasicsProvider} from \"./services/basics/basics\";\nimport {DatabaseAuthenticationService} from \"./services/database-authentication/database-authentication.service\";\nimport {ToolsProvider} from \"./services/tools/tools\";\nimport {filter, Subject, Subscription, takeUntil} from \"rxjs\";\nimport {MsalBroadcastService, MsalService} from \"@azure/msal-angular\";\nimport {InteractionStatus} from \"@azure/msal-browser\";\nimport {ConstProvider} from \"./services/const/const\";\nimport {DatabaseMitarbeiterService} from \"./services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {DatabaseStandorteService} from \"./services/database-standorte/database-standorte.service\";\nimport {DatabaseMitarbeitersettingsService} from \"./services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport * as lodash from \"lodash-es\";\nimport {Graphservice} from \"./services/graph/graph\";\nimport {Mitarbeiterstruktur} from \"./dataclasses/mitarbeiterstruktur\";\nimport {DatabaseUrlaubService} from \"./services/database-urlaub/database-urlaub.service\";\nimport {DatabaseAppeinstellungenService} from \"./services/database-appeinstellungen/database-appeinstellungen.service\";\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n styleUrls: ['app.component.scss'],\n})\nexport class AppComponent implements OnInit, OnDestroy, AfterContentChecked {\n\n private readonly Destroying = new Subject();\n public Zoomfaktor: number;\n private Settingssubscription: Subscription;\n\n constructor(private platform: Platform,\n private Pool: DatabasePoolService,\n private Menuservice: MenueService,\n private AuthService: DatabaseAuthenticationService,\n private changeDetector: ChangeDetectorRef,\n private Basics: BasicsProvider,\n private Tools: ToolsProvider,\n private Const: ConstProvider,\n private authService: MsalService,\n private msalBroadcastService: MsalBroadcastService,\n private MitarbeiterDB: DatabaseMitarbeiterService,\n private MitarbeitersettingsDB: DatabaseMitarbeitersettingsService,\n private StandortDB: DatabaseStandorteService,\n private UrlaubDB: DatabaseUrlaubService,\n public GraphService: Graphservice,\n private AppeinstellungenDB: DatabaseAppeinstellungenService,\n private Debug: DebugProvider) {\n try {\n\n this.Zoomfaktor = 100;\n this.Settingssubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Destroying.next(undefined);\n this.Destroying.complete();\n\n this.StandortDB.FinishService();\n this.MitarbeiterDB.FinishService();\n\n this.Settingssubscription.unsubscribe();\n this.Settingssubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Settingssubscription = this.Pool.MitarbeitersettingsChanged.subscribe(() => {\n\n this.Zoomfaktor = this.Pool.Mitarbeitersettings.Zoomfaktor;\n });\n\n if(this.AuthService.SecurityEnabled) {\n\n try {\n\n this.authService.initialize().subscribe(() => {\n\n this.msalBroadcastService.inProgress$\n .pipe(\n filter((status_a: InteractionStatus) => {\n\n this.Debug.ShowMessage('Interaction Status: ' + status_a, 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n return status_a === InteractionStatus.None;\n }),\n takeUntil(this.Destroying)\n )\n .subscribe((status_b: InteractionStatus) => {\n\n this.Debug.ShowMessage('Interaction Status: ' + status_b, 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n this.AuthService.SetShowLoginStatus();\n });\n\n this.AuthService.LoginSuccessEvent.subscribe(() => {\n\n this.Debug.ShowMessage('LoginSuccessEvent -> Start App', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n this.StartApp();\n });\n\n this.StartApp();\n });\n\n } catch (error) {\n\n this.AuthService.UnsetActiveUser();\n\n this.Debug.ShowErrorMessage(error, 'App Component', 'OnInit', this.Debug.Typen.Component);\n }\n\n\n }\n else {\n\n this.StartApp();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n public async StartApp() {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let Page: string;\n\n this.Debug.ShowMessage('Start App', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n await this.platform.ready();\n await this.AuthService.SetActiveUser();\n\n this.Basics.Contentbreite = this.platform.width();\n this.Basics.Contenthoehe = this.platform.height();\n\n if(this.AuthService.ActiveUser !== null) {\n\n // Benutzer ist angemeldet\n\n this.AuthService.SetShowLoginStatus();\n\n this.Debug.ShowMessage('Benutzer ist angemeldet: ' + this.AuthService.ActiveUser.username, 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n this.Pool.ShowProgress = true;\n this.Pool.MaxProgressValue = 8;\n this.Pool.CurrentProgressValue = 0;\n\n try {\n\n if(this.AuthService.SecurityEnabled === true)\n {\n this.Pool.ProgressMessage = 'Lade eigene Daten';\n\n await this.GraphService.GetOwnUserinfo();\n\n this.Pool.CurrentProgressValue++;\n }\n\n if(this.AuthService.SecurityEnabled === true) {\n\n this.Pool.ProgressMessage = 'Lade eigens Bild';\n\n await this.GraphService.GetOwnUserimage();\n\n this.Pool.CurrentProgressValue++;\n }\n\n this.Pool.ProgressMessage = 'Lade Change Log';\n\n await this.Pool.ReadChangelogliste(); // 1\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Standortliste';\n\n await this.Pool.ReadStandorteliste(); // 2\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade aktuelle Mitarbeiterliste';\n\n await this.Pool.ReadMitarbeiterliste(); // 3\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Positionenliste';\n\n await this.Pool.ReadMitarbeiterpositionenliste(); // 4\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Aktuallisiere Mitarbeiterliste';\n\n let Liste = await this.GraphService.GetAllUsers(); // 5\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Bundesländer';\n\n await this.UrlaubDB.ReadRegionen('DE'); // 6\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Ferien Deutschland';\n\n await this.UrlaubDB.ReadFerien('DE'); // 7\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Ferien Bulgarien';\n\n await this.UrlaubDB.ReadFerien('BG'); // 8\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Appp Einstellungen';\n\n await this.AppeinstellungenDB.ReadAppeinstellungen(); // 9\n\n for(let User of Liste) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, (currentmitarbeiter: Mitarbeiterstruktur) => {\n\n return currentmitarbeiter.UserID === User.id;\n });\n\n if(lodash.isUndefined(Mitarbeiter)) {\n\n console.log('Mitarbeiter wurde nicht gefunden:');\n console.log(User);\n\n if(User.mail.toLowerCase().indexOf('admin') === -1) {\n\n Mitarbeiter = this.MitarbeiterDB.ConvertGraphuserToMitarbeiter(User);\n\n console.log('Neuer Mitrabeiter:');\n console.log(Mitarbeiter);\n\n await this.MitarbeiterDB.AddMitarbeiter(Mitarbeiter);\n }\n }\n }\n }\n catch(error) {\n\n console.log('Error happend heer...');\n }\n\n if(this.MitarbeiterDB.CheckMitarbeiterExists(this.GraphService.Graphuser.mail) === false) {\n\n // Mitarbeiter neu Anlegen\n\n\n\n this.Debug.ShowMessage('Mitarbeiter neu eingetragen.', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n Mitarbeiter = this.MitarbeiterDB.ConvertGraphuserToMitarbeiter(this.GraphService.Graphuser);\n\n if(Mitarbeiter.Email !== null) Mitarbeiter = await this.MitarbeiterDB.AddMitarbeiter(Mitarbeiter);\n }\n else {\n\n this.Debug.ShowMessage('Mitarbeiter ist bereits eingetragen.', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {UserID: this.GraphService.Graphuser.id});\n }\n\n // Mitarbeiter ist bereits registriert\n\n this.Pool.Mitarbeiterdaten = this.Pool.InitMitarbeiter(Mitarbeiter); // fehlende Mitarbeiterdaten initialisieren\n this.Pool.CheckMitarbeiterdaten();\n this.UrlaubDB.SetMitarbeiter(this.Pool.Mitarbeiterdaten);\n\n this.Pool.ProgressMessage = 'Lade Feiertage Deutschland';\n\n await this.UrlaubDB.ReadFeiertage('DE');\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Feiertage Bulgarien';\n\n await this.UrlaubDB.ReadFeiertage('BG');\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Lade Einstellungen';\n\n await this.Pool.ReadSettingsliste();\n\n this.Pool.CurrentProgressValue++;\n\n this.Pool.ProgressMessage = 'Syncronisiere Gesamtprojektliste';\n\n this.Pool.Mitarbeitersettings = this.Pool.InitMitarbeitersettings(); // fehlende Settingseintraege initialisieren\n\n this.Pool.ProgressMessage = 'Aktualisiere Mitarbeitereinstellungen';\n\n await this.MitarbeitersettingsDB.SaveMitarbeitersettings();\n\n this.Pool.CurrentProgressValue++;\n\n this.Zoomfaktor = this.Pool.Mitarbeitersettings.Zoomfaktor;\n\n this.Pool.MitarbeitersettingsChanged.emit();\n\n if(this.Pool.Mitarbeiterdaten.SettingsID === null) {\n\n this.Pool.Mitarbeiterdaten.SettingsID = this.Pool.Mitarbeitersettings._id;\n\n await this.MitarbeiterDB.UpdateMitarbeiter(this.Pool.Mitarbeiterdaten);\n }\n\n this.MitarbeiterDB.InitService();\n this.StandortDB.InitService();\n\n this.Pool.ShowProgress = false;\n\n if(this.Pool.Mitarbeiterdaten.Planeradministrator === true) {\n\n Page = this.Pool.Appeinstellungen.AdminStartseite;\n }\n else {\n\n if(this.Pool.Appeinstellungen.Wartungsmodus === true) Page = this.Const.Pages.WartungPage;\n else Page = this.Const.Pages.UrlaubPlanungPage;\n }\n\n this.Pool.ProjektdatenLoaded = true;\n\n this.SetProjekteMenuebereich(Page);\n\n this.Tools.SetRootPage(Page).then(() => {\n\n this.Pool.LoadingAllDataFinished.emit();\n });\n\n }\n else {\n\n // Benutzer ist nicht angemeldet -> der Login wird angezeigt\n\n this.AuthService.SetShowLoginStatus();\n\n this.Debug.ShowMessage('Benutzer ist nicht angemeldet', 'App Component', 'StartApp', this.Debug.Typen.Component);\n\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'StartApp', this.Debug.Typen.Component);\n }\n }\n\n SetProjekteMenuebereich(Page: string) {\n\n try {\n\n switch (Page) {\n\n case this.Const.Pages.HomePage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Home;\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n\n break;\n\n case this.Const.Pages.EmaillistePage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Email;\n\n\n break;\n\n case this.Const.Pages.UrlaubPlanungPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Planung;\n\n break;\n\n case this.Const.Pages.UrlaubUebersichtPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Uebersicht;\n\n break;\n\n case this.Const.Pages.UrlaubsgesamtuebersichtPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Gesamtplanung;\n\n break;\n\n case this.Const.Pages.UrlaubFreigabenPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Freigaben;\n\n break;\n\n case this.Const.Pages.UrlaubEinstellungenPage:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Einstellungen;\n\n break;\n\n default:\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Projekte;\n\n break;\n\n }\n\n switch (Page) {\n\n case this.Const.Pages.PjAufgabenlistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n\n break;\n\n case this.Const.Pages.PjProtokolleListePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Protokolle;\n\n break;\n\n case this.Const.Pages.PjBaustelleLoplistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.LOPListe;\n\n break;\n\n case this.Const.Pages.PjBaustelleTagebuchlistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Bautagebuch;\n\n break;\n\n case this.Const.Pages.PjFestlegungslistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Festlegungen;\n\n break;\n\n case this.Const.Pages.PjPlanungsmatrixPage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Planungsmatrix;\n\n break;\n\n case this.Const.Pages.PjSimontabellelistePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Simontabelle;\n\n break;\n\n case this.Const.Pages.PjNotizenListePage:\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Notizen;\n\n break;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'App Component', 'function', this.Debug.Typen.Component);\n }\n }\n\n ngAfterContentChecked(): void {\n\n this.changeDetector.detectChanges();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'App Component', 'ngAfterContentChecked', this.Debug.Typen.Component);\n }\n }\n}\n","\nimport { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { IonicModule } from '@ionic/angular';\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './app-routing.module';\nimport {ToolsProvider} from \"./services/tools/tools\";\nimport {DebugProvider} from \"./services/debug/debug\";\nimport {ConstProvider} from \"./services/const/const\";\nimport {BasicsProvider} from \"./services/basics/basics\";\nimport {LoadingAnimationService} from \"./services/loadinganimation/loadinganimation\";\nimport {MenueService} from \"./services/menue/menue.service\";\nimport {DisplayService} from \"./services/diplay/display.service\";\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\nimport {HTTP_INTERCEPTORS, HttpClientModule} from \"@angular/common/http\";\nimport {\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MSAL_INTERCEPTOR_CONFIG,\n MsalBroadcastService, MsalGuard,\n MsalGuardConfiguration,\n MsalInterceptor,\n MsalInterceptorConfiguration,\n MsalModule,\n MsalRedirectComponent,\n MsalService\n} from \"@azure/msal-angular\";\nimport {BrowserCacheLocation, InteractionType, IPublicClientApplication, LogLevel, PublicClientApplication} from \"@azure/msal-browser\";\nimport {environment} from \"../environments/environment\";\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport {HashLocationStrategy, LocationStrategy} from \"@angular/common\";\n\nconst appurl: string = environment.production === false ? 'http://localhost:4200' : 'https://polite-cliff-084832d03.4.azurestaticapps.net';\n\n// !! Server URL auch in Pool service anpassen\n\nconst serverurl: string = environment.production === false && environment.useonlinedb === false ? 'http://localhost:8080' : 'bae-urlaubsplaner-server.azurewebsites.net';\nconst dockerurl: string = environment.production === false && environment.useonlinedb === false ? 'http://localhost:80' : 'bae-urlaubsplaner-docker.azurewebsites.net';\n\nconst MandantenID: string = '8870822d-b5ee-4a63-b4ea-7147f0ee753d';\nconst clientappregistration: string = 'e85e5489-e9fd-4d10-b6aa-37be3ce084b6'; // Login funktioniert mit peter.hornburger\nconst clientserverregistration: string = 'ca7568f7-4672-4348-843b-b80b210d692f';\nconst clientdockerregistration: string = '0caad6ac-8087-46ce-99ca-690c083121a8';\n\n// GITHUB Account\n// Benutzername: peter.hornburger@b-a-e.eu\n// Passwort: Spekyland4##\n\n// Azure Account\n// Benutzername: urlaubsplaner@b-a-e.eu\n// Passwort: Q@699025237410ut\n\n// AZURE MOngo DB\n\n// Collection Indexes\n// projekte Projektname\n// mitarbeiter Name\n\n/*\n\n Speichern der aktuellen Aufgabe bei der Ansicht alle ist falsch. Current Projekt muss geändert werden.\n\nBenutzer ist nicht angemeldet -> Meldung suchen. Im BAE muss ich mich jeden Tag neu anmedlen bzw. LOGIN wird nicht gezeigt.\n\nBautagebuch Editor ist zu groß. Automatische Höhe anwenden.\n\nTerminauswahl Kalenderfarben anpassen.\n\n\n */\n\n\n\nconst isIE = window.navigator.userAgent.indexOf(\"MSIE \") > -1 || window.navigator.userAgent.indexOf(\"Trident/\") > -1;\n\nconst loggerCallback = (logLevel: LogLevel, message: string) => {\n console.log(message);\n};\n\nexport const MSALInstanceFactory = (): IPublicClientApplication => {\n\n return new PublicClientApplication({\n auth: {\n clientId: clientappregistration,\n authority: 'https://login.microsoftonline.com/' + MandantenID,\n redirectUri: appurl,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: isIE, // set to true for IE 11\n },\n system: {\n loggerOptions: {\n loggerCallback,\n logLevel: LogLevel.Error,\n piiLoggingEnabled: false\n }\n }\n });\n};\n\nconst MSALInterceptorConfigFactory = () : MsalInterceptorConfiguration => {\n const protectedResourceMap = new Map>();\n protectedResourceMap.set('https://graph.microsoft.com/v1.0/me', ['user.read']);\n protectedResourceMap.set(dockerurl, ['api://' + clientdockerregistration + '/database_access']);\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap\n };\n};\n\n/*\n 'Calendars.Read',\n 'Calendars.Read.Shared',\n 'Calendars.ReadBasic',\n 'Calendars.ReadWrite',\n 'Calendars.ReadWrite.Shared',\n 'Contacts.ReadWrite',\n 'Mail.Read',\n 'Files.Read',\n 'Sites.ReadWrite.All',\n 'Mail.ReadBasic',\n 'Mail.ReadWrite',\n 'Mail.Send',\n 'MailboxSettings.Read',\n 'MailboxSettings.ReadWrite',\n 'User.ReadBasic.All',\n */\n\nconst MSALGuardConfigFactory = (): MsalGuardConfiguration => {\n return {\n interactionType: InteractionType.Redirect,\n authRequest: {\n scopes: [\n 'User.Read',\n 'offline_access',\n 'openid',\n 'profile',\n 'email',\n 'Mail.Send',\n 'User.ReadBasic.All',\n\n ], // Alle scopes für Tokenabrufe (Auth Service Funktion: RequestToken) müssen hier eingetragen werden\n },\n };\n};\n\n\n// originalKeywordKind -> identifierToKeywordKind(identifier)\n\n@NgModule({\n declarations: [\n AppComponent,\n ],\n imports: [\n BrowserModule,\n IonicModule.forRoot({\n innerHTMLTemplatesEnabled: true\n }),\n AppRoutingModule,\n BrowserAnimationsModule,\n HttpClientModule,\n MsalModule,\n FontAwesomeModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MsalInterceptor,\n multi: true\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory\n },\n {provide: LocationStrategy, useClass: HashLocationStrategy},\n MsalService,\n MsalGuard,\n MsalBroadcastService,\n ToolsProvider,\n DebugProvider,\n ConstProvider,\n BasicsProvider,\n MenueService,\n LoadingAnimationService,\n DisplayService\n ],\n bootstrap: [AppComponent, MsalRedirectComponent],\n exports: [\n\n ]\n})\nexport class AppModule {}\n","import {\n AfterViewInit,\n Component,\n EventEmitter, Input, OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {HttpErrorResponse} from \"@angular/common/http\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport * as Joi from \"joi\";\nimport {ObjectSchema} from \"joi\";\nimport {DatabaseChangelogService} from \"../../services/database-changelog/database-changelog.service\";\nimport {Moment} from 'moment';\nimport moment from 'moment';\n\n@Component({\n selector: 'fi-changelog-editor',\n templateUrl: './fi-changelog-editor.component.html',\n styleUrls: ['./fi-changelog-editor.component.scss'],\n})\n\nexport class FiChangelogEditorComponent implements OnInit, OnDestroy, AfterViewInit {\n\n public Valid: boolean;\n public CanDelete: boolean;\n private JoiShema: ObjectSchema;\n\n @Output() ValidChange = new EventEmitter();\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n @Output() DeleteClickedEvent = new EventEmitter();\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() Dialoghoehe: number;\n @Input() PositionY: number;\n @Input() ZIndex: number;\n\n constructor(public Debug: DebugProvider,\n public Displayservice: DisplayService,\n public Const: ConstProvider,\n private Tools: ToolsProvider,\n public DB: DatabaseChangelogService) {\n\n try {\n\n this.Valid = true;\n this.Valid = true;\n this.Titel = 'Change Log bearbeiten';\n this.Iconname = 'location-outline';\n this.Dialogbreite = 400;\n this.Dialoghoehe = 300;\n this.PositionY = 100;\n this.ZIndex = 2000;\n this.CanDelete = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Changelogeditor);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n private SetupValidation() {\n\n try {\n\n\n this.JoiShema = Joi.object({\n\n Beschreibung: Joi.string().required().max(100),\n\n }).options({ stripUnknown: true });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'SetupValidation', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.SetupValidation();\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Changelogeditor, this.ZIndex);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n ValidateInput() {\n\n try {\n\n let Result = this.JoiShema.validate(this.DB.CurrentChangelog);\n\n if(Result.error) this.Valid = false;\n else this.Valid = true;\n\n this.ValidChange.emit(this.Valid);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'ValidateInput', this.Debug.Typen.Component);\n }\n }\n\n TextChanged(event: { Titel: string; Text: string; Valid: boolean }) {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'TextChanged', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n\n CancelButtonClicked() {\n\n // this.ResetEditor();\n\n this.CancelClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n DeleteButtonClicked() {\n\n try {\n\n if(this.CanDelete) {\n\n this.DB.DeleteChangelog().then(() => {\n\n this.DeleteClickedEvent.emit();\n\n }).catch((exception: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(exception.error.message);\n });\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'DeleteButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n try {\n\n debugger;\n\n if(this.DB.CurrentChangelog._id === null) {\n\n this.DB.AddChangelog().then((result: any) => {\n\n this.OkClickedEvent.emit();\n\n }).catch((error: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(error.error);\n\n });\n }\n else {\n\n this.DB.UpdateChangelog().then(() => {\n\n\n this.OkClickedEvent.emit();\n\n }).catch((exception: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(exception.error.message);\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n CanDeleteCheckedChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.CanDelete = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Changelog Editor', 'CanDeleteCheckedChanged', this.Debug.Typen.Component);\n }\n\n }\n\n GetDatum(): string {\n\n try {\n\n let Datum: Moment = moment(this.DB.CurrentChangelog.Zeitstempel);\n\n return Datum.format('DD.MM.YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Changelog Editor', 'GetDatum', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {FiChangelogEditorComponent} from \"./fi-changelog-editor.component\";\nimport {InputCloneModule} from \"../../components/input-clone/input-clone.module\";\nimport {InputCloneKeeperModule} from \"../../components/input-clone-keeper/input-clone-keeper.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\n\n@NgModule({\n declarations: [\n\n FiChangelogEditorComponent\n ],\n exports: [\n\n FiChangelogEditorComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n InputCloneModule,\n InputCloneKeeperModule,\n AbstandElementFixedModule,\n PageHeaderModule,\n CheckboxClonModule,\n PageFooterModule,\n ],\n providers: [\n\n ]\n})\nexport class FiChangelogEditorModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {AlphabetComponent} from \"../../components/alphabet/alphabet\";\nimport * as lodash from \"lodash-es\";\nimport {Subscription} from \"rxjs\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport {loadFromPath} from \"@ionic/cli/lib/ssh-config\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\n\n@Component({\n selector: 'fi-mitarbeiter-auswahl',\n templateUrl: './fi-mitarbeiter-auswahl.component.html',\n styleUrls: ['./fi-mitarbeiter-auswahl.component.scss'],\n})\nexport class FiMitarbeiterAuswahlComponent implements OnInit, OnDestroy {\n\n @ViewChild('SmallAlphabet', { static: true }) Alphabetcomponent: AlphabetComponent;\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() AuswahlIDliste: string[];\n @Input() Multiselect: boolean;\n @Input() Dialogbreite: number;\n @Input() ZIndex: number;\n @Input() OnlyProjektmitarbeiter: boolean;\n @Input() BlockCurrentMitarbeiter: boolean;\n\n\n\n @Output() OkClickedEvent = new EventEmitter();\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() StandortfilterClickedEvent = new EventEmitter();\n\n public Anzeigeliste: Mitarbeiterstruktur[];\n public Mitarbeiterbuchstabenliste: string[];\n public Standardalphabet: string[];\n public Mitarbeiteralphabet: string[];\n public Mitarbeiteralphabetauswahl: string;\n public Alphapetbreite: number;\n public Lastletter: string;\n public Mitarbeiterfiltertext: string;\n public Mitarbeiterliste: Mitarbeiterstruktur[];\n private FilterSubscription: Subscription;\n public PositionY: number;\n public AuswahlIDListeSicherung: string[];\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public DBStandort: DatabaseStandorteService,\n public Const: ConstProvider,\n private DBUrlaub: DatabaseUrlaubService,\n public Displayservice: DisplayService,\n private Pool: DatabasePoolService) {\n\n try {\n\n this.AuswahlIDliste = [];\n this.Mitarbeiterbuchstabenliste = [];\n this.Standardalphabet = ['Alle', 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J', 'K','L', 'M', 'N', 'O', 'P', 'Q','R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z'];\n this.Mitarbeiteralphabetauswahl = 'Alle';\n this.Mitarbeiteralphabet = this.Standardalphabet;\n this.Alphapetbreite = 44;\n this.Mitarbeiterfiltertext = '';\n this.Multiselect = false;\n this.Titel = this.Const.NONE;\n this.Iconname = 'people-outline';\n this.Dialogbreite = 400;\n this.PositionY = 100;\n this.ZIndex = 3000;\n this.Mitarbeiterliste = [];\n this.FilterSubscription = null;\n this.OnlyProjektmitarbeiter = true;\n this.BlockCurrentMitarbeiter = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy() {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Mitarbeiterauswahl);\n\n this.FilterSubscription.unsubscribe();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n private InitTitel() {\n\n try {\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'file', 'function', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.AuswahlIDListeSicherung = lodash.cloneDeep(this.AuswahlIDliste);\n\n if(this.Alphabetcomponent) this.Alphabetcomponent.InitScreen();\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Mitarbeiterauswahl, this.ZIndex);\n\n this.FilterSubscription = this.DBStandort.StandortfilterChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'function', this.Debug.Typen.Component);\n }\n }\n\n private PrepareDaten() {\n\n try {\n\n let Liste: Mitarbeiterstruktur[];\n let Merker: Mitarbeiterstruktur[];\n let Buchstabe: string;\n let Laenge: number;\n let TeilA: string;\n let TeilB: string;\n let TeilC: string;\n let Teillaenge: number;\n let PosA: number;\n let Solltext: string;\n let Suchtext: string;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n if(this.Pool.Mitarbeiterliste !== null) {\n\n this.Lastletter = '';\n this.Mitarbeiterliste = [];\n\n // Nach Namen sortieren\n\n if(this.OnlyProjektmitarbeiter) {\n\n /*\n\n if(this.DB.CurrentProjekt !== null) {\n\n for(let id of this.DB.CurrentProjekt.MitarbeiterIDListe) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: id});\n\n if(!lodash.isUndefined(Mitarbeiter)) this.Mitarbeiterliste.push(Mitarbeiter);\n }\n }\n\n */\n }\n else {\n\n this.Mitarbeiterliste = lodash.cloneDeep(this.Pool.Mitarbeiterliste);\n }\n\n Liste = lodash.cloneDeep(this.Mitarbeiterliste);\n Liste = lodash.filter(Liste, (currentmit: Mitarbeiterstruktur) => {\n\n return currentmit.Archiviert === false;\n });\n\n Liste.sort( (a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n if(this.BlockCurrentMitarbeiter && this.DBUrlaub.CurrentMitarbeiter !== null) {\n\n Liste = lodash.filter(Liste, (currentmit: Mitarbeiterstruktur) => {\n\n return currentmit._id !== this.DBUrlaub.CurrentMitarbeiter._id;\n });\n }\n\n // Standort Filter anwenden\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n if(Eintrag.StandortID === this.DBStandort.CurrentStandortfilter._id) Liste.push(Eintrag);\n }\n }\n\n // Mitarbeiteralphabetauswahl Buchstaben festlegen\n\n if(Liste.length > 6) {\n\n this.Mitarbeiteralphabet = ['Alle'];\n\n for(let Eintrag of Liste) {\n\n Buchstabe = Eintrag.Name.substring(0, 1).toUpperCase();\n\n if(this.Mitarbeiteralphabet.indexOf(Buchstabe) === -1) this.Mitarbeiteralphabet.push(Buchstabe);\n }\n } else {\n\n this.Mitarbeiteralphabet = this.Standardalphabet;\n }\n\n // Alphabetfilter anwenden\n\n if(this.Mitarbeiteralphabetauswahl !== 'Alle') {\n\n Merker = lodash.cloneDeep(Liste);\n\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Buchstabe = Eintrag.Name.substring(0, 1).toUpperCase();\n\n Buchstabe = Buchstabe === 'Ä' ? 'A' : Buchstabe;\n Buchstabe = Buchstabe === 'Ö' ? 'O' : Buchstabe;\n Buchstabe = Buchstabe === 'Ãœ' ? 'U' : Buchstabe;\n\n if(this.Mitarbeiteralphabetauswahl === Buchstabe) Liste.push(Eintrag);\n }\n }\n\n // Suche Mitarbeiterfilter anwenden\n\n if(this.Mitarbeiterfiltertext !== '') {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Solltext = this.Mitarbeiterfiltertext.toLowerCase();\n Suchtext = Eintrag.Name.toLowerCase();\n PosA = Suchtext.indexOf(Solltext);\n\n if(PosA !== -1) {\n\n Laenge = Eintrag.Name.length;\n Teillaenge = Solltext.length;\n TeilA = Eintrag.Name.substr(0, PosA);\n TeilB = Eintrag.Name.substr(PosA, Teillaenge);\n Teillaenge = Laenge - Teillaenge - PosA;\n TeilC = Eintrag.Name.substr(Laenge - Teillaenge, Teillaenge);\n\n Eintrag.Filtered = true;\n Eintrag.Text_A = TeilA;\n Eintrag.Text_B = TeilB;\n Eintrag.Text_C = TeilC;\n\n Liste.push(Eintrag);\n }\n }\n }\n\n // Buchstabenliste festlegen\n\n this.Mitarbeiterbuchstabenliste = [];\n\n for(let Eintrag of Liste) {\n\n this.Mitarbeiterbuchstabenliste.push(this.GetMitarbeiterAlphabetbuchstabe(Eintrag));\n }\n\n // Alle Auswahlen entfernen\n\n for(Mitarbeiter of Liste) {\n\n Mitarbeiter.Selected = false;\n }\n\n // Auswahl festlegen\n\n for(let MitarbeiterID of this.AuswahlIDliste) {\n\n Mitarbeiter = lodash.find(Liste, {_id: MitarbeiterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) Mitarbeiter.Selected = true;\n }\n\n this.Anzeigeliste = lodash.cloneDeep(Liste);\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'PrepareDaten', this.Debug.Typen.Component);\n }\n }\n\n private GetMitarbeiterAlphabetbuchstabe(value: Mitarbeiterstruktur) {\n\n try {\n\n let Buchstabe: string = value.Name.substring(0, 1).toUpperCase();\n\n if(Buchstabe !== this.Lastletter) {\n\n this.Lastletter = Buchstabe;\n\n return Buchstabe;\n }\n else {\n\n return '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'GetMitarbeiterAlphabetbuchstabe', this.Debug.Typen.Component);\n }\n }\n\n\n MitrabeiterButtonClicked(Mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'MitrabeiterButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n AlphabetClicked(buchstabe: string) {\n\n try {\n\n this.Mitarbeiterfiltertext = '';\n this.Mitarbeiteralphabetauswahl = buchstabe;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'AlphabetClicked', this.Debug.Typen.Component);\n }\n\n }\n\n CheckedChanged(result: { status: boolean; index: number; event: any }) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n\n if(this.Multiselect === false) {\n\n for(Mitarbeiter of this.Mitarbeiterliste) {\n\n Mitarbeiter.Selected = false;\n }\n\n for(Mitarbeiter of this.Anzeigeliste) {\n\n Mitarbeiter.Selected = false;\n }\n }\n\n // Anpassung in der Gesamtliste\n\n Mitarbeiter = lodash.find(this.Mitarbeiterliste, {_id: this.Anzeigeliste[result.index]._id});\n\n if(!lodash.isUndefined(Mitarbeiter)) {\n\n Mitarbeiter.Selected = result.status;\n\n\n if(result.status === true) {\n\n this.AuswahlIDliste.push(Mitarbeiter._id);\n }\n else {\n\n this.AuswahlIDliste = lodash.filter(this.AuswahlIDliste, (id: string) => {\n\n return id !== Mitarbeiter._id;\n });\n }\n }\n\n // Anpassung in der Anzeigeliste\n\n this.Anzeigeliste[result.index].Selected = result.status;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'CheckedChanged', this.Debug.Typen.Component);\n }\n }\n\n CancelButtonClicked() {\n\n this.CancelClickedEvent.emit();\n\n try {\n\n this.AuswahlIDliste = lodash.cloneDeep(this.AuswahlIDListeSicherung);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n /*\n let IDListe: string[] = [];\n\n for(let Mitarbeiter of this.Anzeigeliste) {\n\n if(!lodash.isUndefined(Mitarbeiter.Selected) && Mitarbeiter.Selected === true) {\n\n this.A.push(Mitarbeiter._id);\n }\n }\n\n */\n\n this.OkClickedEvent.emit(this.AuswahlIDliste);\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n\n StandortfilterButtonClicked() {\n\n try {\n\n this.StandortfilterClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'StandortfilterButtonClicked', this.Debug.Typen.Component);\n }\n\n }\n\n GetStandortfiller(): string {\n\n try {\n\n if(this.DBStandort.CurrentStandortfilter === null) return 'kein Standortfilter';\n else return this.DBStandort.CurrentStandortfilter.Kuerzel + ' / ' + this.DBStandort.CurrentStandortfilter.Standort;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Auswahl', 'GetStandortfiller', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {InputCloneModule} from \"../../components/input-clone/input-clone.module\";\nimport {InputCloneKeeperModule} from \"../../components/input-clone-keeper/input-clone-keeper.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterAuswahlComponent} from \"./fi-mitarbeiter-auswahl.component\";\nimport {AlphabetModule} from \"../../components/alphabet/alphabet.module\";\nimport {AlphabetRelativeModule} from \"../../components/alphabet-relative/alphabet-relative.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\n\n@NgModule({\n declarations: [\n\n FiMitarbeiterAuswahlComponent\n ],\n exports: [\n\n FiMitarbeiterAuswahlComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n InputCloneModule,\n InputCloneKeeperModule,\n AbstandElementFixedModule,\n CheckboxClonModule,\n AlphabetModule,\n AlphabetRelativeModule,\n PageHeaderModule,\n PageFooterModule\n ],\n providers: [\n\n ]\n})\nexport class FiMitarbeiterAuswahlModule {}\n","import { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport * as Joi from \"joi\";\nimport {ObjectSchema} from \"joi\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {Teamsstruktur} from \"../../dataclasses/teamsstruktur\";\nimport * as lodash from \"lodash-es\";\nimport {Mitarbeiterpositionstruktur} from \"../../dataclasses/mitarbeiterpositionstruktur\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\n\n@Component({\n selector: 'fi-mitarbeiter-editor',\n templateUrl: './fi-mitarbeiter-editor.component.html',\n styleUrls: ['./fi-mitarbeiter-editor.component.scss'],\n})\n\nexport class FiMitarbeiterEditorComponent implements OnInit, OnDestroy, AfterViewInit {\n\n public Valid: boolean;\n\n @Output() ValidChanged = new EventEmitter();\n @Output() StandortClickedEvent = new EventEmitter();\n @Output() AnredeClickedEvent = new EventEmitter();\n @Output() UrlaubClickedEvent = new EventEmitter();\n // @Output() FachbereichClickedEvent = new EventEmitter();\n @Output() PositionClickedEvent = new EventEmitter();\n\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n @Output() ErrorEvent = new EventEmitter();\n @Output() ResturlaubEvent = new EventEmitter();\n\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() ZIndex: number;\n @Input() SkipOkButtonAction: boolean;\n @Input() EmailinputEnabled: boolean;\n\n public DeleteEnabled: boolean;\n public Teamsliste: Teamsstruktur[];\n private JoiShema: ObjectSchema;\n public ErrorMessage: string;\n public PositionY: number;\n public Bereich: string;\n public AddNewPosition: boolean;\n public EditPosition: boolean;\n public Bereiche = {\n\n Allgemein: 'Allgemein',\n Positionen: 'Positionen'\n };\n\n constructor(public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Pool: DatabasePoolService,\n public Const: ConstProvider,\n public Basics: BasicsProvider,\n public Displayservice: DisplayService,\n public StandortDB: DatabaseStandorteService,\n public UrlaubDB: DatabaseUrlaubService,\n public DB: DatabaseMitarbeiterService) {\n\n try {\n\n this.Valid = true;\n this.DeleteEnabled = false;\n this.Titel = this.Const.NONE;\n this.Iconname = 'help-circle-outline';\n this.Dialogbreite = 400;\n this.PositionY = 100;\n this.ZIndex = 2000;\n this.SkipOkButtonAction = false;\n this.EmailinputEnabled = true;\n this.Teamsliste = [];\n this.ErrorMessage = null;\n this.AddNewPosition = false;\n this.EditPosition = false;\n this.Bereich = this.Bereiche.Allgemein;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Mitarbeitereditor);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n private ResetEditor() {\n\n try {\n\n this.DeleteEnabled = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'ResetEditor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.SetupValidation();\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Mitarbeitereditor, this.ZIndex);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n private SetupValidation() {\n\n try {\n\n\n this.JoiShema = Joi.object({\n\n Name: Joi.string().required().max(100),\n Vorname: Joi.string().required().max(100),\n Kuerzel: Joi.string().required().min(3).max(10),\n Email: Joi.string().required().max(255).email({ tlds: { allow: false } }).required(),\n\n }).options({ stripUnknown: true });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'SetupValidation', this.Debug.Typen.Component);\n }\n }\n\n ValidateInput() {\n\n try {\n\n let Result = this.JoiShema.validate(this.DB.CurrentMitarbeiter);\n\n if(Result.error) this.Valid = false;\n else this.Valid = true;\n\n if(this.DB.CurrentMitarbeiter.StandortID === '') this.Valid = false;\n\n // if(this.Pool.Mitarbeiterdaten === null || this.Pool.Mitarbeiterdaten.Planeradministrator === false) this.Valid = false;\n\n this.ValidChanged.emit(this.Valid);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'ValidateInput', this.Debug.Typen.Component);\n }\n }\n\n TextChanged(event: { Titel: string; Text: string; Valid: boolean }) {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'TextChanged', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n this.ValidateInput();\n\n /*\n\n this.GraphService.GetOtherUserteams(this.DB.CurrentMitarbeiter.Email).then((teamsliste: Teamsstruktur[]) => {\n\n this.Teamsliste = teamsliste;\n\n }).catch((error: any) => {\n\n this.ErrorMessage = error.error;\n });\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n StandortClicked() {\n\n try {\n\n this.StandortClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'StandortClicked', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n FachbereichClicked() {\n\n try {\n\n this.FachbereichClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'FachbereichClicked', this.Debug.Typen.Component);\n }\n }\n\n */\n\n LoeschenCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DeleteEnabled = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'LoeschenCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n CancelButtonClicked() {\n\n this.ResetEditor();\n\n this.CancelClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n if(this.SkipOkButtonAction) {\n\n this.OkClickedEvent.emit();\n }\n else {\n\n if(this.DB.CurrentMitarbeiter._id === null) {\n\n this.DB.AddMitarbeiter(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ResetEditor();\n\n this.OkClickedEvent.emit();\n\n }).catch((errora) => {\n\n this.Debug.ShowErrorMessage(errora, 'Mitarbeiter Editor', 'OkButtonClicked / AddMitarbeiter', this.Debug.Typen.Component);\n });\n }\n else {\n\n this.DB.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ResetEditor();\n\n this.OkClickedEvent.emit();\n\n }).catch((errorb) => {\n\n this.Debug.ShowErrorMessage(errorb, 'Mitarbeiter Editor', 'OkButtonClicked / UpdateMitarbeiter', this.Debug.Typen.Component);\n });\n }\n }\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n ArchivierenCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DB.CurrentMitarbeiter.Archiviert = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'ArchivierenCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n\n\n HomeofficefreigabenCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DB.CurrentMitarbeiter.Homeofficefreigaben = event.status;\n\n if(event.status === false) this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'HomeofficefreigabenCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n\n PlaneradministratorCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DB.CurrentMitarbeiter.Planeradministrator = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PlaneradministratorCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n UrlaubsfreigabenCheckboxChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.DB.CurrentMitarbeiter.Urlaubsfreigaben = event.status;\n\n if(event.status === false) this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'UrlaubsfreigabenCheckboxChanged', this.Debug.Typen.Component);\n }\n }\n\n GetAnrede(): string {\n\n try {\n\n if(this.DB.CurrentMitarbeiter !== null) {\n\n if(this.DB.CurrentMitarbeiter.Anrede === this.Const.NONE) return 'unbekannt';\n else return this.DB.CurrentMitarbeiter.Anrede;\n }\n else return 'null';\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'function', this.Debug.Typen.Component);\n }\n }\n\n UrlaubsfreigabeChecked(id) {\n\n try {\n\n return lodash.indexOf(this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte, id) !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'UrlaubsfreigabeChecked', this.Debug.Typen.Page);\n }\n }\n\n UrlaubsfreigabeChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n if(event.status === true) {\n\n this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte.push(event.value);\n }\n else {\n\n this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte = lodash.filter(this.DB.CurrentMitarbeiter.Urlaubsfreigabeorte, (id) => {\n\n return id !== event.value;\n });\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'UrlaubsfreigabeChanged', this.Debug.Typen.Component);\n }\n }\n\n HomeofficefreigabeChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n if(event.status === true) {\n\n this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte.push(event.value);\n }\n else {\n\n this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte = lodash.filter(this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte, (id) => {\n\n return id !== event.value;\n });\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'HomeofficefreigabeChanged', this.Debug.Typen.Component);\n }\n }\n\n HomeofficefreigabeChecked(id: string) {\n\n try {\n\n return lodash.indexOf(this.DB.CurrentMitarbeiter.Homeofficefreigabestandorte, id) !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'HomeofficefreigabeChecked', this.Debug.Typen.Component);\n }\n }\n\n\n AllgemeinMenuButtonClicked() {\n\n try {\n\n this.Bereich = this.Bereiche.Allgemein;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'AllgemeinMenuButtonClicked', this.Debug.Typen.Component);\n }\n\n }\n\n PositionenMenuButtonClicked() {\n\n try {\n\n this.Bereich = this.Bereiche.Positionen;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionenMenuButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n NeuePositionButtonClicked() {\n\n try {\n\n this.AddNewPosition = true;\n this.DB.CurrentPosition = this.DB.GetEmptyMitarbeiterposition();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'NeuePositionButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n NewPositionTextChanged(event: { Titel: string; Text: string; Valid: boolean }) {\n\n try {\n\n this.DB.CurrentPosition.Bezeichnung = event.Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'NewPositionTextChanged', this.Debug.Typen.Component);\n }\n }\n\n async PositionOkButtonClicked() {\n\n try {\n\n if(this.AddNewPosition) {\n\n await this.DB.AddMitarbeiterposition(this.DB.CurrentPosition);\n\n this.AddNewPosition = false;\n this.DB.CurrentPosition = null;\n }\n\n if(this.EditPosition) {\n\n await this.DB.UpdateMitarbeiterposition(this.DB.CurrentPosition);\n\n this.EditPosition = false;\n this.DB.CurrentPosition = null;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionOkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n PositionCancelButtonClicked() {\n\n try {\n\n if(this.AddNewPosition) {\n\n this.AddNewPosition = false;\n this.DB.CurrentPosition = null;\n }\n\n if(this.EditPosition) {\n\n this.EditPosition = false;\n this.DB.CurrentPosition = null;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionCancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n PositionButtonClicked(Position: Mitarbeiterpositionstruktur) {\n\n try {\n\n if(!this.EditPosition && !this.AddNewPosition) {\n\n this.DB.CurrentPosition = lodash.cloneDeep(Position);\n this.EditPosition = true;\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n PositionClicked() {\n\n try {\n\n this.PositionClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiter Editor', 'PositionClicked', this.Debug.Typen.Component);\n }\n\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {FiMitarbeiterEditorComponent} from \"./fi-mitarbeiter-editor.component\";\nimport {InputCloneModule} from \"../../components/input-clone/input-clone.module\";\nimport {InputCloneKeeperModule} from \"../../components/input-clone-keeper/input-clone-keeper.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\n\n@NgModule({\n declarations: [\n\n FiMitarbeiterEditorComponent\n ],\n exports: [\n\n FiMitarbeiterEditorComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n InputCloneModule,\n InputCloneKeeperModule,\n AbstandElementFixedModule,\n CheckboxClonModule,\n PageHeaderModule,\n PageFooterModule,\n ButtonValueModule\n ],\n providers: [\n\n ]\n})\nexport class FiMitarbeiterEditorModule {}\n","import {\n AfterViewInit,\n Component,\n EventEmitter, Input, OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {InputCloneComponent} from \"../../components/input-clone/input-clone.component\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {HttpErrorResponse} from \"@angular/common/http\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport * as Joi from \"joi\";\nimport * as lodash from \"lodash-es\";\nimport {ObjectSchema} from \"joi\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {Regionenstruktur} from \"../../dataclasses/regionenstruktur\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\n\n@Component({\n selector: 'fi-standort-editor',\n templateUrl: './fi-standort-editor.component.html',\n styleUrls: ['./fi-standort-editor.component.scss'],\n})\n\nexport class FiStandortEditorComponent implements OnInit, OnDestroy, AfterViewInit {\n\n public Valid: boolean;\n public CanDelete: boolean;\n private JoiShema: ObjectSchema;\n\n @Output() ValidChange = new EventEmitter();\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n @Output() DeleteClickedEvent = new EventEmitter();\n @Output() LandClickedEvent = new EventEmitter();\n @Output() BundeslandClickedEvent = new EventEmitter();\n @Output() KonfessionClickedEvent = new EventEmitter();\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() Dialoghoehe: number;\n @Input() PositionY: number;\n @Input() ZIndex: number;\n\n constructor(public Debug: DebugProvider,\n public Displayservice: DisplayService,\n public Const: ConstProvider,\n private Tools: ToolsProvider,\n public Pool: DatabasePoolService,\n private DBUrlaub: DatabaseUrlaubService,\n public DBMitarbeiter: DatabaseMitarbeiterService,\n public DB: DatabaseStandorteService) {\n\n try {\n\n this.Valid = true;\n this.Valid = true;\n this.Titel = this.Const.NONE;\n this.Iconname = 'location-outline';\n this.Dialogbreite = 400;\n this.Dialoghoehe = 300;\n this.PositionY = 100;\n this.ZIndex = 2000;\n this.CanDelete = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Standorteditor);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n private SetupValidation() {\n\n try {\n\n\n this.JoiShema = Joi.object({\n\n Standort: Joi.string().required().max(100),\n Kuerzel: Joi.string().required().min(3).max(10),\n Strasse: Joi.string().required().max(100),\n Ort: Joi.string().required().max(100),\n PLZ: Joi.string().required().min(4).max(5),\n Email: Joi.string().required().max(255).email({ tlds: { allow: false } }).required(),\n\n }).options({ stripUnknown: true });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'SetupValidation', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.SetupValidation();\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Standorteditor, this.ZIndex);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n ValidateInput() {\n\n try {\n\n let Result = this.JoiShema.validate(this.DB.CurrentStandort);\n\n if(Result.error) this.Valid = false;\n else this.Valid = true;\n\n if(this.Pool.Mitarbeiterdaten === null || this.Pool.Mitarbeiterdaten.Planeradministrator === false) this.Valid = false;\n\n this.ValidChange.emit(this.Valid);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'ValidateInput', this.Debug.Typen.Component);\n }\n }\n\n TextChanged(event: { Titel: string; Text: string; Valid: boolean }) {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'TextChanged', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n this.ValidateInput();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n\n CancelButtonClicked() {\n\n // this.ResetEditor();\n\n this.CancelClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n DeleteButtonClicked() {\n\n try {\n\n if(this.CanDelete) {\n\n this.DB.DeleteStandort().then(() => {\n\n this.DeleteClickedEvent.emit();\n\n }).catch((exception: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(exception.error.message);\n });\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'DeleteButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n try {\n\n debugger;\n\n if(this.DB.CurrentStandort._id === null) {\n\n this.DB.AddStandort().then((result: any) => {\n\n this.OkClickedEvent.emit();\n\n }).catch((error: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(error.error);\n\n });\n }\n else {\n\n this.DB.UpdateStandort().then(() => {\n\n\n this.OkClickedEvent.emit();\n\n }).catch((exception: HttpErrorResponse) => {\n\n this.Tools.ShowHinweisDialog(exception.error.message);\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n CanDeleteCheckedChanged(event: {status: boolean; index: number; event: any}) {\n\n try {\n\n this.CanDelete = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standort Editor', 'CanDeleteCheckedChanged', this.Debug.Typen.Component);\n }\n\n }\n\n GetLand() {\n\n try {\n\n if(this.DB.CurrentStandort !== null) {\n\n switch (this.DB.CurrentStandort.Land) {\n\n case 'DE': return 'Deutschland'; break;\n case 'BG': return 'Bulgarien'; break;\n }\n }\n else return 'Unbekannt';\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'GetLand', this.Debug.Typen.Component);\n }\n }\n\n GetBundesland(): string {\n\n try {\n\n let Region: Regionenstruktur;\n\n if(this.DB.CurrentStandort !== null) {\n\n Region = lodash.find(this.DBUrlaub.Regionenliste, {isoCode: this.DB.CurrentStandort.Bundesland});\n\n if(!lodash.isUndefined(Region)) return Region.Name;\n else return 'Unbekannt';\n\n } else {\n\n return 'Unbekannt';\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'funGetBundeslandction', this.Debug.Typen.Component);\n }\n }\n\n GetKonfession() {\n\n try {\n\n if(this.DB.CurrentStandort !== null) {\n\n switch (this.DB.CurrentStandort.Konfession) {\n\n case 'RK': return 'Katholisch'; break;\n case 'EV': return 'Evangelisch'; break;\n }\n }\n else return 'Unbekannt';\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'GetKonfession', this.Debug.Typen.Component);\n }\n }\n\n UrlaubsfreigabeChecked(id: string): boolean {\n\n try {\n\n let Index: number = this.DB.CurrentStandort.Urlaubfreigabepersonen.indexOf(id);\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'UrlaubsfreigabeChecked', this.Debug.Typen.Component);\n }\n }\n\n HomeofficefreigabeChecked(id: string): boolean {\n\n try {\n\n let Index: number = this.DB.CurrentStandort.Homeofficefreigabepersonen.indexOf(id);\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'HomeofficefreigabeChecked', this.Debug.Typen.Component);\n }\n }\n\n UrlaubsfreigabeCheckChanged(event: { status: boolean; index: number; event: any; value: string }, id: string) {\n\n try {\n\n if(event.status === true) this.DB.CurrentStandort.Urlaubfreigabepersonen.push(id);\n else {\n\n this.DB.CurrentStandort.Urlaubfreigabepersonen = lodash.filter(this.DB.CurrentStandort.Urlaubfreigabepersonen, (currentid) => {\n\n return id !== currentid;\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'UrlaubsfreigabeCheckChanged', this.Debug.Typen.Component);\n }\n }\n\n HomeofficefreigabeCheckChanged(event: { status: boolean; index: number; event: any; value: string }, id: string) {\n\n try {\n\n if(event.status === true) this.DB.CurrentStandort.Homeofficefreigabepersonen.push(id);\n else {\n\n this.DB.CurrentStandort.Homeofficefreigabepersonen = lodash.filter(this.DB.CurrentStandort.Homeofficefreigabepersonen, (currentid) => {\n\n return id !== currentid;\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standort Editor', 'HomeofficefreigabeCheckChanged', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {FiStandortEditorComponent} from \"./fi-standort-editor.component\";\nimport {InputCloneModule} from \"../../components/input-clone/input-clone.module\";\nimport {InputCloneKeeperModule} from \"../../components/input-clone-keeper/input-clone-keeper.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\n\n@NgModule({\n declarations: [\n\n FiStandortEditorComponent\n ],\n exports: [\n\n FiStandortEditorComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n InputCloneModule,\n InputCloneKeeperModule,\n AbstandElementFixedModule,\n PageHeaderModule,\n CheckboxClonModule,\n PageFooterModule,\n ButtonValueModule,\n ],\n providers: [\n\n ]\n})\nexport class FiStandortEditorModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'abstand-element-fixed',\n templateUrl: './abstand-element-fixed.component.html',\n styleUrls: ['./abstand-element-fixed.component.scss']\n})\nexport class AbstandElementFixedComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {AbstandElementFixedComponent} from './abstand-element-fixed.component';\n\n@NgModule({\n declarations: [\n\n AbstandElementFixedComponent,\n ],\n exports: [\n\n AbstandElementFixedComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class AbstandElementFixedModule {}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {AlphabetRelativeComponent} from './alphabet-relative';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n AlphabetRelativeComponent\n ],\n exports: [\n\n AlphabetRelativeComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class AlphabetRelativeModule {}\n","import {\n Component, ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ConstProvider} from '../../services/const/const';\nimport {ToolsProvider} from '../../services/tools/tools';\nimport {PageHeaderComponent} from '../page-header/page-header';\nimport {PageFooterComponent} from '../page-footer/page-footer';\n\n@Component({\n selector: 'alphabet-relative',\n templateUrl: 'alphabet-relative.html',\n styleUrls: ['alphabet-relative.scss']\n})\nexport class AlphabetRelativeComponent implements OnInit, OnChanges {\n\n @Input() Breite: number;\n @Input() Auswahl: string = '';\n @Input() Buchstabenliste: string[] = [];\n @Output() AlphabetClicked = new EventEmitter();\n @Output() ZusatzbuttonClicked = new EventEmitter();\n\n @ViewChild('ImageKeeperDiv', { static: true }) private ImageKeeperDiv: ElementRef;\n\n\n public Style;\n public Filterliste: string[];\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Const: ConstProvider,\n private Tools: ToolsProvider) {\n\n try {\n\n this.Auswahl = '';\n this.Breite = 0;\n this.Buchstabenliste = ['Alle','A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];\n this.Filterliste = [];\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'Constructor', this.Debug.Typen.Component);\n }\n }\n\n public InitScreen() {\n\n try {\n\n let TopPossition: number = 0;\n let BottomPossition: number = 0;\n\n this.Style = {\n\n width: this.Breite + 'px',\n top: TopPossition + 'px',\n bottom: BottomPossition + 'px',\n background: this.Basics.Farben.BAEHellgrau,\n display: 'flex',\n 'flex-direction': 'column',\n 'justify-content': 'center' // horizontal\n };\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'InitScreen', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.InitScreen();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n AlphabetClickedHandler(buchstabe: string) {\n\n try {\n\n this.AlphabetClicked.emit(buchstabe);\n\n this.Auswahl = buchstabe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'AlphabetClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n\n SetFilterliste() {\n\n try {\n\n this.Filterliste = this.Buchstabenliste;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'SetFilterliste', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Value: SimpleChange;\n\n Value = changes.Buchstabenliste;\n\n if(typeof Value !== 'undefined') {\n\n this.SetFilterliste();\n }\n\n Value = changes.Breite;\n\n if(typeof Value !== 'undefined') {\n\n this.InitScreen();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {AlphabetComponent} from './alphabet';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n AlphabetComponent\n ],\n exports: [\n\n AlphabetComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class AlphabetModule {}\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChange, SimpleChanges, ViewChild } from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ConstProvider} from '../../services/const/const';\nimport {ToolsProvider} from '../../services/tools/tools';\nimport {PageHeaderComponent} from '../page-header/page-header';\nimport {PageFooterComponent} from '../page-footer/page-footer';\n\n@Component({\n selector: 'alphabet',\n templateUrl: 'alphabet.html',\n styleUrls: ['alphabet.scss']\n})\nexport class AlphabetComponent implements OnInit, OnChanges {\n\n @Input() Breite: number;\n @Input() Auswahl: string = '';\n @Input() Buchstabenliste: string[] = [];\n @Input() PageHeader: PageHeaderComponent = null;\n @Input() PageFooter: PageFooterComponent = null;\n @Output() AlphabetClicked = new EventEmitter();\n @Output() ZusatzbuttonClicked = new EventEmitter();\n\n @ViewChild('ImageKeeperDiv', { static: true }) private ImageKeeperDiv: ElementRef;\n\n\n public Style;\n public Filterliste: string[];\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Const: ConstProvider,\n private Tools: ToolsProvider) {\n try {\n\n this.Auswahl = '';\n this.Breite = 0;\n this.Buchstabenliste = ['Alle','A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];\n this.Filterliste = [];\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'Constructor', this.Debug.Typen.Component);\n }\n }\n\n public InitScreen() {\n\n try {\n\n let TopPossition: number = 0;\n let BottomPossition: number = 0;\n\n if(typeof this.PageHeader !== 'undefined' && this.PageHeader !== null) TopPossition = this.PageHeader.PageHeaderDiv.nativeElement.clientHeight;\n if(typeof this.PageFooter !== 'undefined' && this.PageFooter !== null) BottomPossition = this.PageFooter.PageFooterFrameDiv.nativeElement.clientHeight;\n\n this.Style = {\n\n width: this.Breite + 'px',\n top: TopPossition + 'px',\n bottom: BottomPossition + 'px',\n background: this.Basics.Farben.BAEHellgrau\n };\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'InitScreen', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.InitScreen();\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n AlphabetClickedHandler(buchstabe: string) {\n\n try {\n\n this.AlphabetClicked.emit(buchstabe);\n\n this.Auswahl = buchstabe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'AlphabetClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n\n SetFilterliste() {\n\n try {\n\n this.Filterliste = this.Buchstabenliste;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'SetFilterliste', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Value: SimpleChange;\n\n Value = changes.Buchstabenliste;\n\n if(typeof Value !== 'undefined') {\n\n this.SetFilterliste();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {AuswahlDialogComponent} from './auswahl-dialog';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from \"@angular/forms\";\nimport {PageHeaderModule} from \"../page-header/page-header.module\";\nimport {PageFooterModule} from \"../page-footer/page-footer.module\";\nimport {SafePipeModule} from \"../../pipes/safe.pipe.module\";\n\n@NgModule({\n declarations: [\n\n AuswahlDialogComponent\n ],\n exports: [\n\n AuswahlDialogComponent\n ],\n imports: [\n\n IonicModule,\n CommonModule,\n FormsModule,\n PageHeaderModule,\n PageFooterModule,\n SafePipeModule,\n\n ],\n providers: [\n\n ]\n})\nexport class AuswahlDialogModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges, OnDestroy,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ToolsProvider} from '../../services/tools/tools';\nimport {ConstProvider} from '../../services/const/const';\nimport {IonSelect} from \"@ionic/angular\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport * as lodash from \"lodash-es\";\n\n@Component({\n selector: 'auswahl-dialog',\n templateUrl: 'auswahl-dialog.html',\n styleUrls: ['auswahl-dialog.scss']\n})\nexport class AuswahlDialogComponent implements OnInit, OnDestroy, OnChanges {\n\n @ViewChild('MySelection', { static: true }) MySelection: IonSelect;\n\n @Input() Titel: string = 'Testtitel';\n @Input() Auswahlliste: Auswahldialogstruktur[];\n @Input() Auswahlindex: number;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() PositionY: number;\n @Input() ZIndex: number;\n\n @Output() IndexChanged = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n @Output() CancelClickedEvent = new EventEmitter();\n\n\n constructor(public Tools: ToolsProvider,\n public Basics: BasicsProvider,\n private Debug: DebugProvider,\n public Displayservice: DisplayService,\n public Const: ConstProvider) {\n try {\n\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null }];\n this.Auswahlindex = 0;\n this.ZIndex = 4000;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.Auswahldialog);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'OnDestroy', this.Debug.Typen.Component);\n }\n\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Displayservice.AddDialog(this.Displayservice.Dialognamen.Auswahldialog, this.ZIndex);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n public Setup(titel: string, auswahlliste: Auswahldialogstruktur[], auswahlindex: number) {\n\n try {\n\n this.Titel = titel;\n this.Auswahlliste = auswahlliste;\n this.Auswahlindex = auswahlindex;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'Setup', this.Debug.Typen.Page);\n }\n }\n\n public Open(reset?: boolean, index?: number) {\n\n try {\n\n if(typeof reset !== 'undefined' && reset === true) {\n\n this.Auswahlindex = typeof index !== 'undefined' ? index : -1;\n }\n else {\n\n\n }\n\n this.MySelection.open();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'Open', this.Debug.Typen.Component);\n }\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n\n let Value: SimpleChange = changes.Auswahlindex;\n\n if(typeof Value !== 'undefined') {\n\n if(!Value.firstChange)\n {\n\n }\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n\n IndexChangedHandler(event: any) {\n\n try {\n\n let Index: number;\n\n if(event.detail.value === '') Index = -1;\n else {\n\n if(isNaN(event.detail.value)) Index = -1;\n else Index = event.detail.value;\n }\n\n this.Auswahlindex = Index;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'IndexChanged', this.Debug.Typen.Component);\n }\n }\n\n CancelButtonClicked() {\n\n this.CancelClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n if(!lodash.isUndefined(this.Auswahlliste[this.Auswahlindex])) {\n\n this.OkClickedEvent.emit(this.Auswahlliste[this.Auswahlindex].Data);\n }\n else {\n\n this.OkClickedEvent.emit(null);\n }\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Auswahl Dialog', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {ButtonValueDateComponent} from './button-value-date';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n ButtonValueDateComponent\n ],\n exports: [\n\n ButtonValueDateComponent\n ],\n imports: [\n\n IonicModule,\n CommonModule,\n ],\n providers: [\n\n ]\n})\nexport class ButtonValueDateModule {}\n"," import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ToolsProvider} from '../../services/tools/tools';\n import {ConstProvider} from '../../services/const/const';\n import {IonDatetime} from \"@ionic/angular\";\n import MyMoment from \"moment\";\n import {Moment} from \"moment\";\n\n@Component({\n selector: 'button-value-date',\n templateUrl: 'button-value-date.html',\n styleUrls: ['button-value-date.scss']\n})\n\nexport class ButtonValueDateComponent implements OnInit, OnChanges {\n\n @Input() public Buttontext: string;\n @Input() public Minimum: Moment;\n @Input() public Maximum: Moment;\n @Input() public Datum: Moment;\n @Input() public Buttoncolor: string;\n @Input() public InnerBackgroundcolor: string;\n @Input() public Enabled: boolean;\n @Input() public ElementID: string;\n @Input() public Buttonsize: string;\n @Input() public ShowKW: boolean;\n @Input() public ValueBreite: number;\n\n @Output() public TimeChanged = new EventEmitter();\n @Output() public DiabledButtonClicked = new EventEmitter();\n\n @ViewChild('DatePicker', { static: false }) DatePicker: IonDatetime;\n\n public Minimumstring: string;\n public Maximumstring: string;\n\n constructor(public Basics: BasicsProvider, public Debug: DebugProvider, public Tools: ToolsProvider, public Const: ConstProvider) {\n\n try {\n\n let Tag: number = 1;\n let Monat: number = 7;\n let Heute: Moment = MyMoment();\n let Jahr: number = Heute.year();\n let Stunde: number = 12;\n let Minute: number = 0;\n\n this.ValueBreite = 260;\n this.Minimum = MyMoment().set({year: 2000, month: 0, date: 1 }).locale('de');\n this.Maximum = MyMoment().set({year: Jahr, month: 11, date: 31}).locale('de');\n this.Minimumstring = '2000-01-01';\n this.Maximumstring = Jahr.toString() + '-12-31';\n this.Buttontext = 'Datum';\n this.Datum = MyMoment( Tag + '.' + Monat + '.' + Jahr + ' ' + Stunde + ':' + Minute, 'DD.MM.YYYY HH:mm').locale('de');\n this.Enabled = true;\n this.Buttoncolor = this.Basics.Farben.Burnicklbraun;\n this.ElementID = 'open-modal-date';\n this.Buttonsize = 'normal';\n this.ShowKW = false;\n\n this.InnerBackgroundcolor = this.Basics.Farben.Burnicklgrau;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'Constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Minimum: SimpleChange = changes.Minimum;\n let Maximum: SimpleChange = changes.Maximum;\n\n if (typeof Minimum !== 'undefined') {\n\n this.Minimum = Minimum.currentValue;\n this.Minimumstring = this.Minimum.format('YYYY-MM-DD');\n }\n\n if (typeof Maximum !== 'undefined') {\n\n this.Maximum = Maximum.currentValue;\n this.Maximumstring = this.Maximum.format('YYYY-MM-DD');\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n ButtonClickedHandler() {\n\n try {\n\n if(this.Enabled === true) {\n\n this.Tools.PlayClicksound().then(() => {\n\n // this.DatePicker.open();\n });\n }\n else {\n\n this.DiabledButtonClicked.emit();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'ButtonClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n */\n\n\n\n public FetigButtonClicked() {\n\n try {\n\n this.DatePicker.confirm(true);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'FetigButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n DateChangedHandler(value: any) {\n\n try {\n\n let Resultstring: string = value.detail.value;\n let Parts: string[] = Resultstring.split('T');\n let Datestring: string = Parts[0];\n let Werte: string[] = Datestring.split('-');\n\n let Tag: number = parseInt(Werte[2]);\n let Monat: number = parseInt(Werte[1]);\n let Jahr: number = parseInt(Werte[0]);\n let Stunde: number = this.Datum.hours();\n let Minute: number = this.Datum.minutes();\n\n this.Datum = MyMoment( Tag + '.' + Monat + '.' + Jahr + ' ' + Stunde + ':' + Minute, 'DD.MM.YYYY HH:mm').locale('de');\n\n this.TimeChanged.emit(this.Datum);\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value Date', 'DateChangedHandler', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {ButtonValueComponent} from './button-value';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n ButtonValueComponent\n ],\n exports: [\n\n ButtonValueComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ],\n providers: [\n\n ]\n})\nexport class ButtonValueModule {}\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChange, SimpleChanges} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ToolsProvider} from '../../services/tools/tools';\nimport {ConstProvider} from '../../services/const/const';\n\n\n@Component({\n selector: 'button-value',\n templateUrl: 'button-value.html',\n styleUrls: ['button-value.scss'],\n})\n\n\nexport class ButtonValueComponent implements OnInit, OnChanges {\n\n @Input() public Buttoncolor: string;\n @Input() public Buttontext: string;\n @Input() public Wert_A: string; // |Tastaturdatenstruktur;\n @Input() public Wert_B: string;\n @Input() public Iconfile: string;\n @Input() public Iconcolor: string;\n @Input() public Enabled: boolean;\n @Input() public SmallWidth: boolean;\n @Input() public BigHeight: boolean;\n @Input() public ShowMargin: boolean;\n @Input() public Width: number;\n @Input() public ProContent: boolean = false;\n @Input() public ProMessage: string = '';\n @Input() public Buttonvaluecolor: string = '';\n @Input() public Rechtebreite: number;\n @Input() public Linkebreite: number;\n\n @Output() public ButtonClicked = new EventEmitter();\n @Output() public DisabledButtonClicked = new EventEmitter();\n\n public RGB: string;\n public Wert_A_String: string;\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Const: ConstProvider) {\n\n try {\n\n this.Width = 0;\n this.ShowMargin = true;\n this.BigHeight = false;\n this.SmallWidth = false;\n this.Buttontext = '';\n this.Wert_A = '';\n this.Wert_B = '';\n this.Iconcolor = 'red';\n this.Iconfile = '';\n this.Buttoncolor = this.Basics.Farben.Burnicklbraun;\n this.Enabled = true;\n this.Buttonvaluecolor = this.Basics.Farben.Burnicklgrau;\n this.Linkebreite = 40;\n this.Rechtebreite = 60;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value', 'Constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Buttonvalue: SimpleChange = changes.Buttoncolor;\n let Wert_A_Value: SimpleChange = changes.Wert_A;\n // let Werte: Tastaturdatenstruktur;\n let Index: number;\n let Text: string;\n\n if(typeof Buttonvalue !== 'undefined') {\n\n if(!Buttonvalue.firstChange)\n {\n this.RGB = this.Tools.HexToRGB(Buttonvalue.currentValue);\n }\n }\n\n if(typeof Wert_A_Value !== 'undefined' && typeof Wert_A_Value.currentValue !== 'undefined') {\n\n if(typeof Wert_A_Value.currentValue === 'string') {\n\n // Stringausgabe\n\n this.Wert_A_String = Wert_A_Value.currentValue;\n\n } else {\n\n /*\n\n // Tastaturstruktur aks String ausgeben\n\n Werte = Wert_A_Value.currentValue;\n Index = Exponentenzahlen.indexOf(Werte.Exponent);\n\n if(Werte.Currency) {\n\n if(typeof Werte.Wert !== 'undefined') {\n\n Text = Werte.Wert.toFixed(2).replace('.', ',') + ' ' + Exponentensymbole[Index] + Werte.Einheit;\n\n } else {\n\n Text = Werte.Wertname + ' n.d.';\n }\n\n } else {\n\n if(typeof Werte.Wert !== 'undefined') {\n\n Text = Werte.Wert.toString().replace('.', ',') + ' ' + Exponentensymbole[Index] + Werte.Einheit;\n\n } else {\n\n Text = Werte.Wertname + ' n.d.';\n }\n }\n\n if(Werte.Hochzahl === 2) Text += '²';\n if(Werte.Hochzahl === 3) Text += '³';\n\n this.Wert_A_String = Text;\n\n\n */\n }\n }\n }\n\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n\n ButtonClickedHandler() {\n\n try {\n\n if(this.Enabled === true) {\n\n this.ButtonClicked.emit();\n\n }\n else {\n\n this.DisabledButtonClicked.emit();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Button Value', 'ButtonClickedHandler', this.Debug.Typen.Component);\n }\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, SimpleChange, SimpleChanges} from '@angular/core';\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\n\n@Component({\n selector: 'checkbox-clon',\n templateUrl: './checkbox-clon.component.html',\n styleUrls: ['./checkbox-clon.component.scss'],\n})\nexport class CheckboxClonComponent implements OnInit {\n\n @Input() Checked: boolean = false;\n @Input() Enabled: boolean = true;\n @Input() CanUnselect: boolean = true;\n @Input() Index: number = -1;\n @Input() Background: string = 'white';\n @Input() Value: string = null;\n\n @Output() CheckChanged: EventEmitter<{status: boolean; index: number; event: any; value: string}> = new EventEmitter<{status: boolean; index: number; event: any; value: string}>();\n\n public ImgSource: string;\n\n constructor(public Basics: BasicsProvider,\n private Tools: ToolsProvider,\n public Debug: DebugProvider) {\n\n try {\n\n this.ImgSource = this.Basics.Svgpath + 'hacken.svg';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Checkbox', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n PrepareData() {\n\n try {\n\n if(this.Enabled === false) {\n\n this.Background = '#B2BABB';\n }\n else {\n\n this.Background = 'white';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Checkbox', 'PrepareData', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Checkbox', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n DivClickedHnadler(event: MouseEvent) {\n\n try {\n\n event.stopPropagation();\n event.preventDefault();\n\n if(this.Enabled && this.CanUnselect === true || this.Enabled && this.CanUnselect === false && this.Checked === false) {\n\n this.CheckChanged.emit({status: !this.Checked, index: this.Index, event: event, value: this.Value});\n\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Checkbox', 'DivClickedHnadler', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Value: SimpleChange;\n\n Value = changes.Enabled;\n\n if(typeof Value !== 'undefined') {\n\n this.PrepareData();\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Alphabet', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {CheckboxClonComponent} from \"./checkbox-clon.component\";\n\n@NgModule({\n declarations: [\n\n CheckboxClonComponent\n ],\n exports: [\n\n CheckboxClonComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ],\n providers: [\n\n ]\n})\nexport class CheckboxClonModule {}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output, QueryList,\n ViewChildren\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {InputCloneComponent} from \"../input-clone/input-clone.component\";\n\n@Component({\n selector: 'input-clone-keeper',\n templateUrl: './input-clone-keeper.component.html',\n styleUrls: ['./input-clone-keeper.component.scss'],\n})\nexport class InputCloneKeeperComponent implements OnInit, AfterViewInit {\n\n @Input() Valid: boolean;\n @Output() ValidChange = new EventEmitter();\n\n @ViewChildren(InputCloneComponent) List: QueryList;\n\n private Inputliste: InputCloneComponent[];\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n private elRef: ElementRef,\n public Tools: ToolsProvider) {\n\n try {\n\n this.Valid = true;\n this.Inputliste = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone Keeper', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone Keeper', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n public CheckValid(): boolean {\n\n try {\n\n\n let Valid: boolean = true;\n\n for(let Inputelement of this.Inputliste) {\n\n\n if(!Inputelement.Valid) {\n\n Valid = false;\n\n break;\n }\n }\n\n return Valid;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone Keeper', 'CheckValid', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n this.Inputliste = this.elRef.nativeElement.getElementsByTagName('input-clone');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone Keeper', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {InputCloneKeeperComponent} from \"./input-clone-keeper.component\";\n\n@NgModule({\n declarations: [\n\n InputCloneKeeperComponent\n ],\n exports: [\n\n InputCloneKeeperComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class InputCloneKeeperModule {}\n","import {\n AfterViewInit,\n Component, ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport * as Joi from \"joi\";\nimport {NumberSchema, ObjectSchema, StringSchema} from \"joi\";\n\ntype Textstruktur = {\n\n Text: string;\n};\n\n@Component({\n selector: 'input-clone',\n templateUrl: './input-clone.component.html',\n styleUrls: ['./input-clone.component.scss'],\n})\nexport class InputCloneComponent implements OnInit, OnChanges, AfterViewInit {\n\n\n\n @Input() public Titel: string;\n @Input() public Titelcolor: string;\n @Input() public Value: string;\n @Input() Debouncetime: number;\n @Output() ValueChange = new EventEmitter();\n\n @Input() public MinLength: number;\n @Input() public MaxLength: number;\n @Input() public Enabled: boolean;\n @Input() public Clickable: boolean;\n @Input() public MinHeight: number;\n @Input() public Inputtype: string;\n @Input() public Required: boolean;\n @Input() public Lines: number;\n @Input() public DisabledColor: string;\n @Input() public OkBorderColor: string;\n @Input() public ParseToFloat: boolean;\n @Input() public Textcolor: string;\n @Input() public Textsize: number;\n @Input() public Einheit: string;\n\n @Output() TextChanged = new EventEmitter<{ Titel: string; Text: string; Valid: boolean }>();\n\n public RequiredBorder: string;\n public DisabledBorder: string;\n public Valid: boolean;\n private JoiShema: ObjectSchema;\n public OkBorder: string;\n\n\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Tools: ToolsProvider) {\n\n try {\n\n let Border: number = 1;\n\n\n this.OkBorderColor = this.Basics.Farben.Burnicklgrau;\n this.DisabledColor = this.Basics.Farben.Blau;\n this.OkBorder = Border + 'px solid ' + this.OkBorderColor;\n this.RequiredBorder = Border + 'px solid ' + this.Basics.Farben.Orange;\n this.DisabledBorder = Border + 'px solid ' + this.DisabledColor;\n this.Valid = true;\n this.MinLength = 0;\n this.MaxLength = 0;\n this.Enabled = true;\n this.Titel = '';\n this.Value = '';\n this.MinHeight = 30;\n this.Inputtype = 'text';\n this.Lines = 1;\n this.Debouncetime = 0;\n this.Clickable = false;\n this.Required = false;\n this.Titelcolor = 'black';\n this.ParseToFloat = false;\n this.Textsize = 14;\n this.Einheit = null;\n this.Textcolor = this.Basics.Ionicfarben.Schwarz;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'constructor', this.Debug.Typen.Component);\n }\n }\n\n ngAfterViewInit(): void {\n\n try {\n\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'AfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n let Border: number = 1;\n let schema: StringSchema | NumberSchema;\n\n if(this.Inputtype === 'text' || this.Inputtype === 'email') {\n\n schema = Joi.string();\n\n if(this.Inputtype === 'email') schema = schema.email({ tlds: { allow: false } });\n }\n else {\n\n schema = Joi.number();\n }\n\n if(this.MinLength > 0) schema = schema.min(this.MinLength);\n if(this.MaxLength > 0) schema = schema.max(this.MaxLength);\n if(this.Required === true) schema = schema.required();\n else schema = schema.allow('');\n\n this.JoiShema = Joi.object({\n\n Text: schema\n\n }).options({ stripUnknown: true });\n\n this.Valid = this.CheckValid(this.Value);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n CheckValid(text: string): boolean {\n\n try {\n\n let Result: any;\n let valid: boolean;\n\n if(this.JoiShema) {\n\n Result = this.JoiShema.validate({Text: text});\n\n if(Result.error) {\n\n valid = false;\n\n this.Debug.ShowErrorMessage(Result.error.message, 'Input Clone', 'CheckValid', this.Debug.Typen.Component);\n\n }\n else valid = true;\n }\n else {\n\n valid = false;\n }\n\n return valid;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'CheckValid', this.Debug.Typen.Component);\n }\n }\n\n TextChangedHandler(event: any) {\n\n try {\n\n let Text = this.Inputtype === 'text' || this.Inputtype === 'email' ? event.detail.value : this.ParseToFloat ? parseFloat(event.detail.value) : parseInt(event.detail.value);\n\n if(this.Enabled === true) {\n\n if(typeof Text === 'undefined') {\n\n Text = '';\n }\n\n this.Valid = this.CheckValid(Text);\n\n this.ValueChange.emit(Text); // Ãœbertragen für Banana in a Box\n\n this.TextChanged.emit({\n\n Titel: this.Titel,\n Text: Text,\n Valid: this.Valid\n });\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'TextChangedHandler', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n try {\n\n let Border: number = 1;\n let Value: SimpleChange = changes.Value;\n\n if(typeof Value !== 'undefined') {\n\n this.Valid = this.CheckValid(Value.currentValue);\n\n this.TextChanged.emit({\n\n Titel: this.Titel,\n Text: Value.currentValue,\n Valid: this.Valid\n });\n }\n\n this.DisabledBorder = Border + 'px solid ' + this.DisabledColor;\n this.OkBorder = Border + 'px solid ' + this.OkBorderColor;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Input Clone', 'ngOnChanges', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {InputCloneComponent} from \"./input-clone.component\";\n\n@NgModule({\n declarations: [\n\n InputCloneComponent\n ],\n exports: [\n\n InputCloneComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule\n ],\n providers: [\n\n ]\n})\nexport class InputCloneModule {}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {PageFooterComponent} from './page-footer';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n PageFooterComponent\n ],\n exports: [\n\n PageFooterComponent\n ],\n imports: [\n\n IonicModule,\n CommonModule\n ],\n providers: [\n\n ]\n})\n\nexport class PageFooterModule {}\n","import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';\nimport {ConstProvider} from '../../services/const/const';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {BasicsProvider} from '../../services/basics/basics';\n\n@Component({\n\n selector: 'page-footer',\n templateUrl: 'page-footer.html',\n styleUrls: ['page-footer.scss']\n})\nexport class PageFooterComponent implements OnInit {\n\n @ViewChild('PageFooterFrameDiv', { read: ElementRef, static: true }) public PageFooterFrameDiv: ElementRef;\n\n public MaxFooterhoehe: number;\n\n constructor(public Const: ConstProvider,\n private Debug: DebugProvider,\n public Basics: BasicsProvider) {\n }\n\n ngOnInit() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Footer', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n\n public InitMaximalhoehe(): number {\n\n try {\n\n this.MaxFooterhoehe = this.PageFooterFrameDiv.nativeElement.clientHeight;\n\n return this.MaxFooterhoehe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Footer', 'InitMaximalhoehe', this.Debug.Typen.Component);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {PageHeaderCenterComponent} from './page-header-center';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n PageHeaderCenterComponent,\n ],\n exports: [\n\n PageHeaderCenterComponent,\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ],\n providers: [\n\n ]\n})\nexport class PageHeaderCenterModule {}\n","import { Component, Input, Output, OnInit, EventEmitter, ViewChild, ElementRef} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ConstProvider} from '../../services/const/const';\nimport {MenuController} from \"@ionic/angular\";\n\n@Component({\n selector: 'page-header-center',\n templateUrl: 'page-header-center.html',\n styleUrls: ['page-header-center.scss']\n})\nexport class PageHeaderCenterComponent implements OnInit {\n\n @ViewChild('PageHeaderDiv', { read: ElementRef, static: true }) public PageHeaderDiv: ElementRef;\n\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Const: ConstProvider,\n public menuCtrl: MenuController) {\n try {\n\n }\n catch (error) {\n\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header', 'Construktor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {IonSearchbar} from \"@ionic/angular\";\nimport {Subscription} from \"rxjs\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport * as lodash from 'lodash-es';\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseAuthenticationService} from \"../../services/database-authentication/database-authentication.service\";\nimport {HttpErrorResponse} from \"@angular/common/http\";\nimport moment, {Moment} from \"moment\";\nimport {DatabaseMitarbeitersettingsService} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {Graphservice} from \"../../services/graph/graph\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {environment} from \"../../../environments/environment\";\n\n@Component({\n selector: 'page-header-menu',\n templateUrl: './page-header-menu.component.html',\n styleUrls: ['./page-header-menu.component.scss'],\n})\nexport class PageHeaderMenuComponent implements OnInit, OnDestroy, AfterViewInit {\n\n @ViewChild('Suchleiste', { static: false }) Suchleiste: IonSearchbar;\n @ViewChild('Suchleiste2', { static: false }) Suchleiste2: IonSearchbar;\n @ViewChildren('ion-searchbar') Sucheiste3: QueryList;\n\n @Input() ShowSandortfilter: boolean;\n @Input() ShowSuchleiste: boolean;\n @Input() Filterorigin: string;\n @Input() ShowStandorttitle: boolean;\n @Input() ShowMitarbeitertitle: boolean;\n @Input() ShowProjektetitle: boolean;\n @Input() ShowFavoritentitle: boolean;\n @Input() SendFestlegungenEnabled: boolean;\n @Input() Timelineindex: number;\n\n @Output() SucheChanged = new EventEmitter();\n @Output() StandortfilterClicked = new EventEmitter();\n @Output() ZeitspanneFilterClicked = new EventEmitter();\n @Output() LeistungsphaseFilterClicked = new EventEmitter();\n @Output() FilterChanged = new EventEmitter();\n @Output() ShowProjektauswahlEvent = new EventEmitter();\n @Output() ShowProjektfilesEvent = new EventEmitter();\n @Output() LOPListeZeitspanneEvent = new EventEmitter();\n @Output() ShowOpenFestlegungOnlyEvent = new EventEmitter();\n @Output() SendFestlegungenClicked = new EventEmitter();\n @Output() ShowUngelesenOnlyChanged = new EventEmitter();\n @Output() ProjektsortierungChanged = new EventEmitter();\n @Output() EmailDatumChanged = new EventEmitter();\n @Output() PlanungsmatrixLeistungsphaseClicked = new EventEmitter();\n @Output() ShowLOPListeInfoeintraegeChanged = new EventEmitter();\n @Output() ExpandFestlegungeEvent = new EventEmitter();\n @Output() UrlaubMitarbeiterClicked = new EventEmitter();\n @Output() UrlaubMitarbeiterMeClicked = new EventEmitter();\n @Output() JahrButtonClicked = new EventEmitter();\n\n private SuchleisteInputSubscription: Subscription;\n private Suchleiste2InputSubscription: Subscription;\n private SuchleisteClearSubscription: Subscription;\n private Suchleiste2ClearSubscription: Subscription;\n private FavoritenSubscription: Subscription;\n public Inputtimer: any;\n public Projektauswahlbreite: number;\n public Wochentaghoehe: number;\n public Tagbreite: number;\n public HomeMouseOver: boolean;\n public EmailMouseOver: boolean;\n public FilesMouseOver: boolean;\n public ShowOpenFestlegungOnly: boolean;\n public BackMouseOver: boolean;\n public Timelinebreite: number;\n public LogoutMouseOver: boolean;\n public JahrMouseOver: boolean;\n\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Const: ConstProvider,\n public DBMitarbeiter: DatabaseMitarbeiterService,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public Auswahlservice: AuswahlDialogService,\n public DBStandort: DatabaseStandorteService,\n public DBUrlaub: DatabaseUrlaubService,\n public GraphService: Graphservice,\n public AuthService: DatabaseAuthenticationService,\n public Pool: DatabasePoolService,\n public Menuservice: MenueService) {\n try {\n\n this.ShowSuchleiste = false;\n this.SuchleisteClearSubscription = null;\n this.Suchleiste2ClearSubscription = null;\n this.SuchleisteInputSubscription = null;\n this.Suchleiste2InputSubscription = null;\n this.FavoritenSubscription = null;\n this.Inputtimer = null;\n this.ShowSandortfilter = false;\n this.Projektauswahlbreite = 200;\n this.Filterorigin = this.Const.NONE;\n this.Wochentaghoehe = 30;\n this.Tagbreite = 0;\n this.Timelinebreite = 40;\n this.HomeMouseOver = false;\n this.EmailMouseOver = false;\n this.ShowStandorttitle = false;\n this.ShowMitarbeitertitle = false;\n this.ShowProjektetitle = false;\n this.ShowFavoritentitle = false;\n this.FilesMouseOver = false;\n this.ShowOpenFestlegungOnly = false;\n this.SendFestlegungenEnabled = false;\n this.BackMouseOver = false;\n this.LogoutMouseOver = false;\n this.JahrMouseOver = false;\n this.Timelineindex = 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'consturctor', this.Debug.Typen.Component);\n }\n }\n\n LogoutButtonClicked() {\n\n try {\n\n this.Pool.ProjektdatenLoaded = false;\n\n this.AuthService.Logout();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'LogoutButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'OnDestroy', this.Debug.Typen.Component);\n }\n }\n\n BackButtonClicked() {\n\n try {\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Projekte;\n\n this.Menuservice.SetCurrentPage();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'BackButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n this.Projektauswahlbreite = this.Basics.Contentbreite - 630;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n\n async ngAfterViewInit() {\n\n try {\n\n this.Tagbreite = (this.Basics.Contentbreite - 4 - this.Timelinebreite) / 5;\n\n /*\n\n let Text: string;\n\n\n let test = this.Sucheiste3;\n\n\n\n if(this.Suchleiste) { // Muss hier stehen / funktioniert in OnInit() nicht\n\n this.SuchleisteInputSubscription = this.Suchleiste.ionInput.subscribe((data: any) => {\n\n debugger;\n\n Text = data.target.value;\n\n if(this.Inputtimer !== null) {\n\n window.clearTimeout(this.Inputtimer);\n\n this.Inputtimer = null;\n }\n\n if(Text.length >= 3 || Text.length === 0) {\n\n this.Inputtimer = window.setTimeout(() => {\n\n this.SucheChanged.emit(Text);\n\n }, 600);\n }\n\n });\n\n this.SuchleisteClearSubscription = this.Suchleiste.ionClear.subscribe(() => {\n\n this.SucheChanged.emit('');\n });\n\n\n }\n else this.Suchleiste = null;\n\n if(this.Suchleiste2) { // Muss hier stehen / funktioniert in OnInit() nicht\n\n this.Suchleiste2InputSubscription = this.Suchleiste2.ionInput.subscribe((data: any) => {\n\n debugger;\n\n Text = data.target.value;\n\n if(this.Inputtimer !== null) {\n\n window.clearTimeout(this.Inputtimer);\n\n this.Inputtimer = null;\n }\n\n if(Text.length >= 3 || Text.length === 0) {\n\n this.Inputtimer = window.setTimeout(() => {\n\n this.SucheChanged.emit(Text);\n\n }, 600);\n }\n\n });\n\n this.Suchleiste2ClearSubscription = this.Suchleiste2.ionClear.subscribe(() => {\n\n this.SucheChanged.emit('');\n });\n\n\n }\n else this.Suchleiste2 = null;\n\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'ngAfterViewInit', this.Debug.Typen.Component);\n }\n }\n\n MainMenueButtonClicked(mainmenubereich: string) {\n\n try {\n\n this.Menuservice.MainMenuebereich = mainmenubereich;\n\n this.Menuservice.SetCurrentPage();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'MainMenueButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n FirmaMenueButtonClicked(firmamenubereich: string) {\n\n try {\n\n this.Menuservice.FirmaMenuebereich = firmamenubereich;\n\n this.Menuservice.SetCurrentPage();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'FirmaMenueButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ProjekteMenueButtonClicked(projektmenubereich: string) {\n\n try {\n\n this.Menuservice.ProjekteMenuebereich = projektmenubereich;\n\n switch (this.Menuservice.ProjekteMenuebereich) {\n\n case this.Menuservice.ProjekteMenuebereiche.Aufgabenliste:\n\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Projekt;\n\n break;\n\n default:\n\n break;\n }\n\n this.Menuservice.SetCurrentPage();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'ProjekteMenueButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n UrlaubMenueButtonClicked(urlaubmenubereich: string) {\n\n try {\n\n this.Menuservice.UrlaubMenuebereich = urlaubmenubereich;\n\n switch (this.Menuservice.UrlaubMenuebereich) {\n\n case this.Menuservice.ProjekteMenuebereiche.Aufgabenliste:\n\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Projekt;\n\n break;\n\n default:\n\n break;\n }\n\n this.Menuservice.SetCurrentPage();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'ProjekteMenueButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n GetProjekteMenueIconcolor(projektemenubereich: string) {\n\n try {\n\n return projektemenubereich === this.Menuservice.ProjekteMenuebereich ? 'schwarz' : 'weiss';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetProjekteMenueIconcolor', this.Debug.Typen.Component);\n }\n }\n\n GetProjekteMenueFontcolor(projektemenubereich: string) {\n\n try {\n\n return projektemenubereich === this.Menuservice.ProjekteMenuebereich ? '#000000' : 'white';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetProjekteMenueIconcolor', this.Debug.Typen.Component);\n }\n }\n\n GetUrlaubMenueIconcolor(urlaubmenubereich: string) {\n\n try {\n\n return urlaubmenubereich === this.Menuservice.UrlaubMenuebereich ? 'schwarz' : 'weiss';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetUrlaubMenueIconcolor', this.Debug.Typen.Component);\n }\n }\n\n GetUrlaubMenueFontcolor(urlaubmenubereich: string) {\n\n try {\n\n return urlaubmenubereich === this.Menuservice.UrlaubMenuebereich ? '#000000' : 'white';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetUrlaubMenueFontcolor', this.Debug.Typen.Component);\n }\n }\n\n StandortButtonClicked() {\n\n try {\n\n this.StandortfilterClicked.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'StandortButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ZeitspaneClickedHandler(origin: string) {\n\n try {\n\n this.ZeitspanneFilterClicked.emit(origin);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'ZeitspaneClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n LeistungsphaseClickedHandler() {\n\n try {\n\n this.LeistungsphaseFilterClicked.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'LeistungsphaseClickedHandler', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n public GetAufgabenansicht(): Aufgabenansichtstruktur {\n\n try {\n\n let Aufgabenansicht: Aufgabenansichtstruktur = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt !== null ? this.DBProjekte.CurrentProjekt._id : null);\n\n return null; Aufgabenansicht;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetAufgabenansicht', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n\n StatusFilterChanged(event: any, Statusname: string) {\n\n try {\n\n let status = event.status;\n\n let Aufgabenansicht: Aufgabenansichtstruktur = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt !== null ? this.DBProjekte.CurrentProjekt._id : null);\n\n switch (Statusname) {\n\n case 'Bilder':\n\n Aufgabenansicht.AufgabenShowBilder = status;\n\n break;\n\n case this.Const.Projektpunktstatustypen.Offen.Name:\n\n Aufgabenansicht.AufgabenShowOffen = status;\n\n break;\n\n case this.Const.Projektpunktstatustypen.Geschlossen.Name:\n\n Aufgabenansicht.AufgabenShowGeschlossen= status;\n\n break;\n\n case this.Const.Projektpunktstatustypen.Bearbeitung.Name:\n\n Aufgabenansicht.AufgabenShowBearbeitung = status;\n\n break;\n\n case this.Const.Projektpunktstatustypen.Ruecklauf.Name:\n\n Aufgabenansicht.AufgabenShowRuecklauf = status;\n\n break;\n\n case 'Meilenstein':\n\n Aufgabenansicht.AufgabenShowMeilensteinOnly = status;\n\n break;\n }\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, Aufgabenansicht).then(() => {\n\n this.FilterChanged.emit(Statusname);\n\n }).catch((error: HttpErrorResponse) => {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'StatusFilterChanged', this.Debug.Typen.Component);\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'StatusFilterChanged', this.Debug.Typen.Component);\n }\n }\n\n */\n\n StatusFilterShowFaelligOnlyChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n // this.DBProjekte.CurrentProjekt.Aufgabenlistefilter.FilterShowFaelligOnly = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'StatusFilterShowFaelligOnlyChanged', this.Debug.Typen.Component);\n }\n }\n\n GetZeitfilterButtontext(): string {\n\n try {\n\n\n switch (this.Filterorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Aufgabenliste_Zeitfilter:\n\n switch (this.Pool.Mitarbeitersettings.AufgabenTerminfiltervariante) {\n\n case this.Const.Faelligkeitsterminfiltervarianten.Seit_dem_Zeitpunkt:\n\n return 'Seit dem Zeitpunkt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Bis_zum_Zeitpunkt:\n\n return 'Bis zum Zeitpunkt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Zeitspanne:\n\n return 'Zeitspanne';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Nur_diesen_Monat:\n\n return 'Monat';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Nur_diese_Woche:\n\n return 'Woche';\n\n break;\n\n default:\n\n return 'Zeitfilter';\n\n break;\n }\n\n break;\n\n default:\n\n return 'Zeitfilter';\n\n break;\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetZeitfilterButtontext', this.Debug.Typen.Component);\n }\n }\n\n GetZeitfilterButtonwert(): string {\n\n try {\n\n let Starttag: Moment;\n let Endetag: Moment;\n let Text: string = '';\n\n if(this.Pool.Mitarbeitersettings !== null) {\n\n switch (this.Filterorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Aufgabenliste_Zeitfilter:\n\n switch (this.Pool.Mitarbeitersettings.AufgabenTerminfiltervariante) {\n\n case this.Const.Faelligkeitsterminfiltervarianten.Seit_dem_Zeitpunkt:\n\n if(this.Pool.Mitarbeitersettings.AufgabenTerminfilterStartwert !== null) {\n\n Starttag = moment(this.Pool.Mitarbeitersettings.AufgabenTerminfilterStartwert);\n\n return Starttag.format('DD.MM.YYYY');\n }\n else return 'Unbekannt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Bis_zum_Zeitpunkt:\n\n if(this.Pool.Mitarbeitersettings.AufgabenTerminfilterEndewert !== null) {\n\n Endetag = moment(this.Pool.Mitarbeitersettings.AufgabenTerminfilterEndewert);\n\n return Endetag.format('DD.MM.YYYY');\n }\n else return 'Unbekannt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Zeitspanne:\n\n if(this.Pool.Mitarbeitersettings.AufgabenTerminfilterStartwert !== null) {\n\n Starttag = moment(this.Pool.Mitarbeitersettings.AufgabenTerminfilterStartwert);\n\n Text += Starttag.format('DD.MM.YYYY');\n }\n else Text += 'Unbekannt';\n\n Text += ' - ';\n\n if(this.Pool.Mitarbeitersettings.AufgabenTerminfilterEndewert !== null) {\n\n Endetag = moment(this.Pool.Mitarbeitersettings.AufgabenTerminfilterEndewert);\n\n Text += Endetag.format('DD.MM.YYYY');\n }\n else Text += 'Unbekannt';\n\n return Text;\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Nur_diesen_Monat:\n\n return 'Unbekannt';\n\n break;\n\n case this.Const.Faelligkeitsterminfiltervarianten.Nur_diese_Woche:\n\n return 'Unbekannt';\n\n break;\n\n default:\n\n return 'kein Filter';\n\n break;\n }\n\n break;\n\n default:\n\n return 'Zeitfilter';\n\n break;\n\n }\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header Menu', 'GetZeitfilterButtonwert', this.Debug.Typen.Component);\n }\n }\n\n\n MeintagClicked() {\n\n try {\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Mein_Tag;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'MeintagClicked', this.Debug.Typen.Component);\n }\n }\n\n\n MeineWocheClicked() {\n\n try {\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Meine_Woche;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'MeineWocheClicked', this.Debug.Typen.Component);\n }\n }\n\n MeilensteineClicked() {\n\n try {\n\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Meilensteine;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'MeilensteineClicked', this.Debug.Typen.Component);\n }\n }\n\n ProjektClicked() {\n\n try {\n\n if(this.Menuservice.Aufgabenlisteansicht !== this.Menuservice.Aufgabenlisteansichten.Projekt) {\n\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Projekt;\n }\n else {\n\n this.ShowProjektauswahlEvent.emit();\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ProjektClicked', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n ProjektGoBackClicked() {\n\n try {\n\n let Aufgabenansichten: Aufgabenansichtstruktur;\n\n if(this.DBProjekte.CurrentProjektindex > 0) {\n\n this.DBProjekte.CurrentProjektindex--;\n\n this.DBProjekte.CurrentProjekt = this.DBProjekte.Projektliste[this.DBProjekte.CurrentProjektindex];\n this.Pool.Mitarbeitersettings.Favoritprojektindex = this.DBProjekte.CurrentProjektindex;\n this.Pool.Mitarbeitersettings.ProjektID = this.DBProjekte.CurrentProjekt._id;\n\n Aufgabenansichten = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt._id);\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, Aufgabenansichten);\n\n this.DBProjekte.CurrentFavoritenProjektChanged.emit();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ProjektGoBackClicked', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n\n ProjektGoForwardClicked() {\n\n try {\n\n let Aufgabenansichten: Aufgabenansichtstruktur;\n\n if(this.DBProjekte.CurrentProjektindex < this.DBProjekte.Projektliste.length - 1) {\n\n this.DBProjekte.CurrentProjektindex++;\n this.DBProjekte.CurrentProjekt = this.DBProjekte.Projektliste[this.DBProjekte.CurrentProjektindex];\n\n this.Pool.Mitarbeitersettings.Favoritprojektindex = this.DBProjekte.CurrentProjektindex;\n this.Pool.Mitarbeitersettings.ProjektID = this.DBProjekte.CurrentProjekt._id;\n\n\n Aufgabenansichten = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt._id);\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, Aufgabenansichten);\n\n this.DBProjekte.CurrentFavoritenProjektChanged.emit();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ProjektGoForwardClicked', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n\n GetProjektBackButtoncolor(): string {\n\n try {\n\n if(this.Menuservice.Aufgabenlisteansicht === this.Menuservice.Aufgabenlisteansichten.Projekt && this.DBProjekte.CurrentProjektindex > 0) {\n\n return 'grau';\n }\n else {\n\n return 'silber';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetProjektBackButtoncolor', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n GetProjektForwardButtoncolor(): string {\n\n try {\n\n if(this.Menuservice.Aufgabenlisteansicht === this.Menuservice.Aufgabenlisteansichten.Projekt && this.DBProjekte.CurrentProjektindex < this.DBProjekte.Projektliste.length - 1) {\n\n return 'grau';\n }\n else {\n\n return 'silver';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetProjektForwardButtoncolor', this.Debug.Typen.Component);\n }\n }\n\n\n */\n ProjektfilesClicked() {\n\n try {\n\n this.GraphService.FilebrowserModus = this.GraphService.FilebrowserModusvarianten.Current_Projekt;\n\n this.ShowProjektfilesEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ProjektfilesClicked', this.Debug.Typen.Component);\n }\n }\n\n /*\n\n GetKostengruppenname(id: string): string {\n\n try {\n\n let Kategorie: Festlegungskategoriestruktur;\n\n if(this.DBProjekte.CurrentProjekt !== null && this.Pool.Mitarbeitersettings !== null) {\n\n Kategorie = lodash.find(this.Pool.Festlegungskategorienliste[this.DBProjekte.CurrentProjekt.Projektkey], (Eintrag: Festlegungskategoriestruktur) => {\n\n return Eintrag.Unterkostengruppe === this.Pool.Mitarbeitersettings.UnterkostengruppeFilter &&\n Eintrag.Hauptkostengruppe === this.Pool.Mitarbeitersettings.HauptkostengruppeFilter &&\n Eintrag.Oberkostengruppe === this.Pool.Mitarbeitersettings.OberkostengruppeFilter;\n });\n\n if(!lodash.isUndefined(Kategorie)) {\n\n return Kategorie.Kostengruppennummer + ' ' + Kategorie.Beschreibung;\n }\n else {\n\n return 'Alle';\n\n }\n }\n else {\n\n return 'Alle';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetKostengruppenname', this.Debug.Typen.Component);\n }\n }\n\n */\n\n ShowOpenFestlegungOnlyChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.ShowOpenFestlegungOnly = event.status;\n\n this.ShowOpenFestlegungOnlyEvent.emit(event.status);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowOpenFestlegungOnlyChanged', this.Debug.Typen.Component);\n }\n }\n\n\n GetDatumtext(tag: string): string {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Montag: Moment = Heute.clone().startOf('isoWeek');\n\n switch (tag) {\n\n case 'Montag':\n\n return Montag.format('DD.MM.');\n\n break;\n\n case 'Dienstag':\n\n return Montag.clone().add(1,'day').format('DD.MM.');\n\n break;\n\n case 'Mittwoch':\n\n return Montag.clone().add(2,'day').format('DD.MM.');\n\n break;\n\n case 'Donnerstag':\n\n return Montag.clone().add(3,'day').format('DD.MM.');\n\n break;\n\n case 'Freitag':\n\n return Montag.clone().add(4,'day').format('DD.MM.');\n\n break;\n\n }\n\n return '';\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'GetDatumtext', this.Debug.Typen.Component);\n }\n }\n\n /*\n ShowBeschereibungenChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.DBProjekte.CurrentProjekt.DisplayBeschreibungen = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowBeschereibungenChanged', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n DisplayKG410Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG410 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG410Changed', this.Debug.Typen.Page);\n }\n }\n\n */\n\n /*\n\n DisplayKG420Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG420 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG420Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG430Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG430 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG430Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG434Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG434 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG434Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG440Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG440 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG440Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG450Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG450 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG450Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG460Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG460 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG460Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG475Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG475 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG475Changed', this.Debug.Typen.Page);\n }\n }\n\n DisplayKG480Changed(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n if(this.DBProjekte.CurrentProjekt !== null) {\n\n this.DBProjekte.CurrentProjekt.DisplayKG480 = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt).then(() => {\n\n this.DBPlanungsmatrix.DisplayKostengruppenChanged.emit();\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'DisplayKG480Changed', this.Debug.Typen.Page);\n }\n }\n\n */\n\n /*\n ShowUngenutzteChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.DBProjekte.CurrentProjekt.DisplayUngenutzte = event.status;\n\n this.DBProjekte.UpdateProjekt(this.DBProjekte.CurrentProjekt);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowUngenutzteChanged', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n AlleProjekteClicked() {\n\n try {\n\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Alle;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'AlleProjekteClicked', this.Debug.Typen.Component);\n }\n }\n\n */\n\n /*\n ShowLOPListeInfoeintraegeChangedHandler(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.DBLOPliste.ShowLOPListeInfoeintraege = event.status;\n\n this.ShowLOPListeInfoeintraegeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowLOPListeInfoeintraegeChanged', this.Debug.Typen.Component);\n }\n }\n\n ShowLOPListeGewerkChangedHandler(event: {status: boolean; index: number; event: any}, Gewerk: Fachbereichestruktur) {\n\n try {\n\n Gewerk.Visible = event.status;\n\n this.Pool.CurrentLOPGewerkelisteChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Page Header Menu', 'ShowLOPListeGewerkChangedHandler', this.Debug.Typen.Component);\n }\n }\n\n */\n\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {PageHeaderMenuComponent} from \"../page-header-menu/page-header-menu.component\";\nimport {ButtonValueModule} from \"../button-value/button-value.module\";\nimport {CheckboxClonModule} from \"../checkbox-clon/checkbox-clon.module\";\nimport {ButtonValueDateModule} from \"../button-value-date/button-value-date.module\";\n\n@NgModule({\n declarations: [\n\n PageHeaderMenuComponent\n ],\n exports: [\n\n PageHeaderMenuComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ButtonValueModule,\n CheckboxClonModule,\n ButtonValueDateModule,\n ],\n providers: [\n\n ]\n})\nexport class PageHeaderMenuModule {}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {PageHeaderComponent} from './page-header';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n\n PageHeaderComponent,\n ],\n exports: [\n\n PageHeaderComponent,\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ],\n providers: [\n\n ]\n})\nexport class PageHeaderModule {}\n","import { Component, Input, Output, OnInit, EventEmitter, ViewChild, ElementRef} from '@angular/core';\nimport {BasicsProvider} from '../../services/basics/basics';\nimport {DebugProvider} from '../../services/debug/debug';\nimport {ConstProvider} from '../../services/const/const';\nimport {MenuController} from \"@ionic/angular\";\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\n\n@Component({\n selector: 'page-header',\n templateUrl: 'page-header.html',\n styleUrls: ['page-header.scss']\n})\nexport class PageHeaderComponent implements OnInit {\n\n @ViewChild('PageHeaderDiv', { read: ElementRef, static: true }) public PageHeaderDiv: ElementRef;\n\n @Input() ProgressMessage: string;\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public Const: ConstProvider) {\n\n try {\n\n this.ProgressMessage = 'Stammdaten werden geladen werden geladen';\n }\n catch (error) {\n\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header', 'Construktor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Header', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\n\n@Component({\n selector: 'page-modal-keeper',\n templateUrl: './page-modal-keeper.component.html',\n styleUrls: ['./page-modal-keeper.component.scss'],\n})\nexport class PageModalKeeperComponent implements OnInit {\n\n @Output() CancelClickedEvent = new EventEmitter();\n @Output() StandortfilterClickedEvent = new EventEmitter();\n @Output() OkClickedEvent = new EventEmitter();\n\n @Input() Titel: string;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() Dialoghoehe: number;\n @Input() OkButtonEneabled: boolean;\n @Input() ShowSandortfilter: boolean;\n @Input() PositionY: number;\n\n /*\n @Input() DialogVisible: boolean;\n @Output() DialogVisibleChange = new EventEmitter();\n\n */\n\n\n constructor(private Debug: DebugProvider,\n public Const: ConstProvider,\n public Basics: BasicsProvider,\n public DBStandort: DatabaseStandorteService) {\n try {\n\n this.Titel = this.Const.NONE;\n this.Iconname = 'help-circle-outline';\n // this.DialogVisible = false;\n this.Dialogbreite = 400;\n this.Dialoghoehe = 300;\n this.OkButtonEneabled = true;\n this.ShowSandortfilter = true;\n this.PositionY = 100;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'consturctor', this.Debug.Typen.Component);\n }\n }\n\n ngOnInit() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'OnInit', this.Debug.Typen.Component);\n }\n }\n\n\n CancelButtonClicked() {\n\n this.CancelClickedEvent.emit();\n // this.DialogVisibleChange.emit(false);\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'CancelButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n OkButtonClicked() {\n\n\n this.OkClickedEvent.emit();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'OkButtonClicked', this.Debug.Typen.Component);\n }\n }\n\n ContentClicked(event: MouseEvent) {\n\n event.preventDefault();\n event.stopPropagation();\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'ContentClicked', this.Debug.Typen.Component);\n }\n }\n\n StandortfilterButtonClicked() {\n\n try {\n\n this.StandortfilterClickedEvent.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Page Modal Keeper', 'StandortfilterButtonClicked', this.Debug.Typen.Component);\n }\n\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {PageModalKeeperComponent} from \"./page-modal-keeper.component\";\nimport {PageHeaderModule} from \"../page-header/page-header.module\";\n\n@NgModule({\n declarations: [\n\n PageModalKeeperComponent\n ],\n exports: [\n\n PageModalKeeperComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n PageHeaderModule,\n ],\n providers: [\n\n ]\n})\nexport class PageModalKeepermodule {}\n","import {NgModule} from '@angular/core';\nimport {IonicModule} from '@ionic/angular';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {\n UrlaubsplanungKalenderComponent,\n} from \"./urlausplanung-kalender\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {PageHeaderCenterModule} from \"../../components/page-header-center/page-header-center.module\";\n\n@NgModule({\n declarations: [\n\n UrlaubsplanungKalenderComponent\n ],\n exports: [\n\n UrlaubsplanungKalenderComponent\n ],\n imports: [\n\n CommonModule,\n IonicModule,\n ReactiveFormsModule,\n FormsModule,\n PageFooterModule,\n PageHeaderCenterModule,\n ],\n providers: [\n\n ]\n})\nexport class UrlausplanungKalenderModule {}\n","import {\n Component,\n Input,\n Output,\n OnInit,\n EventEmitter,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n SimpleChange\n} from '@angular/core';\nimport {Moment} from \"moment\";\nimport moment from \"moment\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {DisplayService} from \"../../services/diplay/display.service\";\nimport 'moment-duration-format';\nimport * as lodash from \"lodash-es\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {Kalendertagestruktur} from \"../../dataclasses/kalendertagestruktur\";\nimport {Subscription} from \"rxjs\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {boolean} from \"joi\";\n\n@Component({\n selector: 'urlaubsplanung-kalender',\n templateUrl: 'urlausplanung-kalender.html',\n styleUrls: ['urlausplanung-kalender.scss']\n})\nexport class UrlaubsplanungKalenderComponent implements OnInit, OnDestroy, OnChanges {\n\n @Input() public ShowProtokollpunkte: boolean;\n @Input() Iconname: string;\n @Input() Dialogbreite: number;\n @Input() Dialoghoehe: number;\n @Input() PositionY: number;\n @Input() ZIndex: number;\n @Input() Monatindex: number;\n @Input() Jahr: number;\n @Input() AddUrlaubRunning: boolean;\n @Input() AddHomeofficerunning: boolean;\n @Input() AddHalberUrlaubstagRunning: boolean;\n @Input() ShowYear: boolean;\n\n @Output() FeiertagCrossedEvent = new EventEmitter<{Name: string; Laendercode: string}>();\n @Output() FerientagCrossedEvent = new EventEmitter<{Name: string; Laendercode: string}>();\n @Output() AddUrlaubFinishedEvent = new EventEmitter();\n @Output() AddHomeofficeFinishedEvent = new EventEmitter();\n @Output() ExternUrlaubstagClickedEvent = new EventEmitter();\n\n public Kalendertageliste: Kalendertagestruktur[][];\n public KalendertageExternliste: Kalendertagestruktur[][][];\n private DataSubscription: Subscription;\n private MonateSubscription: Subscription;\n public Monatname: string;\n private ExterneUrlaubSubscription: Subscription;\n private UrlaubStatusSubscription: Subscription;\n private HomeofficeStatusSubscription: Subscription;\n private ExterneHomeofficeSubscription: Subscription;\n private CurrentTagindex: number;\n private CurrentWochenindex: number;\n private CancelUrlaubSubscription: Subscription;\n private UpdateKalenderSubscription: Subscription;\n\n constructor(private Debug: DebugProvider,\n public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public Displayservice: DisplayService,\n public DB: DatabaseUrlaubService,\n private Tools: ToolsProvider,\n public Const: ConstProvider) {\n try {\n\n this.Dialogbreite = 300;\n this.Dialoghoehe = 400;\n this.Jahr = 2023;\n this.ShowProtokollpunkte = true;\n this.Kalendertageliste = [];\n this.KalendertageExternliste = [];\n this.Monatname = 'none';\n this.AddUrlaubRunning = false;\n this.AddHomeofficerunning = false;\n this.Monatindex = 0;\n this.ShowYear = false;\n this.CurrentWochenindex = null;\n this.CurrentTagindex = null;\n this.Monatname = this.DB.Monateliste[this.Monatindex];\n\n this.DataSubscription = null;\n this.MonateSubscription = null;\n this.ExterneUrlaubSubscription = null;\n this.UrlaubStatusSubscription = null;\n this.HomeofficeStatusSubscription = null;\n this.ExterneHomeofficeSubscription = null;\n this.CancelUrlaubSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Kalender', 'Construktor', this.Debug.Typen.Component);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n try {\n\n let Monatindexvalue: SimpleChange = changes.Monatindex;\n let AddHomeofficerunningvalue: SimpleChange = changes.AddHomeofficerunning;\n\n if(!lodash.isUndefined(Monatindexvalue)) {\n\n this.PrepareData();\n }\n\n if(!lodash.isUndefined(AddHomeofficerunningvalue)) {\n\n if(AddHomeofficerunningvalue.firstChange === false && AddHomeofficerunningvalue.previousValue === false && AddHomeofficerunningvalue.currentValue === true) {\n\n this.DB.CurrentHomeofficecounter = 0;\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'ngOnChanges', this.Debug.Typen.Component);\n }\n\n }\n\n private PrepareData() {\n\n try {\n\n let Tageanzahl: number;\n let Tagesumme: number;\n let Tagindex: number;\n let Tage: number;\n let Wochenanazahl: number;\n let Monattext: any = this.Monatindex + 1;\n let Tag: Kalendertagestruktur;\n let Startdatum: Moment;\n let Endedatum: Moment;\n let Datum: Moment;\n let Mitarbeiterindex: number;\n let Datumsicherung: Moment;\n let Kalenderewoche: number;\n let Wochentagnummer: number;\n\n this.Monatname = this.DB.Monateliste[this.Monatindex];\n\n if(Monattext < 10 ) Monattext = '0' + Monattext.toString();\n else Monattext = Monattext.toString();\n\n Tageanzahl = moment(this.Jahr.toString() + '-' + Monattext , \"YYYY-MM\").daysInMonth(); // 31\n Tagesumme = Tageanzahl;\n\n let MonatStartdatum: Moment = moment().set({date: 1, month: this.Monatindex, year: this.Jahr, hour: 8, minute: 0}).locale('de');\n let MonatEndedatum: Moment = moment().set({date: Tageanzahl, month: this.Monatindex, year: this.Jahr, hour: 8, minute: 0}).locale('de');\n\n Tagindex = MonatStartdatum.isoWeekday();\n Tage = Tagindex - 1;\n Tagesumme = Tagesumme + Tage;\n\n Startdatum = MonatStartdatum.clone().subtract(Tage, 'day');\n Datum = Startdatum.clone();\n Tagindex = MonatEndedatum.isoWeekday();\n Tage = 7 - Tagindex;\n Tagesumme = Tagesumme + Tage;\n Wochenanazahl = Tagesumme / 7;\n Datumsicherung = Datum.clone();\n\n this.Kalendertageliste = [];\n\n for(let wochenindex = 0; wochenindex < Wochenanazahl; wochenindex++) {\n\n this.Kalendertageliste[wochenindex] = [];\n\n for(let tagindex = 0; tagindex < 7; tagindex++) {\n\n Kalenderewoche = Datum.isoWeek();\n\n Tag = {\n\n Tagnummer: Datum.date(),\n Tag: Datum.format('dddd'),\n Datumstring: Datum.format('DD.MM.YYYY'),\n Hauptmonat: Datum.isSameOrAfter(MonatStartdatum, 'day') && Datum.isSameOrBefore(MonatEndedatum, 'day'),\n Kalenderwoche: Kalenderewoche,\n Tagstempel: Datum.valueOf(),\n Datum: Datum,\n };\n\n if(lodash.isUndefined(this.DB.Kalenderwochenhoehenliste[Kalenderewoche])) this.DB.Kalenderwochenhoehenliste[Kalenderewoche] = [];\n\n // Feiertag eintragen\n\n Tag.IsFeiertag_DE = this.DB.CheckIsFeiertag(Tag, 'DE');\n Tag.IsFeiertag_BG = this.DB.CheckIsFeiertag(Tag, 'BG');\n\n if(Tag.IsFeiertag_DE) Tag.Feiertagname_DE = this.DB.GetFeiertag(Tag, 'DE').Feiertagname_DE; // 'DE: ' +\n else Tag.Feiertagname_DE = '';\n\n if(Tag.IsFeiertag_BG) Tag.Feiertagname_BG = this.DB.GetFeiertag(Tag, 'BG').Feiertagname_BG; // 'BG: ' +\n else Tag.Feiertagname_BG = '';\n\n // Ferientage eintragen\n\n Tag.IsFerientag_DE = this.DB.CheckIsFerientag(Tag, 'DE');\n Tag.IsFerientag_BG = this.DB.CheckIsFerientag(Tag, 'BG');\n\n if(Tag.IsFerientag_DE) Tag.Ferienname_DE = this.DB.GetFerientag(Tag, 'DE').Ferienname_DE; // 'DE: ' +\n else Tag.Ferienname_DE = '';\n\n if(Tag.IsFerientag_BG) Tag.Ferienname_BG = this.DB.GetFerientag(Tag, 'BG').Ferienname_BG; // 'BG: ' +\n else Tag.Ferienname_BG = '';\n\n\n Tag.Background = 'white';\n Tag.Color = 'black';\n Tag.IsUrlaub = false;\n Tag.IsHomeoffice = false;\n Tag.IsHalberUrlaubstag = false;\n\n // Urlaube eintragen\n\n if(this.DB.CurrentUrlaub !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Urlaubzeitspannen) {\n\n Startdatum = moment(Zeitspanne.Startstempel);\n Endedatum = moment(Zeitspanne.Endestempel);\n\n if(Datum.isSameOrAfter(Startdatum, 'day') === true &&\n Datum.isSameOrBefore(Endedatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsUrlaub = true;\n Tag.Background = this.DB.GetUrlaubStatuscolor(Zeitspanne);\n Tag.Color = 'white';\n\n break;\n }\n }\n }\n\n // Halbe Urlaubstage eintragen\n\n if(this.DB.CurrentUrlaub !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Halbertag) {\n\n Startdatum = moment(Zeitspanne.Startstempel);\n Endedatum = moment(Zeitspanne.Endestempel);\n\n if(Datum.isSame(Startdatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsHalberUrlaubstag = true;\n Tag.IsUrlaub = true;\n Tag.Background = this.DB.GetUrlaubStatuscolor(Zeitspanne);\n Tag.Color = 'white';\n\n break;\n }\n }\n }\n }\n\n // Homeoffice eintragen\n\n if(this.DB.CurrentUrlaub !== null && this.Pool.Mitarbeitersettings !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Homeofficezeitspannen) {\n\n Startdatum = moment(Zeitspanne.Startstempel);\n Endedatum = moment(Zeitspanne.Endestempel);\n\n if(Datum.isSameOrAfter(Startdatum, 'day') === true &&\n Datum.isSameOrBefore(Endedatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsHomeoffice = true;\n Tag.Background = this.Pool.Mitarbeitersettings.ShowHomeoffice ? this.DB.GetHomeofficeStatuscolor(Zeitspanne.Status) : 'none';\n Tag.Color = this.Pool.Mitarbeitersettings.ShowHomeoffice ? 'white' : 'black';\n\n\n break;\n }\n }\n }\n\n this.Kalendertageliste[wochenindex].push(Tag);\n\n Datum.add(1, 'day');\n }\n }\n\n // Externe Urlaube\n\n this.KalendertageExternliste = [];\n Mitarbeiterindex = 0;\n\n for(let i = 0; i < this.DB.UrlaublisteExtern.length; i++) {\n\n Datum = Datumsicherung.clone();\n\n if(this.DB.CheckDisplayExternenUrlaub(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern)) {\n\n this.KalendertageExternliste[Mitarbeiterindex] = [];\n\n for(let wochenindex = 0; wochenindex < Wochenanazahl; wochenindex++) {\n\n this.KalendertageExternliste[Mitarbeiterindex][wochenindex] = [];\n\n for(let tagindex = 0; tagindex < 7; tagindex++) {\n\n Tag = {\n\n Kuerzel: this.DB.UrlaublisteExtern[i].NameKuerzel,\n MitarbeiterID: this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern,\n Tagnummer: Datum.date(),\n Tag: Datum.format('dddd'),\n Datumstring: Datum.format('DD.MM.YYYY'),\n Hauptmonat: Datum.isSameOrAfter(MonatStartdatum, 'day') && Datum.isSameOrBefore(MonatEndedatum, 'day'),\n Kalenderwoche: Datum.isoWeek(),\n Tagstempel: Datum.valueOf(),\n Datum: Datum.clone(),\n IsUrlaub: false,\n IsHomeoffice: false,\n Background: 'white',\n Color: 'black'\n };\n\n // Urlaub Extern\n\n for(let UrlaubZeitspanne of this.DB.UrlaublisteExtern[i].Urlaubzeitspannen) {\n\n Startdatum = moment(UrlaubZeitspanne.Startstempel);\n Endedatum = moment(UrlaubZeitspanne.Endestempel);\n Kalenderewoche = Startdatum.isoWeek();\n\n if(lodash.isUndefined(this.DB.Kalenderwochenhoehenliste[Kalenderewoche])) {\n\n this.DB.Kalenderwochenhoehenliste[Kalenderewoche] = [];\n\n for(let i = 0; i < 5; i++) {\n\n this.DB.Kalenderwochenhoehenliste[Kalenderewoche][i] = [];\n }\n }\n\n if(Datum.isSameOrAfter(Startdatum, 'day') === true &&\n Datum.isSameOrBefore(Endedatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsUrlaub = true;\n Tag.IsHomeoffice = false;\n Tag.Background = this.DB.GetUrlaubStatuscolor(UrlaubZeitspanne);\n Tag.Color = 'white';\n\n Wochentagnummer = Datum.weekday();\n\n debugger;\n\n if(lodash.isUndefined(this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer]) === false && this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer].indexOf(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern) === -1) {\n\n this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer].push(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern);\n }\n\n break;\n }\n }\n\n // Homeoffice Extern\n\n for(let HomeofficeZeitspanne of this.DB.UrlaublisteExtern[i].Homeofficezeitspannen) {\n\n Startdatum = moment(HomeofficeZeitspanne.Startstempel);\n Endedatum = moment(HomeofficeZeitspanne.Endestempel);\n\n if(Datum.isSameOrAfter(Startdatum, 'day') === true &&\n Datum.isSameOrBefore(Endedatum, 'day') === true &&\n this.DB.CheckIsFeiertag(Tag, this.DB.Laendercode) === false) {\n\n Tag.IsHomeoffice = true;\n Tag.IsUrlaub = false;\n Tag.Background = this.DB.GetHomeofficeStatuscolor(HomeofficeZeitspanne.Status);\n Tag.Color = 'white';\n\n Wochentagnummer = Datum.weekday();\n\n if(lodash.isUndefined(this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer]) === false && this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer].indexOf(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern) === -1) {\n\n this.DB.Kalenderwochenhoehenliste[Kalenderewoche][Wochentagnummer].push(this.DB.UrlaublisteExtern[i].MitarbeiterIDExtern);\n }\n\n break;\n }\n }\n\n this.KalendertageExternliste[Mitarbeiterindex][wochenindex].push(Tag);\n\n Datum.add(1, 'day');\n }\n }\n\n Mitarbeiterindex++;\n }\n }\n\n // debugger;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Kalender', 'PrepareData', this.Debug.Typen.Component);\n }\n }\n\n\n ngOnInit() {\n\n try {\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n\n this.MonateSubscription = this.DB.PlanungsmonateChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.ExterneUrlaubSubscription = this.DB.ExterneUrlaubeChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.ExterneHomeofficeSubscription = this.DB.ExterneHomeofficeChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.UrlaubStatusSubscription = this.DB.UrlaubStatusChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.HomeofficeStatusSubscription = this.DB.HomeofficeStatusChanged.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.CancelUrlaubSubscription = this.DB.AddUrlaubCancelEvent.subscribe(() => {\n\n this.CancelUrlaub();\n });\n\n this.UpdateKalenderSubscription = this.DB.UpdateKalenderRequestEvent.subscribe(() => {\n\n this.PrepareData();\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Kalender', 'ngOnInit', this.Debug.Typen.Component);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.Displayservice.RemoveDialog(this.Displayservice.Dialognamen.ProjektpunktDateKwPicker);\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n this.MonateSubscription.unsubscribe();\n this.MonateSubscription = null;\n\n this.ExterneUrlaubSubscription.unsubscribe();\n this.ExterneUrlaubSubscription = null;\n\n this.UrlaubStatusSubscription.unsubscribe();\n this.UrlaubStatusSubscription = null;\n\n this.HomeofficeStatusSubscription.unsubscribe();\n this.HomeofficeStatusSubscription = null;\n\n this.ExterneHomeofficeSubscription.unsubscribe();\n this.ExterneHomeofficeSubscription = null;\n\n this.CancelUrlaubSubscription.unsubscribe();\n this.CancelUrlaubSubscription = null;\n\n this.UpdateKalenderSubscription.unsubscribe();\n this.UpdateKalenderSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Kalender', 'ngOnDestroy', this.Debug.Typen.Component);\n }\n }\n\n FeietragMouseOverEvent(Tag: Kalendertagestruktur, laendercode: string) {\n\n try {\n\n let Name: string = '';\n let Datum: Moment = moment(Tag.Tagstempel).locale(laendercode === 'DE' ? 'de' : 'en');\n\n if(Tag.IsFeiertag_DE || Tag.IsFeiertag_BG) {\n\n if(laendercode === 'DE' && Tag.IsFeiertag_DE) {\n\n Name = Tag.Feiertagname_DE + ' / ' + Datum.format('D. MMMM YYYY');\n\n this.FeiertagCrossedEvent.emit({Name: Name, Laendercode: laendercode});\n }\n else if (laendercode === 'BG' && Tag.IsFeiertag_BG){\n\n Name = Tag.Feiertagname_BG + ' / ' + Datum.format('D. MMMM YYYY');\n\n this.FeiertagCrossedEvent.emit({Name: Name, Laendercode: laendercode});\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'FeietragMouseOverEvent', this.Debug.Typen.Component);\n }\n }\n\n FerientagMouseOverEvent(Tag: Kalendertagestruktur, laendercode: string) {\n\n try {\n\n let Name: string = laendercode === 'DE' ? Tag.Ferienname_DE : Tag.Ferienname_BG;\n\n this.FerientagCrossedEvent.emit({Name: Name, Laendercode: laendercode});\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'FerientagMouseOverEvent', this.Debug.Typen.Component);\n }\n }\n\n TagClicked(event: MouseEvent, Tag: Kalendertagestruktur, Wocheindex: number, CurrentTagindex: number) {\n\n try {\n\n let EndeDatum: Moment;\n let Datum: Moment;\n let Startdatum: Moment;\n let Kalendertag: Kalendertagestruktur;\n let Anzahl: number = 0 ;\n let IsFeiertag: boolean = this.DB.Laendercode === 'DE' ? Tag.IsFeiertag_DE : Tag.IsFeiertag_BG;\n let Resturlaub: number;\n let IsUrlaub: boolean = Tag.IsUrlaub && this.DB.CurrentUrlaubzeitspanne === null;\n let IsHomeoffice: boolean = Tag.IsHomeoffice;\n let Starttagindex: number;\n let Endetagindex: number;\n let Heute: Moment = moment();\n\n event.stopPropagation();\n event.preventDefault();\n\n this.CurrentTagindex = CurrentTagindex;\n this.CurrentWochenindex = Wocheindex;\n\n if(this.AddUrlaubRunning) {\n\n if (IsFeiertag === false && IsHomeoffice === false && IsUrlaub === false) {\n\n if (this.DB.CurrentUrlaubzeitspanne === null) {\n\n this.DB.CurrentUrlaubzeitspanne = this.DB.GetEmptyUrlaubszeitspanne();\n\n this.DB.CurrentUrlaubzeitspanne.Startstempel = Tag.Tagstempel;\n this.DB.CurrentUrlaubzeitspanne.Startstring = Tag.Datumstring;\n\n Tag.Background = this.DB.Urlaubsfaben.Geplant;\n Tag.IsUrlaub = true;\n Tag.Color = 'white';\n\n } else {\n\n Startdatum = moment(this.DB.CurrentUrlaubzeitspanne.Startstempel);\n Starttagindex = Startdatum.isoWeekday() - 1;\n Endetagindex = CurrentTagindex;\n EndeDatum = moment(Tag.Tagstempel);\n\n if (EndeDatum.isSameOrAfter(Startdatum, 'day') === true && EndeDatum.isSame(Startdatum, 'week')) {\n\n this.DB.CurrentUrlaubzeitspanne.Endestempel = Tag.Tagstempel;\n this.DB.CurrentUrlaubzeitspanne.Endestring = Tag.Datumstring;\n\n if(EndeDatum.isSameOrBefore(Heute)) {\n\n this.DB.CurrentUrlaubzeitspanne.Status = this.DB.Urlaubstatusvarianten.Genehmigt;\n this.DB.CurrentUrlaubzeitspanne.FreigabeanfrageSended = true;\n this.DB.CurrentUrlaubzeitspanne.FreigabeantwortSended = true;\n this.DB.CurrentUrlaubzeitspanne.FreigabeantwortOfficeSended = true;\n this.DB.CurrentUrlaubzeitspanne.Planungmeldung = 'Der Urlaub befand sich zum Tage der Eintragung am ' + Heute.format('DD.MM.YYYY') + ' in der Vergangenheit.';\n }\n\n for (let Index = Starttagindex; Index <= Endetagindex; Index++) {\n\n Kalendertag = this.Kalendertageliste[Wocheindex][Index];\n IsFeiertag = this.DB.Laendercode === 'DE' ? Kalendertag.IsFeiertag_DE : Kalendertag.IsFeiertag_BG;\n\n if (IsFeiertag === false) {\n\n Kalendertag.Background = this.DB.Urlaubsfaben.Geplant;\n Kalendertag.IsUrlaub = true;\n Kalendertag.Color = 'white';\n\n Anzahl++;\n }\n }\n\n this.DB.CurrentUrlaubzeitspanne.Tageanzahl = Anzahl;\n\n Resturlaub = this.DB.CountResturlaub();\n\n if (Resturlaub - Anzahl >= 0) {\n\n this.AddUrlaubFinishedEvent.emit(true);\n\n } else {\n\n this.Tools.ShowHinweisDialog('Du hast nur noch ' + Resturlaub + ' Tage Resturlaub.');\n\n this.DB.CurrentUrlaubzeitspanne = null;\n\n window.setTimeout(() => {\n\n for (let Index = Starttagindex; Index < Endetagindex; Index++) {\n\n Kalendertag = this.Kalendertageliste[Wocheindex][Index];\n IsFeiertag = this.DB.Laendercode === 'DE' ? Kalendertag.IsFeiertag_DE : Kalendertag.IsFeiertag_BG;\n\n if (IsFeiertag === false) {\n\n Kalendertag.Background = 'none';\n Kalendertag.IsUrlaub = false;\n Kalendertag.Color = 'black';\n }\n }\n\n this.AddUrlaubFinishedEvent.emit(false);\n\n }, 3000);\n\n }\n } else {\n\n this.Tools.ShowHinweisDialog('Bitte Tag in der gleichen Woche wählen.');\n }\n }\n\n } else {\n\n if (IsFeiertag) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Feiertag.');\n else if(IsHomeoffice) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Homeofficetag.');\n else this.Tools.ShowHinweisDialog('Dieser Tag ist bereits ein Urlaubstag.');\n }\n }\n\n if(this.AddHomeofficerunning) {\n\n if(IsFeiertag === false && IsUrlaub === false && IsHomeoffice === false) {\n\n this.DB.CurrentHomeofficezeitspanne = this.DB.GetEmptyHomeofficezeitspanne();\n\n this.DB.CurrentHomeofficezeitspanne.Startstempel = Tag.Tagstempel;\n this.DB.CurrentHomeofficezeitspanne.Endestempel = Tag.Tagstempel;\n this.DB.CurrentHomeofficezeitspanne.Startstring = Tag.Datumstring;\n this.DB.CurrentHomeofficezeitspanne.Endestring = Tag.Datumstring;\n this.DB.CurrentHomeofficezeitspanne.Tageanzahl = 1;\n\n Kalendertag = this.Kalendertageliste[Wocheindex][CurrentTagindex];\n Kalendertag.Background = this.DB.Homeofficefarben.Geplant;\n Kalendertag.IsHomeoffice = true;\n Kalendertag.Color = 'white';\n\n this.DB.CurrentHomeofficecounter++;\n\n this.AddHomeofficeFinishedEvent.emit(true);\n\n } else {\n\n if (IsFeiertag) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Feiertag.');\n else if(IsHomeoffice) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Homeofficetag.');\n else this.Tools.ShowHinweisDialog('Dieser Tag ist bereits ein Urlaubstag.');\n\n this.DB.CurrentHomeofficezeitspanne = null;\n }\n }\n\n if(this.AddHalberUrlaubstagRunning) {\n\n if(IsFeiertag === false && IsUrlaub === false && IsHomeoffice === false) {\n\n this.DB.CurrentUrlaubzeitspanne = this.DB.GetEmptyUrlaubszeitspanne();\n\n this.DB.CurrentUrlaubzeitspanne.Halbertag = true;\n this.DB.CurrentUrlaubzeitspanne.Startstempel = Tag.Tagstempel;\n this.DB.CurrentUrlaubzeitspanne.Endestempel = Tag.Tagstempel;\n this.DB.CurrentUrlaubzeitspanne.Startstring = Tag.Datumstring;\n this.DB.CurrentUrlaubzeitspanne.Endestring = Tag.Datumstring;\n this.DB.CurrentUrlaubzeitspanne.Tageanzahl = 0.5;\n\n Kalendertag = this.Kalendertageliste[Wocheindex][CurrentTagindex];\n Kalendertag.Background = this.DB.Urlaubsfaben.Geplant;\n Kalendertag.IsUrlaub = true;\n Kalendertag.IsHalberUrlaubstag = true;\n Kalendertag.Color = 'white';\n\n Datum = moment(Tag.Tagstempel);\n\n if(Datum.isSameOrBefore(Heute)) {\n\n this.DB.CurrentUrlaubzeitspanne.Status = this.DB.Urlaubstatusvarianten.Genehmigt;\n this.DB.CurrentUrlaubzeitspanne.FreigabeanfrageSended = true;\n this.DB.CurrentUrlaubzeitspanne.FreigabeantwortSended = true;\n this.DB.CurrentUrlaubzeitspanne.FreigabeantwortOfficeSended = true;\n this.DB.CurrentUrlaubzeitspanne.Planungmeldung = 'Der Urlaub befand sich zum Tage der Eintragung am ' + Heute.format('DD.MM.YYYY') + ' in der Vergangenheit.';\n\n Kalendertag.Background = this.DB.Urlaubsfaben.Genehmigt;\n }\n\n\n this.AddUrlaubFinishedEvent.emit(true);\n\n } else {\n\n if (IsFeiertag) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Feiertag.');\n else if(IsUrlaub) this.Tools.ShowHinweisDialog('Dieser Tag ist ein Urlaubstag.');\n else this.Tools.ShowHinweisDialog('Dieser Tag ist bereits ein Homeofficetag.');\n\n this.DB.CurrentUrlaubzeitspanne = null;\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'TagClicked', this.Debug.Typen.Component);\n }\n }\n\n GetMonatname(): string {\n\n try {\n\n let Text: string = this.Monatname;\n\n if(this.ShowYear) Text += ' ' + this.Jahr;\n\n return Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'GetMonatname', this.Debug.Typen.Component);\n }\n }\n\n GetTagBackground(Tag: Kalendertagestruktur): string {\n\n try {\n\n if(Tag.IsUrlaub === true || Tag.IsHomeoffice === true) {\n\n if (Tag.IsUrlaub) return Tag.Background;\n else if(Tag.IsHomeoffice === true && this.Pool.Mitarbeitersettings.ShowHomeoffice === true) return Tag.Background;\n else return 'none';\n }\n else return 'none';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'GetTagBackground', this.Debug.Typen.Component);\n }\n }\n\n private CancelUrlaub() {\n\n try {\n\n\n let Kalendertag: Kalendertagestruktur;\n\n if(lodash.isUndefined(this.CurrentWochenindex) === false && this.CurrentWochenindex !== null &&\n lodash.isUndefined(this.CurrentTagindex) === false && this.CurrentTagindex !== null) {\n\n Kalendertag = this.Kalendertageliste[this.CurrentWochenindex][this.CurrentTagindex];\n\n Kalendertag.Background = 'none';\n Kalendertag.IsUrlaub = false;\n Kalendertag.Color = 'black';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'CancelUrlaub', this.Debug.Typen.Component);\n }\n }\n\n protected readonly lodash = lodash;\n\n GetMaxExternUrlaubseintraege(Kalenderwoche: number): number {\n\n try {\n\n let Liste: string[][] = this.DB.Kalenderwochenhoehenliste[Kalenderwoche];\n // let IDListe: string[] = [];\n // let Eintrag: string;\n let Eintraege: string[];\n let Max: number = 0;\n\n if(Liste.length > 0) {\n\n if(Kalenderwoche === 25) {\n\n // debugger;\n }\n\n for(let i = 0; i < Liste.length; i++) {\n\n if(!lodash.isUndefined(Liste[i])) {\n\n Eintraege = Liste[i];\n\n if(Eintraege.length > Max) Max = Eintraege.length;\n\n /*\n for(let j = 0; j < Eintraege.length; j++) {\n\n if(lodash.isUndefined(Eintraege[j]) === false) {\n\n Eintrag = Eintraege[j];\n\n if(IDListe.indexOf(Eintrag) === -1) IDListe.push(Eintrag);\n }\n }\n\n */\n }\n }\n }\n\n return Max;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'GetMaxExternUrlaubseintraege', this.Debug.Typen.Component);\n }\n }\n\n ExternUrlaubstagClicked(event: MouseEvent, MitarbeiterID: string) {\n\n try {\n\n event.preventDefault();\n event.stopPropagation();\n\n this.ExternUrlaubstagClickedEvent.emit(MitarbeiterID);\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Kalender', 'ExternUrlaubstagClicked', this.Debug.Typen.Component);\n }\n\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonEinstellungenPage } from './common-einstellungen.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {SafePipeModule} from \"../../pipes/safe.pipe.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonEinstellungenPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n CheckboxClonModule,\n ButtonValueModule,\n AuswahlDialogModule,\n SafePipeModule,\n ],\n declarations: [CommonEinstellungenPage]\n})\nexport class CommonEinstellungenPageModule {}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {SecurityService} from \"../../services/security/security.service\";\nimport {\n DatabaseAppeinstellungenService\n} from \"../../services/database-appeinstellungen/database-appeinstellungen.service\";\nimport {Subscription} from \"rxjs\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport moment from \"moment\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport * as lodash from \"lodash-es\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {loadFromPath} from \"@ionic/cli/lib/ssh-config\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {cloneDeep} from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\n\n@Component({\n selector: 'common-einstellungen-page',\n templateUrl: 'common-einstellungen.page.html',\n styleUrls: ['common-einstellungen.page.scss'],\n})\nexport class CommonEinstellungenPage implements OnInit, OnDestroy {\n\n private DataSubscription: Subscription;\n public Vertreterliste: Mitarbeiterstruktur[];\n public Freigeberliste: Mitarbeiterstruktur[];\n public ShowAuswahl: boolean;\n public Auswahlindex: number;\n public Auswahltitel: string;\n public Auswahlliste: Auswahldialogstruktur[];\n\n constructor(public Pool: DatabasePoolService,\n public Const: ConstProvider,\n public Basics: BasicsProvider,\n private Tools: ToolsProvider,\n private DBUrlaub: DatabaseUrlaubService,\n private DB: DatabaseAppeinstellungenService,\n public Debug: DebugProvider) {\n try {\n\n this.DataSubscription = null;\n this.Vertreterliste = [];\n this.Freigeberliste = [];\n this.ShowAuswahl = false;\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Einstellungen', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n DebugNoExternalEmaillCheckedChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Appeinstellungen.DebugNoExternalEmail = event.status;\n\n this.DB.SaveAppeinstellungen();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'DebugNoExternalEmaillCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n ShowHomescreeninfosChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Appeinstellungen.ShowHomeScreenInfos = event.status;\n\n this.DB.SaveAppeinstellungen();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'ShowHomescreeninfosChanged', this.Debug.Typen.Page);\n }\n }\n\n async StartseiteChangedHandler(event: any) {\n\n try {\n\n this.Pool.Appeinstellungen.AdminStartseite = event.detail.value;\n\n await this.DB.SaveAppeinstellungen();\n\n this.Tools.ShowHinweisDialog('App wird neu gestartet.....');\n\n window.setTimeout(() => {\n\n location.replace(this.Pool.ApplicationURL)\n\n },500);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'StartseiteChangedHandler', this.Debug.Typen.Page);\n }\n }\n\n WartungsmodusCheckChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Appeinstellungen.Wartungsmodus = event.status;\n\n this.DB.SaveAppeinstellungen();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'WartungsmodusCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n private PrepareData() {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let CurrentMitarbeiter: Mitarbeiterstruktur;\n let Jahr: number = moment().year();\n let Urlaub: Urlaubsstruktur;\n let CurrentZeitspanne: Urlauzeitspannenstruktur;\n let Standort: Standortestruktur;\n let Vertreter: Mitarbeiterstruktur;\n let Freigeber: Mitarbeiterstruktur;\n\n this.Vertreterliste = [];\n this.Freigeberliste = [];\n\n for(CurrentMitarbeiter of this.Pool.Mitarbeiterliste) {\n\n Urlaub = lodash.find(CurrentMitarbeiter.Urlaubsliste, (currenturlaub: Urlaubsstruktur) => {\n\n return currenturlaub.Jahr === Jahr;\n });\n\n if(lodash.isUndefined(Urlaub) === false) {\n\n for(CurrentZeitspanne of Urlaub.Urlaubzeitspannen) {\n\n switch (CurrentZeitspanne.Status) {\n\n case this.DBUrlaub.Urlaubstatusvarianten.Vertreteranfrage:\n\n for(let Konversation of CurrentZeitspanne.Vertretungskonversationliste) {\n\n Vertreter = lodash.cloneDeep(lodash.find(this.Pool.Mitarbeiterliste, { _id: Konversation.VertreterID }));\n Mitarbeiter = lodash.find(this.Vertreterliste, { _id: Konversation.VertreterID });\n\n if(lodash.isUndefined(Mitarbeiter)) {\n\n Vertreter.Vertretungenanfragenanzahl = 1;\n Vertreter.Selected = false;\n Vertreter.UrlaubanfrageReminderSended = false;\n\n this.Vertreterliste.push(Vertreter);\n }\n else {\n\n Mitarbeiter.Vertretungenanfragenanzahl++;\n }\n }\n\n break;\n\n case this.DBUrlaub.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: CurrentMitarbeiter.StandortID});\n\n if(lodash.isUndefined(Standort) === false) {\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigeber = lodash.cloneDeep(lodash.find(this.Pool.Mitarbeiterliste, { _id: FreigeberID }));\n Mitarbeiter = lodash.find(this.Freigeberliste, { _id: FreigeberID });\n\n if(lodash.isUndefined(Mitarbeiter) === true) {\n\n Freigeber.Freigabenanfragenanzahl = 1;\n Freigeber.Selected = false;\n Freigeber.UrlaubanfrageReminderSended = false;\n\n this.Freigeberliste.push(Freigeber);\n }\n else {\n\n Mitarbeiter.Freigabenanfragenanzahl++;\n }\n }\n }\n\n break;\n }\n }\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n FreigberCheckedChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Freigeberliste[event.index].Selected = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'FreigberCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n VertreterCheckedChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Vertreterliste[event.index].Selected = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'VertreterCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n async SendUrlaubReminderMail() {\n\n try {\n\n for(let Vertreter of this.Vertreterliste) {\n\n if(Vertreter.Selected) {\n\n await this.DBUrlaub.SendVertreterreminder(Vertreter);\n\n Vertreter.UrlaubanfrageReminderSended = true;\n Vertreter.Selected = false;\n }\n }\n\n for(let Freigeber of this.Freigeberliste) {\n\n if(Freigeber.Selected) {\n\n await this.DBUrlaub.SendFreigabereminder(Freigeber);\n\n Freigeber.UrlaubanfrageReminderSended = true;\n Freigeber.Selected = false;\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'SendUrlaubReminderMail', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport { Routes, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { CommonHomePage } from './common-home.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {FiChangelogEditorModule} from \"../../components-page/fi-changelog-editor/fi-changelog-editor.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonHomePage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n RouterModule.forChild(routes),\n PageHeaderModule,\n AbstandElementFixedModule,\n ReactiveFormsModule,\n PageFooterModule,\n FiChangelogEditorModule\n ],\n declarations: [CommonHomePage]\n})\nexport class CommonHomePageModule {}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {DatabaseAuthenticationService} from \"../../services/database-authentication/database-authentication.service\";\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport * as lodash from \"lodash-es\";\nimport {DatabaseChangelogService} from \"../../services/database-changelog/database-changelog.service\";\nimport moment, {Moment} from \"moment\";\nimport {Changelogstruktur} from \"../../dataclasses/changelogstruktur\";\nimport {filter, Subscription} from \"rxjs\";\nimport {MsalBroadcastService, MsalService} from \"@azure/msal-angular\";\nimport {AuthenticationResult, EventMessage, EventType, InteractionStatus} from \"@azure/msal-browser\";\nimport {Graphservice} from \"../../services/graph/graph\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {environment} from \"../../../environments/environment\";\nimport {SecurityService} from \"../../services/security/security.service\";\n\n\n@Component({\n selector: 'common-home-page',\n templateUrl: './common-home.page.html',\n styleUrls: ['./common-home.page.scss'],\n})\nexport class CommonHomePage implements OnInit, OnDestroy {\n\n public Title: string;\n public StandortMouseOver: boolean;\n public MitarbeiterMouseOver: boolean;\n public ProjekteMouseOver: boolean;\n public FavoritenMouseOver: boolean;\n public LogoutMouseOver: boolean;\n public DebugMouseOver: boolean;\n public EinstellungenMouseOver: boolean;\n public PlayMouseOver: boolean;\n public BackgroundimageURL: string;\n public Backgroundinterval: any;\n public ShowChangelogEditor: boolean;\n private ChangelogSubscription: Subscription;\n public ProgressMessage: string;\n public ReloadMouseOver: boolean;\n public UrlaubMouseOver: boolean;\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Const: ConstProvider,\n public Pool: DatabasePoolService,\n private authService: MsalService,\n private msalBroadcastService: MsalBroadcastService,\n public GraphService: Graphservice,\n public DBChangelog: DatabaseChangelogService,\n public AuthService: DatabaseAuthenticationService,\n private Security: SecurityService,\n private Menuservice: MenueService) {\n try\n {\n this.StandortMouseOver = false;\n this.MitarbeiterMouseOver = false;\n this.ProjekteMouseOver = false;\n this.FavoritenMouseOver = false;\n this.LogoutMouseOver = false;\n this.DebugMouseOver = false;\n this.EinstellungenMouseOver = false;\n this.PlayMouseOver = false;\n this.BackgroundimageURL = '../../../assets/background/' + lodash.random(1, 36, false).toString() + '.jpg';\n this.Backgroundinterval = null;\n this.ShowChangelogEditor = false;\n this.ChangelogSubscription = null;\n this.ProgressMessage = '';\n this.ReloadMouseOver = false;\n this.UrlaubMouseOver = false;\n\n // Test\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Security.CheckSecurity();\n\n this.ChangelogSubscription = this.Pool.ChangeloglisteChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n this.msalBroadcastService.msalSubject$\n .pipe(\n filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS),\n )\n .subscribe((result: EventMessage) => {\n\n const payload = result.payload as AuthenticationResult;\n\n this.authService.instance.setActiveAccount(payload.account);\n\n this.AuthService.ActiveUser = payload.account;\n // this.AuthService.AccessToken = payload.accessToken;\n\n this.AuthService.SetShowLoginStatus();\n\n this.AuthService.LoginSuccessEvent.emit();\n /*\n this.AuthService.SaveAccessToken(payload.accessToken).then(() => {\n\n });\n\n */\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n ionViewDidEnter() {\n\n try {\n\n let Nummer: number;\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Home;\n\n /*\n this.Backgroundinterval = window.setInterval(() => {\n\n Nummer = lodash.random(1, 36, false);\n\n this.BackgroundimageURL = '../../../assets/background/' + Nummer.toString() + '.jpg';\n\n\n }, 60000);\n\n */\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ionViewDidLeave() {\n\n try {\n\n this.Backgroundinterval = null;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'ionViewDidLeave', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.ChangelogSubscription.unsubscribe();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n FavoritChangedHandler(event: any) {\n\n try {\n\n /*\n\n this.DBProjekte.CurrentFavorit = lodash.find(this.Pool.Mitarbeiterdaten.Favoritenliste, {FavoritenID: event.detail.value});\n\n if(lodash.isUndefined(this.DBProjekte.CurrentFavorit)) this.DBProjekte.CurrentFavorit = null;\n\n if(this.DBProjekte.CurrentFavorit === null) {\n\n this.Pool.Mitarbeitersettings.FavoritenID = null;\n this.DBProjekte.CurrentFavoritenlisteindex = null;\n this.Pool.Mitarbeitersettings.ProjektID = null;\n }\n else {\n\n this.Pool.Mitarbeitersettings.FavoritenID = this.DBProjekte.CurrentFavorit.FavoritenID;\n this.DBProjekte.CurrentFavoritenlisteindex = lodash.findIndex(this.Pool.Mitarbeiterdaten.Favoritenliste, {FavoritenID: this.DBProjekte.CurrentFavorit.FavoritenID});\n this.Pool.Mitarbeitersettings.ProjektID = null;\n }\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'FavoritChangedHandler', this.Debug.Typen.Page);\n }\n }\n\n DebugButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.DebugPage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'DebugButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n EinstellungenButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.EinstellungenPage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'EinstellungenButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n LogoutButtonClicked() {\n\n try {\n\n this.Pool.ProjektdatenLoaded = false;\n\n this.AuthService.Logout();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'LogoutButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n LoginButtonClicked() {\n\n try {\n\n this.Pool.ProjektdatenLoaded = false;\n\n this.AuthService.Login();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'LoginButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n StandorteButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.FiStandortelistePage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'StandorteButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.FiMitarbeiterlistePage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'MitarbeiterButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n PlanerButtonClicked() {\n\n try {\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Urlaubsplanung;\n this.Menuservice.UrlaubMenuebereich = this.Menuservice.UrlaubMenuebereiche.Planung;\n\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubPlanungPage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'PlanerButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n ProjekteButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.PjListePage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'ProjekteButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n FavoritenButtonClicked() {\n\n try {\n\n this.Tools.SetRootPage(this.Const.Pages.PjFavoritenlistePage);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'FavoritenButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n public async PlayButtonClicked() {\n\n try {\n\n /*\n\n let Aufgabenansicht: Aufgabenansichtstruktur;\n\n if(this.DBProjekte.CurrentFavorit !== null && this.DBProjekte.GesamtprojektlisteHasDatenerror === false) {\n\n if(this.Pool.ProjektdatenLoaded === false) {\n\n this.ProgressMessage = 'Projektdaten werden geladen';\n\n this.DBProjekte.SetProjekteliste(this.DBProjekte.CurrentFavorit.Projekteliste);\n this.DBProjekte.SetCurrentFavoritenprojekt();\n\n await this.Pool.ReadProjektdaten(this.DBProjekte.Projektliste);\n\n Aufgabenansicht = this.Pool.GetAufgabenansichten(this.DBProjekte.CurrentProjekt !== null ? this.DBProjekte.CurrentProjekt._id : null);\n\n await this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, Aufgabenansicht);\n\n this.Pool.ProjektdatenLoaded = true;\n }\n\n this.Menuservice.MainMenuebereich = this.Menuservice.MainMenuebereiche.Projekte;\n this.Menuservice.ProjekteMenuebereich = this.Menuservice.ProjekteMenuebereiche.Aufgabenliste;\n this.Menuservice.Aufgabenlisteansicht = this.Menuservice.Aufgabenlisteansichten.Projekt;\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n }\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'PlayButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n GetFavoritenlistehoehe(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.Pool.Mitarbeiterdaten !== null) {\n\n Anzahl = this.Pool.Mitarbeiterdaten.Favoritenliste.length === 0 ? 2 : this.Pool.Mitarbeiterdaten.Favoritenliste.length;\n }\n\n if(Anzahl === 0) Anzahl = 1;\n\n return Anzahl * 50;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Home', 'GetFavoritenlistehoehe', this.Debug.Typen.Page);\n }\n }\n\n AddChangelogClicked() {\n\n try {\n\n this.DBChangelog.CurrentChangelog = this.DBChangelog.GetEmptyChangelog();\n this.ShowChangelogEditor = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'AddChangelogClicked', this.Debug.Typen.Page);\n }\n }\n\n GetDatum(Zeitstempel: number): string {\n\n try {\n\n let Datum: Moment = moment(Zeitstempel);\n\n return Datum.format('DD.MM.YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'GetDatum', this.Debug.Typen.Page);\n }\n }\n\n ChangelogClicked(Changelog: Changelogstruktur) {\n\n try {\n\n this.DBChangelog.CurrentChangelog = lodash.cloneDeep(Changelog);\n this.ShowChangelogEditor = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'ChangelogClicked', this.Debug.Typen.Page);\n }\n\n }\n\n private PrepareDaten() {\n\n try {\n\n let Changelog: Changelogstruktur;\n\n if(this.Pool.Changlogliste.length > 0) {\n\n Changelog = this.Pool.Changlogliste[0];\n\n this.Basics.AppVersionName = Changelog.Version;\n this.Basics.AppVersionDatum = moment(Changelog.Zeitstempel).format('DD.MM.YYYY');\n\n } else {\n\n this.Basics.AppVersionName = 'none';\n this.Basics.AppVersionDatum = 'none';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'PrepareDaten', this.Debug.Typen.Page);\n }\n }\n\n CountMitarbeiter(): string {\n\n try {\n\n return lodash.filter(this.Pool.Mitarbeiterliste, (Mitarbeiter: Mitarbeiterstruktur) => {\n\n return !Mitarbeiter.Archiviert;\n\n }).length.toString();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'CountMitarbeiter', this.Debug.Typen.Page);\n }\n }\n\n CountProjekte(): number {\n\n try {\n\n /*\n\n let Liste: Projektestruktur[] = lodash.filter(this.DBProjekte.Gesamtprojektliste, (Projekt: Projektestruktur) => {\n\n return Projekt.ProjektIsReal === true;\n\n });\n\n */\n\n return 0; // Liste.length;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'CountProjekte', this.Debug.Typen.Page);\n }\n }\n\n RelaodButtonClicked() {\n\n try {\n\n this.Pool.ProjektdatenLoaded = false;\n\n this.PlayButtonClicked();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'RelaodButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n protected readonly environment = environment;\n\n CheckAllMitarbeiterdaten(): boolean {\n\n try {\n\n let Valid: boolean = true;\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter.Archiviert === false) {\n\n if(Mitarbeiter.Kuerzel === '' || Mitarbeiter.StandortID === '') {\n\n Valid = false;\n }\n }\n }\n\n return Valid;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Home', 'CheckAllMitarbeiterdaten', this.Debug.Typen.Page);\n }\n\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubEinstellungenPage } from './common-urlaub-einstellungen.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubEinstellungenPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n ],\n declarations: [CommonUrlaubEinstellungenPage]\n})\nexport class CommonUrlaubEinstellungenPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {cloneDeep} from \"lodash-es\";\nimport {Ferienstruktur} from \"../../dataclasses/ferienstruktur\";\nimport {Feiertagestruktur} from \"../../dataclasses/feiertagestruktur\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {Subscription} from \"rxjs\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-einstellungen-page',\n templateUrl: 'common-urlaub-einstellungen.page.html',\n styleUrls: ['common-urlaub-einstellungen.page.scss'],\n})\nexport class CommonUrlaubEinstellungenPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', {static: false}) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', {static: false}) PageFooter: PageFooterComponent;\n\n public Auswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public ShowAuswahl: boolean;\n public Auswahlhoehe: number;\n\n private Auswahldialogorigin: string;\n public ShowMitarbeiterauswahl: boolean;\n public BlockCurrentMitarbeiter: boolean;\n public AuswahlIDliste: string[];\n public MitarbeiterauswahlTitel: string;\n public Projektbeteiligteliste: Mitarbeiterstruktur[];\n public Urlaubsfreigeberliste: Mitarbeiterstruktur[];\n public Homeofficefreigeberliste: Mitarbeiterstruktur[];\n public MitarbeiterMultiselect: boolean;\n public Ferienliste: Ferienstruktur[];\n public Feiertageliste: Feiertagestruktur[];\n private DataSubscription: Subscription;\n\n constructor(public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n public Const: ConstProvider,\n public DBStandort: DatabaseStandorteService,\n public DBMitarbeiterstettings: DatabaseMitarbeitersettingsService,\n public Auswahlservice: AuswahlDialogService,\n public Loadinganimation: LoadingAnimationService,\n public Tools: ToolsProvider,\n public Debug: DebugProvider) {\n try {\n\n this.Auswahlliste = [{Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.DataSubscription = null;\n this.Auswahldialogorigin = this.Const.NONE;\n this.ShowMitarbeiterauswahl = false;\n this.AuswahlIDliste = [];\n this.MitarbeiterauswahlTitel = '';\n this.MitarbeiterMultiselect = true;\n this.Ferienliste = [];\n this.Feiertageliste = [];\n this.Projektbeteiligteliste = [];\n this.Urlaubsfreigeberliste = [];\n this.Homeofficefreigeberliste = [];\n this.BlockCurrentMitarbeiter = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n private PrepareData() {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let Standort: Standortestruktur;\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.CountAnfragenanzahlen();\n\n this.Projektbeteiligteliste = [];\n\n for (let Eintrag of this.DB.CurrentUrlaub.Projektbeteiligteliste) {\n\n Mitarbeiter = this.DBMitarbeiter.GetMitarbeiterByID(Eintrag.MitarbeiterID);\n\n if (Mitarbeiter !== null) this.Projektbeteiligteliste.push(Mitarbeiter);\n }\n\n this.Projektbeteiligteliste.sort((a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.DB.CurrentMitarbeiter.StandortID});\n\n this.Urlaubsfreigeberliste = [];\n\n for(let MitarbeterID of Standort.Urlaubfreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) this.Urlaubsfreigeberliste.push(Mitarbeiter);\n }\n\n this.Urlaubsfreigeberliste.sort((a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n this.Homeofficefreigeberliste = [];\n\n for(let MitarbeterID of Standort.Homeofficefreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) this.Homeofficefreigeberliste.push(Mitarbeiter);\n }\n\n this.Homeofficefreigeberliste.sort((a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n this.Ferienliste = [];\n\n if (!lodash.isUndefined(this.DB.Ferienliste[this.DB.Laendercode])) {\n\n this.Ferienliste = lodash.cloneDeep(this.DB.Ferienliste[this.DB.Laendercode]);\n }\n\n this.Feiertageliste = [];\n\n if (!lodash.isUndefined(this.DB.Feiertageliste[this.DB.Laendercode])) {\n\n this.Feiertageliste = lodash.cloneDeep(this.DB.Feiertageliste[this.DB.Laendercode]);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Eintrag: Urlaubprojektbeteiligtestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n let Index: number;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubEinstellungen_Projektbeteiligte_Auswahl:\n\n // Projektbeteiligte auf die IDListe begrezen / gelöschte entfernen\n\n this.DB.CurrentUrlaub.Projektbeteiligteliste = lodash.filter( this.DB.CurrentUrlaub.Projektbeteiligteliste, (beteiligt: Urlaubprojektbeteiligtestruktur) => {\n\n return idliste.indexOf(beteiligt.MitarbeiterID) !== -1;\n });\n\n // Neue Eintraege hinzufügen wenn nicht bereits vorhanden\n\n for(let id of idliste) {\n\n Eintrag = lodash.find(this.DB.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: id});\n\n if(lodash.isUndefined(Eintrag)) this.DB.CurrentUrlaub.Projektbeteiligteliste.push({\n MitarbeiterID: id,\n Display: false\n });\n }\n\n Index = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentUrlaub.Jahr });\n\n debugger;\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Index] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.PrepareData();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n\n break;\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubEinstellungen_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null});\n Index++;\n\n for (let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({\n Index: Index,\n FirstColumn: Eintrag.Kuerzel,\n SecoundColumn: Eintrag.Standort,\n Data: Eintrag\n });\n Index++;\n }\n\n if (this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n } else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n\n debugger;\n\n switch (this.Auswahldialogorigin) {\n\n\n case 'Urlaub':\n\n this.DB.CurrentMitarbeiter.Urlaub = data;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter);\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubEinstellungen_Standort_Filter:\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeiterstettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.PrepareData();\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n break;\n }\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterAuswahlClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubEinstellungen_Projektbeteiligte_Auswahl;\n this.MitarbeiterauswahlTitel = 'Mitarbeiter/innen auswählen';\n this.ShowMitarbeiterauswahl = true;\n this.BlockCurrentMitarbeiter = true;\n this.AuswahlIDliste = [];\n this.MitarbeiterMultiselect = true;\n\n for(let eintrag of this.DB.CurrentUrlaub.Projektbeteiligteliste) {\n\n this.AuswahlIDliste.push(eintrag.MitarbeiterID);\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n\n\n GetDatum(stempel: number) {\n\n try {\n\n return moment(stempel).format('DD.MM.YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'GetDatum', this.Debug.Typen.Page);\n }\n\n }\n\n UrlaubClickedEvent() {\n\n try {\n\n this.Auswahldialogorigin = 'Urlaub';\n this.Auswahlhoehe = 600;\n this.Auswahltitel = 'Urlaubsanspruch festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({Index: 0, FirstColumn: '10', SecoundColumn: 'Tage', Data: 10});\n this.Auswahlliste.push({Index: 1, FirstColumn: '11', SecoundColumn: 'Tage', Data: 11});\n this.Auswahlliste.push({Index: 2, FirstColumn: '12', SecoundColumn: 'Tage', Data: 12});\n this.Auswahlliste.push({Index: 3, FirstColumn: '13', SecoundColumn: 'Tage', Data: 13});\n this.Auswahlliste.push({Index: 4, FirstColumn: '14', SecoundColumn: 'Tage', Data: 14});\n this.Auswahlliste.push({Index: 5, FirstColumn: '15', SecoundColumn: 'Tage', Data: 15});\n this.Auswahlliste.push({Index: 6, FirstColumn: '16', SecoundColumn: 'Tage', Data: 16});\n this.Auswahlliste.push({Index: 7, FirstColumn: '17', SecoundColumn: 'Tage', Data: 17});\n this.Auswahlliste.push({Index: 8, FirstColumn: '18', SecoundColumn: 'Tage', Data: 18});\n this.Auswahlliste.push({Index: 9, FirstColumn: '19', SecoundColumn: 'Tage', Data: 19});\n this.Auswahlliste.push({Index: 10, FirstColumn: '20', SecoundColumn: 'Tage', Data: 20});\n this.Auswahlliste.push({Index: 11, FirstColumn: '21', SecoundColumn: 'Tage', Data: 21});\n this.Auswahlliste.push({Index: 12, FirstColumn: '22', SecoundColumn: 'Tage', Data: 22});\n this.Auswahlliste.push({Index: 13, FirstColumn: '23', SecoundColumn: 'Tage', Data: 23});\n this.Auswahlliste.push({Index: 14, FirstColumn: '24', SecoundColumn: 'Tage', Data: 24});\n this.Auswahlliste.push({Index: 15, FirstColumn: '25', SecoundColumn: 'Tage', Data: 25});\n this.Auswahlliste.push({Index: 16, FirstColumn: '26', SecoundColumn: 'Tage', Data: 26});\n this.Auswahlliste.push({Index: 17, FirstColumn: '27', SecoundColumn: 'Tage', Data: 27});\n this.Auswahlliste.push({Index: 18, FirstColumn: '28', SecoundColumn: 'Tage', Data: 28});\n this.Auswahlliste.push({Index: 19, FirstColumn: '29', SecoundColumn: 'Tage', Data: 29});\n this.Auswahlliste.push({Index: 20, FirstColumn: '30', SecoundColumn: 'Tage', Data: 30});\n this.Auswahlliste.push({Index: 21, FirstColumn: '31', SecoundColumn: 'Tage', Data: 31});\n this.Auswahlliste.push({Index: 22, FirstColumn: '32', SecoundColumn: 'Tage', Data: 32});\n this.Auswahlliste.push({Index: 23, FirstColumn: '33', SecoundColumn: 'Tage', Data: 33});\n this.Auswahlliste.push({Index: 24, FirstColumn: '34', SecoundColumn: 'Tage', Data: 34});\n this.Auswahlliste.push({Index: 25, FirstColumn: '35', SecoundColumn: 'Tage', Data: 35});\n this.Auswahlliste.push({Index: 26, FirstColumn: '36', SecoundColumn: 'Tage', Data: 36});\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, (Eintrag: Auswahldialogstruktur) => {\n\n return Eintrag.Data === this.DB.CurrentMitarbeiter.Urlaub;\n });\n\n this.ShowAuswahl = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'ResturlaubClickedEvent', this.Debug.Typen.Page);\n }\n }\n\n CheckFerienBlocker(Anfangstempel: number): boolean {\n\n try {\n\n\n return this.DB.CurrentUrlaub.Ferienblockerliste.indexOf(Anfangstempel) === -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'CheckFerienBlocker', this.Debug.Typen.Page);\n }\n }\n\n FerienBlockedChanged(event: { status: boolean; index: number; event: any; value: string }, Anfangstempel: number) {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n\n if (event.status === false) {\n\n this.DB.CurrentUrlaub.Ferienblockerliste.push(Anfangstempel);\n } else {\n\n this.DB.CurrentUrlaub.Ferienblockerliste = lodash.filter(this.DB.CurrentUrlaub.Ferienblockerliste, (stempel: number) => {\n\n return stempel !== Anfangstempel;\n });\n }\n\n Urlaub = lodash.find(this.DB.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.DB.CurrentUrlaub.Jahr});\n\n if (!lodash.isUndefined(Urlaub)) {\n\n Urlaub.Ferienblockerliste = this.DB.CurrentUrlaub.Ferienblockerliste;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'FereinBlockedChanged', this.Debug.Typen.Page);\n }\n\n }\n\n CheckFeiertagBlocker(Anfangstempel: any) {\n\n try {\n return this.DB.CurrentUrlaub.Feiertageblockerliste.indexOf(Anfangstempel) === -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'CheckFeiertagBlocker', this.Debug.Typen.Page);\n }\n }\n\n\n FeiertagBlockedChanged(event: { status: boolean; index: number; event: any; value: string }, Anfangstempel: number) {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n\n if (event.status === false) {\n\n this.DB.CurrentUrlaub.Feiertageblockerliste.push(Anfangstempel);\n } else {\n\n this.DB.CurrentUrlaub.Feiertageblockerliste = lodash.filter(this.DB.CurrentUrlaub.Feiertageblockerliste, (stempel: number) => {\n\n return stempel !== Anfangstempel;\n });\n }\n\n Urlaub = lodash.find(this.DB.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.DB.CurrentUrlaub.Jahr});\n\n if (!lodash.isUndefined(Urlaub)) {\n\n Urlaub.Feiertageblockerliste = this.DB.CurrentUrlaub.Feiertageblockerliste;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'FereinBlockedChanged', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.BlockCurrentMitarbeiter = false;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n UrlaubMitarbeiterMeClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Einstellungen Page', 'UrlaubMitarbeiterMeClickedHandler', this.Debug.Typen.Page);\n }\n\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr wechseln';\n this.Auswahlliste = [];\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Einstellungen', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubFreigabenPage } from './common-urlaub-freigaben.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubFreigabenPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n AbstandElementFixedModule,\n ],\n declarations: [CommonUrlaubFreigabenPage]\n})\nexport class CommonUrlaubFreigabenPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {cloneDeep} from \"lodash-es\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {Homeofficezeitspannenstruktur} from \"../../dataclasses/homeofficezeitspannenstruktur\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {Urlaubsvertretungkonversationstruktur} from \"../../dataclasses/urlaubsvertretungkonversationstruktur\";\nimport {environment} from \"../../../environments/environment\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-freigaben-page',\n templateUrl: 'common-urlaub-freigaben.page.html',\n styleUrls: ['common-urlaub-freigaben.page.scss'],\n})\nexport class CommonUrlaubFreigabenPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', {static: false}) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', {static: false}) PageFooter: PageFooterComponent;\n\n\n protected readonly environment = environment;\n\n public Auswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public ShowAuswahl: boolean;\n\n private Auswahldialogorigin: string;\n private DataSubscription: Subscription;\n public ShowMitarbeiterauswahl: boolean;\n public AuswahlIDliste: string[];\n public MitarbeiterauswahlTitel: string;\n public MitarbeiterMultiselect: boolean;\n public Message: string;\n public Flagsource: string;\n public LegendeVisible: boolean;\n public Legendehoehe: number;\n public Legendebreite: number;\n\n constructor(public Loadinganimation: LoadingAnimationService,\n public Basics: BasicsProvider,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n public Const: ConstProvider,\n public DBStandort: DatabaseStandorteService,\n public DBMitarbeiterstettings: DatabaseMitarbeitersettingsService,\n public Auswahlservice: AuswahlDialogService,\n public Debug: DebugProvider) {\n try {\n\n this.Auswahlliste = [{Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.DataSubscription = null;\n this.Auswahldialogorigin = this.Const.NONE;\n this.ShowMitarbeiterauswahl = false;\n this.AuswahlIDliste = [];\n this.MitarbeiterauswahlTitel = '';\n this.MitarbeiterMultiselect = true;\n this.Message = '';\n this.Flagsource = '';\n this.LegendeVisible = false;\n this.Legendehoehe = 0;\n this.Legendebreite = 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Freigaben Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n\n for(let Mitarbeiter of this.DB.Homeofficefreigabenliste) {\n\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, {Jahr: this.DB.CurrentUrlaub.Jahr});\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.Status = this.DB.Homeofficestatusvarianten.Freigabeanfrage;\n }\n }\n\n if(Mitarbeiter._id === this.DB.CurrentMitarbeiter._id && Urlaub.Jahr === this.DB.CurrentUrlaub.Jahr) {\n\n this.DB.CurrentUrlaub = Urlaub;\n }\n\n this.DB.CountAnfragenanzahlen();\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Legendebreite = 400;\n this.Legendehoehe = this.Basics.InnerContenthoehe + 20;\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n\n private async PrepareData() {\n\n try {\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.SetPlanungsmonate();\n this.DB.CountAnfragenanzahlen();\n\n this.DB.UpdateKalenderRequestEvent.emit();\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n GetDatumlangtext(Startstempel: number): string {\n\n try {\n\n return moment(Startstempel).locale('de').format('DD. MMMM YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'GetDatumlangtext', this.Debug.Typen.Page);\n }\n }\n\n UrlaubMitarbeiterMeClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'UrlaubMitarbeiterMeClickedHandler', this.Debug.Typen.Page);\n }\n\n }\n\n MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n\n break;\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Freigaben Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubAnfargen_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null});\n Index++;\n\n for (let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({\n Index: Index,\n FirstColumn: Eintrag.Kuerzel,\n SecoundColumn: Eintrag.Standort,\n Data: Eintrag\n });\n Index++;\n }\n\n if (this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n } else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Freigaben Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubAnfargen_Standort_Filter:\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n this.ShowAuswahl = false;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n this.PrepareData();\n\n break;\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Freigaben Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n\n GetDatum(stempel: number) {\n\n try {\n\n return moment(stempel).format('DD.MM.YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'GetDatum', this.Debug.Typen.Page);\n }\n }\n\n VerteretungStatusChangedHandler(event: any, Zeitspanne: Urlauzeitspannenstruktur, _id: string) {\n\n try {\n\n let Index: number = lodash.findIndex(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.DB.CurrentMitarbeiter._id });\n\n Zeitspanne.Vertretungskonversationliste[Index].Status = event.detail.value;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'VerteretungStatusChangedHandler', this.Debug.Typen.Page);\n }\n }\n\n FreigabeStatusChangedHandler(event: any, Zeitspanne: Urlauzeitspannenstruktur, _id: string) {\n\n try {\n\n Zeitspanne.Status = event.detail.value;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'FreigabeStatusChangedHandler', this.Debug.Typen.Page);\n }\n }\n\n CheckVertretungUpdateButtonEnabled(Mitareiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): boolean {\n\n try {\n\n let Available: boolean = false;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitareiter.StandortID});\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n for (let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.DB.CurrentMitarbeiter._id});\n\n if (!lodash.isUndefined(Konversation)) {\n\n //Zeitspanne.UrlaubsvertreterID === this.DB.CurrentMitarbeiter._id &&\n\n if(Standort.Urlaubfreigabepersonen.length > 0 &&\n Konversation.VertreterantwortSended === false &&\n (Konversation.Status === this.DB.Urlaubstatusvarianten.Vertreterablehnung || Konversation.Status === this.DB.Urlaubstatusvarianten.Vertreterfreigabe)) Available = true;\n }\n }\n\n return Available;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'CheckVertretungUpdateButtonEnabled', this.Debug.Typen.Page);\n }\n }\n\n UrlaubSuchen(Zeitspanne: Urlauzeitspannenstruktur, Mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Datum: Moment = moment(Zeitspanne.Startstempel);\n\n this.DB.CurrentMonatindex = Datum.month();\n this.DB.SetPlanungsmonate();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'UrlaubSuchen', this.Debug.Typen.Page);\n }\n }\n\n CheckFreigabeUpdateButtonEnabled(Mitareiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): boolean {\n\n try {\n\n let Available: boolean = false;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(lodash.isUndefined(Zeitspanne.FreigabeantwortSended)) Zeitspanne.FreigabeantwortSended = false;\n\n if(Zeitspanne.FreigabeantwortSended === false &&\n (Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Genehmigt || Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Abgelehnt)) Available = true;\n }\n\n return Available;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'CheckFreigabeUpdateButtonEnabled', this.Debug.Typen.Page);\n }\n }\n\n async SendVertretungUpdate(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n await this.DB.UpdateVertreterantworten(Mitarbeiter, Urlaub);\n await this.PrepareData();\n\n this.DB.ExterneUrlaubeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'SendVertretungUpdate', this.Debug.Typen.Page);\n }\n }\n\n FerientagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'FerientagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n DisplayExternCheckChanged(event: { status: boolean; index: number; event: any; value: string }, Urlaub: Urlaubsstruktur, i: number) {\n\n try {\n\n let Beteiligt: Urlaubprojektbeteiligtestruktur = lodash.find(this.DB.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: Urlaub.MitarbeiterIDExtern});\n\n if(!lodash.isUndefined(Beteiligt)) Beteiligt.Display = event.status;\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.ExterneUrlaubeChanged.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'DisplayExternCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n DisplayMeinenUrlaubCheckChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Mitarbeitersettings.UrlaubShowMeinenUrlaub = event.status;\n\n this.DBMitarbeiterstettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.DB.ExterneUrlaubeChanged.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'DisplayMeinenUrlaubCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n MonatBackButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex > 0) {\n\n this.DB.CurrentMonatindex--;\n\n this.DB.SetPlanungsmonate();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'MonatBackButtonClicked', this.Debug.Typen.Page);\n }\n\n }\n\n MonatForwardButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex < 11) {\n\n this.DB.CurrentMonatindex++;\n\n this.DB.SetPlanungsmonate();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'MonatForwardButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n\n FeiertagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'FeiertagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n MonatButtonClicked(Monatindex: number) {\n\n try {\n\n this.DB.CurrentMonatindex = Monatindex;\n this.DB.SetPlanungsmonate();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'MonatButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n GetMonatButtonColor(Monatindex: number): string {\n\n try {\n\n if(this.DB.CurrentMonatindex === Monatindex) return 'orange';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'GetMonatButtonColor', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFerientageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_DE = event.status;\n this.DB.ShowFerientage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_BG = event.status;\n this.DB.ShowFerientage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'AnsichtFerientageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFeiertageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_DE = event.status;\n this.DB.ShowFeiertage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_BG = event.status;\n this.DB.ShowFeiertage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'AnsichtFeiertageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n GetStellvertretername(MitarbeieterID: string): string{\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeieterID});\n\n if(lodash.isUndefined(Mitarbeiter)) return 'unbekannt';\n else return Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'GetStellvertretername', this.Debug.Typen.Page);\n }\n }\n\n public async SendFreigabeUpdate(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n await this.DB.UpdateFreigabenantworten(Mitarbeiter, Urlaub);\n await this.PrepareData();\n\n this.DB.ExterneUrlaubeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'SendFreigabeUpdate', this.Debug.Typen.Page);\n }\n }\n\n HomeofficeStatusChanged(event: any, Zeitspanne: Homeofficezeitspannenstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n debugger;\n\n let Status: string = event.detail.value;\n\n Zeitspanne.Status = Status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'HomeofficeStatusChanged', this.Debug.Typen.Page);\n }\n }\n\n HomeofficeGenehmigeAll(Urlaub: Urlaubsstruktur) {\n\n try {\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.Status = this.DB.Homeofficestatusvarianten.Genehmigt;\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'HomeofficeGenehmigeAll', this.Debug.Typen.Page);\n }\n }\n\n HomeofficeAblehnenAll(Urlaub: Urlaubsstruktur) {\n\n try {\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.Status = this.DB.Homeofficestatusvarianten.Abgelehnt;\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'HomeofficeAblehnenAll', this.Debug.Typen.Page);\n }\n }\n\n async SendHomeofficeUpdate(Urlaub: Urlaubsstruktur, Mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n await this.DB.SendHomeofficeFreigabeantworten(Mitarbeiter, Urlaub);\n await this.PrepareData();\n\n\n this.DB.ExterneHomeofficeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'SendHomeofficeUpdate', this.Debug.Typen.Page);\n }\n }\n\n CheckHomeofficeUpdateButtonEnabled(Urlaub: Urlaubsstruktur) {\n\n try {\n\n let Enabled: boolean = false;\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) {\n\n if(Zeitspanne.Status === this.DB.Homeofficestatusvarianten.Abgelehnt || Zeitspanne.Status === this.DB.Homeofficestatusvarianten.Genehmigt) Enabled = true;\n }\n }\n\n return Enabled;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'CheckHomeofficeUpdateButtonEnabled', this.Debug.Typen.Page);\n }\n }\n\n GetPlanungmeldung(Zeitspanne: Urlauzeitspannenstruktur, Mitarbeiter: Mitarbeiterstruktur): string {\n\n try {\n\n let Text: string;\n let Datum: Moment;\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n switch (Zeitspanne.Status) {\n\n case this.DB.Urlaubstatusvarianten.Vertreteranfrage:\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.DB.CurrentMitarbeiter._id});\n\n if(lodash.isUndefined(Konversation)) Datum = moment();\n else Datum = moment(Konversation.Vertretunganfragezeitstempel);\n\n\n Text = 'Vertretungsanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' vom ' + Datum.format('DD.MM.YYYY');\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterablehnung:\n\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.DB.CurrentMitarbeiter._id});\n\n if(lodash.isUndefined(Konversation)) Datum = moment();\n else Datum = moment(Konversation.Vertretungantwortzeitstempel);\n\n Text = 'Vertretungsanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' wurde am ' + Datum.format('DD.MM.YYYY') + ' abgelehnt';\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.DB.CurrentMitarbeiter._id});\n\n if(lodash.isUndefined(Konversation)) Datum = moment();\n else Datum = moment(Konversation.Vertretungantwortzeitstempel);\n\n Text = 'Vertretungsanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' wurde am ' + Datum.format('DD.MM.YYYY') + ' zugestimmt.';\n\n break;\n }\n\n return Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetPlanungmeldung', this.Debug.Typen.Page);\n }\n }\n\n CheckHasAnfragen(Urlaub: Urlaubsstruktur): boolean {\n\n try {\n\n let HasAnfragen: boolean = false;\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.FreigabeantwortSended === false) HasAnfragen = true;\n }\n\n return HasAnfragen;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'CheckHasAnfragen', this.Debug.Typen.Page);\n }\n }\n\n HomeofficeSuchen(Zeitspanne: Homeofficezeitspannenstruktur) {\n\n try {\n\n let Datum: Moment = moment(Zeitspanne.Startstempel);\n\n this.DB.CurrentMonatindex = Datum.month();\n this.DB.SetPlanungsmonate();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'HomeofficeSuchen', this.Debug.Typen.Page);\n }\n }\n\n ExternUrlaubstagClickedEventHandler(mitarbeiterid: string) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, { _id: mitarbeiterid });\n\n if(lodash.isUndefined(Mitarbeiter) === false) {\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'ExternUrlaubstagClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n\n ShowHomeofficeChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Mitarbeitersettings.ShowHomeoffice = event.status;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.DB.UpdateKalenderRequestEvent.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'ShowHomeofficeChanged', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr wechseln';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n this.Auswahlliste = [];\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaub Freigaben Page', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubGesamtuebersichtPage } from './common-urlaub-gesamtuebersicht.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubGesamtuebersichtPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n ],\n declarations: [CommonUrlaubGesamtuebersichtPage]\n})\nexport class CommonUrlaubsgesamtuebersichtPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {cloneDeep} from \"lodash-es\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {Kalendertagestruktur} from \"../../dataclasses/kalendertagestruktur\";\nimport {Kalenderwochestruktur} from \"../../dataclasses/kalenderwochestruktur\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-gesamtuebersicht-page',\n templateUrl: 'common-urlaub-gesamtuebersicht.page.html',\n styleUrls: ['common-urlaub-gesamtuebersicht.page.scss'],\n})\nexport class CommonUrlaubGesamtuebersichtPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n public Ansichtenvarinaten = {\n\n Gesamtjahr: 'Gesamtjahr',\n HalbjahrEins: 'HalbjahrEins',\n HalbjahrZwei: 'HalbjahrZwei'\n };\n\n public Ansichtvariante: string;\n\n public Message: string;\n private Auswahldialogorigin: string;\n private DataSubscription: Subscription;\n public AuswahlIDliste: string[];\n public ShowMitarbeiterauswahl: boolean;\n public LegendeVisible: boolean;\n public Legendehoehe: number;\n public Legendebreite: number;\n public Flagsource: string;\n public Standortliste: Standortestruktur[];\n public Mitrbeiterliste: Mitarbeiterstruktur[][];\n public Kalendertageliste: Kalendertagestruktur[];\n public Kalenderwochenliste: Kalenderwochestruktur[];\n public Monatname: string;\n public Tagesumme: number;\n public Auswahlindex: number;\n public Auswahltitel: string;\n public Auswahlliste: Auswahldialogstruktur[];\n public ShowAuswahl: boolean;\n public MitarbeiterauswahlTitel: string;\n public Headerhoehe: number;\n public Contenthoehe: number;\n\n constructor(public Loadinganimation: LoadingAnimationService,\n public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n public Const: ConstProvider,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public DBStandort: DatabaseStandorteService,\n public Auswahlservice: AuswahlDialogService,\n public Debug: DebugProvider) {\n try {\n\n this.DataSubscription = null;\n this.Message = '';\n this.MitarbeiterauswahlTitel = '';\n this.Auswahldialogorigin = this.Const.NONE;\n this.AuswahlIDliste = [];\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.ShowMitarbeiterauswahl = false;\n this.LegendeVisible = false;\n this.Legendehoehe = 0;\n this.Legendebreite = 0;\n this.Flagsource = '';\n this.Ansichtvariante = this.Ansichtenvarinaten.Gesamtjahr;\n this.Standortliste = [];\n this.Mitrbeiterliste = [];\n this.Kalendertageliste = [];\n this.Kalenderwochenliste = [];\n this.Mitrbeiterliste = [];\n this.Headerhoehe = 0;\n this.Contenthoehe = 0;\n this.Tagesumme = 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubPlanung_Standort_Filter:\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.ShowAuswahl = false;\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n this.ShowAuswahl = false;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n this.PrepareData();\n\n break;\n\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n\n MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n debugger;\n\n this.PrepareData();\n\n this.DB.PlanungsmonateChanged.emit();\n\n break;\n\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubPlanung_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null });\n Index++;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Standort, Data: Eintrag });\n Index++;\n }\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n }\n else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n\n ngOnInit(): void {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Monat: number = Heute.month() + 1;\n\n if(Monat <= 6) this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrEins;\n else this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrZwei;\n\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n private async PrepareData() {\n\n try {\n\n let Tageanzahl: number;\n let Tagindex: number;\n let Tage: number;\n let Monattext: any = this.DB.CurrentMonatindex + 1;\n let Tag: Kalendertagestruktur;\n let Startdatum: Moment;\n let Standort: Standortestruktur;\n let NextStandort: Standortestruktur;\n let Datum: Moment;\n let CurrentKW: Kalenderwochestruktur;\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.CountAnfragenanzahlen();\n\n this.Monatname = this.DB.Monateliste[this.DB.CurrentMonatindex];\n\n if(Monattext < 10 ) Monattext = '0' + Monattext.toString();\n else Monattext = Monattext.toString();\n\n Tageanzahl = moment(this.DB.CurrentJahr.toString() + '-' + Monattext , \"YYYY-MM\").daysInMonth(); // 31\n this.Tagesumme = Tageanzahl;\n\n let MonatStartdatum: Moment = moment().set({date: 1, month: this.DB.CurrentMonatindex, year: this.DB.CurrentJahr, hour: 8, minute: 0}).locale('de');\n let MonatEndedatum: Moment = moment().set({date: Tageanzahl, month: this.DB.CurrentMonatindex, year: this.DB.CurrentJahr, hour: 8, minute: 0}).locale('de');\n\n Tagindex = MonatStartdatum.isoWeekday();\n Tage = Tagindex - 1;\n this.Tagesumme = this.Tagesumme + Tage;\n\n Startdatum = MonatStartdatum.clone().subtract(Tage, 'day');\n Datum = Startdatum.clone();\n Tagindex = MonatEndedatum.isoWeekday();\n Tage = 7 - Tagindex;\n this.Tagesumme = this.Tagesumme + Tage;\n\n CurrentKW = {\n\n Nummer: Datum.isoWeek(),\n Tageanzahl: 0\n };\n\n this.Kalendertageliste = [];\n this.Kalenderwochenliste = [];\n\n for(let i = 0; i < this.Tagesumme; i++) {\n\n Tag = {\n\n Tagnummer: Datum.date(),\n Tag: Datum.format('dd'),\n Datumstring: Datum.format('DD.MM.YYYY'),\n Hauptmonat: Datum.isSameOrAfter(MonatStartdatum, 'day') && Datum.isSameOrBefore(MonatEndedatum, 'day'),\n Kalenderwoche: Datum.isoWeek(),\n Tagstempel: Datum.valueOf(),\n Datum: Datum,\n };\n\n this.Kalendertageliste.push(Tag);\n\n if(Tag.Kalenderwoche === CurrentKW.Nummer) CurrentKW.Tageanzahl++;\n else {\n\n this.Kalenderwochenliste.push(CurrentKW);\n\n CurrentKW = {\n\n Nummer: Tag.Kalenderwoche,\n Tageanzahl: 1\n };\n }\n\n Datum.add(1, 'day');\n }\n\n if(this.Kalenderwochenliste[this.Kalenderwochenliste.length - 1].Nummer != CurrentKW.Nummer) {\n\n this.Kalenderwochenliste.push(CurrentKW);\n };\n\n this.Standortliste = [];\n this.Mitrbeiterliste = [];\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter.ShowInGesamtuebersicht && Mitarbeiter.Archiviert === false) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n if(!lodash.isUndefined(Standort)) {\n\n NextStandort = lodash.find(this.Standortliste, (standort: Standortestruktur) => {\n\n return Standort._id === standort._id;\n });\n\n if(lodash.isUndefined(NextStandort)) {\n\n this.Standortliste.push(Standort);\n\n this.Mitrbeiterliste[Standort._id] = [];\n this.Mitrbeiterliste[Standort._id].push(Mitarbeiter);\n }\n else {\n\n this.Mitrbeiterliste[Standort._id].push(Mitarbeiter);\n }\n }\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Legendebreite = 320;\n this.Legendehoehe = this.Basics.InnerContenthoehe;\n\n\n this.Headerhoehe = 160;\n this.Contenthoehe = this.Basics.InnerContenthoehe - this.Headerhoehe;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n StandortCheckChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: event.value});\n\n Standort.ShowInGesamtuebersicht = event.status;\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter.StandortID === Standort._id) {\n\n Mitarbeiter.ShowInGesamtuebersicht = event.status;\n }\n }\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'StandortCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterCheckChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, {_id: event.value});\n\n Mitarbeiter.ShowInGesamtuebersicht = event.status;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MitarbeiterCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n MonatBackButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex > 0) {\n\n this.DB.CurrentMonatindex--;\n\n this.PrepareData();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MonatBackButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n GetMonatButtonColor(Monatindex: number): string {\n\n try {\n\n if(this.DB.CurrentMonatindex === Monatindex) return 'orange';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'GetMonatButtonColor', this.Debug.Typen.Page);\n }\n }\n\n MonatForwardButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex < 11) {\n\n this.DB.CurrentMonatindex++;\n\n this.PrepareData();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MonatForwardButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MonatButtonClicked(Monatindex: number) {\n\n try {\n\n this.DB.CurrentMonatindex = Monatindex;\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MonatButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n SettingsCheckedChanged(event: {status: boolean; index: number; event: any; value: string}) {\n\n try {\n\n switch (event.value) {\n\n case this.DB.Urlaubstatusvarianten.Geplant:\n\n this.DB.GesamtuebersichtSetting.ShowGeplant = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreteranfrage:\n\n this.DB.GesamtuebersichtSetting.ShowVertreteranfragen = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n this.DB.GesamtuebersichtSetting.ShowVertreterfreigaben = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterablehnung:\n\n this.DB.GesamtuebersichtSetting.ShowVertreterablehnungen = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Genehmigt:\n\n this.DB.GesamtuebersichtSetting.ShowUrlaubsgenehmigungen = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Abgelehnt:\n\n this.DB.GesamtuebersichtSetting.ShowUrlaubsablehnungen = event.status;\n\n break;\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'SettingsCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n SettingsHomeofficeCheckedChanged(event: {status: boolean; index: number; event: any; value: string}) {\n\n try {\n\n switch (event.value) {\n\n case this.DB.Homeofficestatusvarianten.Geplant:\n\n this.DB.GesamtuebersichtSetting.ShowHomeofficeGeplant = event.status;\n\n break;\n\n case this.DB.Homeofficestatusvarianten.Freigabeanfrage:\n\n this.DB.GesamtuebersichtSetting.ShowHomeofficeAnfrage = event.status;\n\n break;\n\n case this.DB.Homeofficestatusvarianten.Genehmigt:\n\n this.DB.GesamtuebersichtSetting.ShowHomeofficeGenehmigt = event.status;\n\n break;\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'SettingsHomeofficeCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n UrlaubMitarbeiterMeClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'UrlaubMitarbeiterMeClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr wechseln';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n this.Auswahlliste = [];\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubPlanungPage } from './common-urlaub-planung.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubPlanungPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n ],\n declarations: [CommonUrlaubPlanungPage]\n})\nexport class CommonUrlaubsplanungPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {backspace, languageSharp} from \"ionicons/icons\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {cloneDeep} from \"lodash-es\";\nimport {Homeofficezeitspannenstruktur} from \"../../dataclasses/homeofficezeitspannenstruktur\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {Urlaubsvertretungkonversationstruktur} from \"../../dataclasses/urlaubsvertretungkonversationstruktur\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-planung-page',\n templateUrl: 'common-urlaub-planung.page.html',\n styleUrls: ['common-urlaub-planung.page.scss'],\n})\nexport class CommonUrlaubPlanungPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n public Monateliste_Uebersicht: string[][];\n public Monateliste_Mounseover: boolean[];\n public Auswahlliste: Auswahldialogstruktur[];\n public BundeslandAuswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public ShowAuswahl: boolean;\n public Auswahlhoehe: number;\n\n public Message: string;\n public ShowMitarbeitereditor: boolean;\n public AddUrlaubRunning: boolean;\n public AddHalberUrlaubstagRunning: boolean;\n public AddHomeofficeRunning: boolean;\n private Auswahldialogorigin: string;\n private DataSubscription: Subscription;\n public ShowMitarbeiterauswahl: boolean;\n public AuswahlIDliste: string[];\n public MitarbeiterauswahlTitel: string;\n public LegendeVisible: boolean;\n public Legendehoehe: number;\n public Legendebreite: number;\n public Flagsource: string;\n public MitarbeiterMultiselect: boolean;\n\n constructor(public Loadinganimation: LoadingAnimationService,\n public Basics: BasicsProvider,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n public Const: ConstProvider,\n public DBStandort: DatabaseStandorteService,\n public Auswahlservice: AuswahlDialogService,\n public Tools: ToolsProvider,\n public Debug: DebugProvider) {\n try {\n\n this.Monateliste_Uebersicht = [];\n this.Monateliste_Uebersicht.push(['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni']);\n this.Monateliste_Uebersicht.push(['Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']);\n\n this.Monateliste_Mounseover = [false, false, false, false, false, false, false, false, false, false, false, false ];\n\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.DataSubscription = null;\n this.Message = '';\n this.ShowMitarbeitereditor = false;\n this.Auswahldialogorigin = this.Const.NONE;\n this.AddUrlaubRunning = false;\n this.AddHomeofficeRunning = false;\n this.ShowMitarbeiterauswahl = false;\n this.AuswahlIDliste = [];\n this.MitarbeiterauswahlTitel = 'Mitarbeiter wechseln';\n this.LegendeVisible = false;\n this.Legendehoehe = 0;\n this.Legendebreite = 0;\n this.Flagsource = '';\n this.AddHalberUrlaubstagRunning = false;\n this.MitarbeiterMultiselect = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Legendebreite = 400;\n this.Legendehoehe = this.Basics.InnerContenthoehe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaub Einstellungen Page', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n let Zeitspanne: Urlauzeitspannenstruktur;\n let Urlaubindex: number;\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsliste_Bundesland:\n\n this.DB.Bundeslandkuerzel = data;\n\n let landcode = this.DB.Bundeslandkuerzel.substring(0, 2);\n\n this.DB.ReadFeiertage(landcode).then(() => {\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Status_Aendern:\n\n if(data !== null && data !== this.DB.CurrentUrlaubzeitspanne.Status) {\n\n Zeitspanne = lodash.find(this.DB.CurrentUrlaub.Urlaubzeitspannen, { ZeitspannenID: this.DB.CurrentUrlaubzeitspanne.ZeitspannenID });\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.DB.CurrentMitarbeiter._id });\n\n\n\n switch (data) {\n\n case this.DB.Urlaubstatusvarianten.Geplant:\n\n Zeitspanne.Status = data;\n\n Zeitspanne.FreigabeanfrageSended = false;\n Zeitspanne.FreigabeantwortSended = false;\n Zeitspanne.FreigabeantwortOfficeSended = false;\n Zeitspanne.Freigabeantwortzeitstempel = null;\n Zeitspanne.FreigabeantwortOfficezeitstempel = null;\n\n if(lodash.isUndefined(Konversation) === false) {\n\n Konversation.VertreteranfrageSended = false;\n Konversation.VertreterantwortSended = false;\n Konversation.Vertretunganfragezeitstempel = null;\n Konversation.Vertretungantwortzeitstempel = null;\n Konversation.Vertretungantwortzeitstempel = null;\n }\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreteranfrage:\n\n if(Zeitspanne.UrlaubsvertreterIDListe.length > 0) {\n\n Zeitspanne.Status = data;\n\n this.DB.UpdateVertreteranfragen();\n }\n else {\n\n Zeitspanne.Status = this.DB.Urlaubstatusvarianten.Geplant;\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n }\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n\n\n\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterablehnung:\n\n Zeitspanne.Status = data;\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Abgelehnt:\n\n Zeitspanne.Status = data;\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Genehmigt:\n\n Zeitspanne.Status = data;\n\n this.DB.CurrentUrlaub = await this.DB.SendOfficeFreigabezusage(this.DB.CurrentMitarbeiter, this.Pool.Mitarbeiterdaten, this.DB.CurrentUrlaub);\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.ShowAuswahl = false;\n });\n\n break;\n }\n }\n\n\n\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubPlanung_Standort_Filter:\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n this.ShowAuswahl = false;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n this.PrepareData();\n\n break;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n private async PrepareData() {\n\n try {\n\n let Index: number = 0;\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.SetPlanungsmonate();\n this.DB.CountAnfragenanzahlen();\n\n this.DB.UpdateKalenderRequestEvent.emit();\n\n this.BundeslandAuswahlliste = [];\n\n for(let Region of this.DB.Regionenliste) {\n\n this.BundeslandAuswahlliste.push({ Index: Index, FirstColumn: Region.Name, SecoundColumn: Region.isoCode, Data: Region.isoCode });\n\n Index++;\n }\n\n this.DB.Bundesland = lodash.find(this.BundeslandAuswahlliste, {Data: this.DB.Bundeslandkuerzel}).FirstColumn;\n\n let test = this.DB.CurrentUrlaub.Urlaubzeitspannen;\n\n debugger;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n FeiertagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'FeiertagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n FerientagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'FerientagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n GetDatum(Anfangstempel: number) {\n\n return moment(Anfangstempel).format('DD.MM.YYYY');\n }\n\n AnsichtFerientageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_DE = event.status;\n this.DB.ShowFerientage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_BG = event.status;\n this.DB.ShowFerientage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AnsichtFerientageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFeiertageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_DE = event.status;\n this.DB.ShowFeiertage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_BG = event.status;\n this.DB.ShowFeiertage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AnsichtFeiertageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n\n GetMonatButtonColor(Monatindex: number): string {\n\n try {\n\n if(this.DB.CurrentMonatindex === Monatindex) return 'orange';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetMonatButtonColor', this.Debug.Typen.Page);\n }\n }\n\n MonatButtonClicked(Monatindex: number) {\n\n try {\n\n this.DB.CurrentMonatindex = Monatindex;\n this.DB.SetPlanungsmonate();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MonatButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MonatBackButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex > 0) {\n\n this.DB.CurrentMonatindex--;\n\n this.DB.SetPlanungsmonate();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MonatBackButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MonatForwardButtonClicked() {\n\n try {\n\n if(this.DB.CurrentMonatindex < 11) {\n\n this.DB.CurrentMonatindex++;\n\n this.DB.SetPlanungsmonate();\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MonatForwardButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AddUrlaub() {\n\n try {\n\n this.DB.CurrentUrlaubzeitspanne = null;\n this.AddUrlaubRunning = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddUrlaub', this.Debug.Typen.Page);\n }\n }\n\n AddHalbenUrlaubstag() {\n\n try {\n\n this.DB.CurrentUrlaubzeitspanne = null;\n this.AddHalberUrlaubstagRunning = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddHalbenUrlaubstag', this.Debug.Typen.Page);\n }\n }\n\n AddHomeofficeStart() {\n\n try {\n\n this.DB.CurrentHomeofficezeitspanne = null;\n this.AddHomeofficeRunning = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddHomeofficeStart', this.Debug.Typen.Page);\n }\n }\n\n AddUrlaubFinishedHandler() {\n\n try {\n\n this.AddUrlaubRunning = false;\n this.AddHalberUrlaubstagRunning = false;\n\n if(this.DB.CurrentUrlaubzeitspanne !== null) {\n\n this.DB.CurrentUrlaub.Urlaubzeitspannen.push(this.DB.CurrentUrlaubzeitspanne);\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n });\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddUrlaubFinishedHandler', this.Debug.Typen.Page);\n }\n }\n\n UrlaubLoeschen(Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n\n let Zeitspannen = lodash.filter(this.DB.CurrentUrlaub.Urlaubzeitspannen, (eintrag: Urlauzeitspannenstruktur) => {\n\n return eintrag.ZeitspannenID !== Zeitspanne.ZeitspannenID;\n });\n\n this.DB.CurrentUrlaub = lodash.find(this.DB.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.DB.CurrentJahr});\n this.DB.CurrentUrlaub.Urlaubzeitspannen = Zeitspannen;\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.PlanungsmonateChanged.emit();\n });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'UrlaubLoeschen', this.Debug.Typen.Page);\n }\n }\n\n\n AnsichtCheckChanged(event: { status: boolean; index: number; event: any; value: string }, origin: string) {\n\n try {\n\n switch (origin) {\n\n case this.DB.Urlaubstatusvarianten.Geplant:\n\n this.Pool.Mitarbeitersettings.UrlaubShowBeantragt = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n this.Pool.Mitarbeitersettings.UrlaubShowVertreterfreigabe = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Genehmigt:\n\n this.Pool.Mitarbeitersettings.UrlaubShowGenehmigt = event.status;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Abgelehnt:\n\n this.Pool.Mitarbeitersettings.UrlaubShowAbgelehnt = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AnsichtCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n UrlaubSuchen(Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n let Datum: Moment = moment(Zeitspanne.Startstempel);\n\n this.DB.CurrentMonatindex = Datum.month();\n this.DB.SetPlanungsmonate();\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'UrlaubSuchen', this.Debug.Typen.Page);\n }\n }\n\n GetDatumlangtext(Startstempel: number): string {\n\n try {\n\n return moment(Startstempel).locale('de').format('DD. MMMM YYYY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetDatumlangtext', this.Debug.Typen.Page);\n }\n }\n\n async MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let Zeitspanne: Urlauzeitspannenstruktur;\n let Urlaubindex: number;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n\n this.DB.PlanungsmonateChanged.emit();\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Vertreter_Festlegen:\n\n Zeitspanne = lodash.find(this.DB.CurrentUrlaub.Urlaubzeitspannen, {ZeitspannenID: this.DB.CurrentUrlaubzeitspanne.ZeitspannenID});\n\n Zeitspanne.UrlaubsvertreterIDListe = idliste;\n Zeitspanne.Status = this.DB.Urlaubstatusvarianten.Geplant;\n Zeitspanne.FreigabeantwortSended = false;\n Zeitspanne.FreigabeanfrageSended = false;\n\n this.DB.InitVertreterkonversationen(Zeitspanne, true);\n\n Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.CurrentUrlaubzeitspanne.UrlaubsvertreterIDListe = idliste;\n });\n\n break;\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubPlanung_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null });\n Index++;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Standort, Data: Eintrag });\n Index++;\n }\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n }\n else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.MitarbeiterMultiselect = false;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n StellvertreterFestlegenClicked(Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n // let Mitarbeiter: Mitarbeiterstruktur;\n // let Index: number;\n\n this.DB.CurrentUrlaubzeitspanne = Zeitspanne;\n this.MitarbeiterauswahlTitel = 'Vertretungen festlegen';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Vertreter_Festlegen;\n this.ShowMitarbeiterauswahl = true;\n this.MitarbeiterMultiselect = true;\n this.AuswahlIDliste = this.DB.CurrentUrlaubzeitspanne.UrlaubsvertreterIDListe;\n\n /*\n Index = 0;\n\n this.Auswahlliste = [];\n\n for(let Eintrag of this.DB.CurrentUrlaub.Projektbeteiligteliste) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: Eintrag.MitarbeiterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name, SecoundColumn: '', Data: Mitarbeiter._id });\n\n Index++;\n }\n }\n\n\n\n this.Auswahltitel = 'Stellvertreter/in festlegen';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Vertreter_Festlegen;\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.DB.CurrentUrlaubzeitspanne, {MitarbeiterID: Zeitspanne.UrlaubsvertreterID});\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'StellvertreterFestlegenClicked', this.Debug.Typen.Page);\n }\n }\n\n GetStellvertretername(MitarbeieterID: string): string{\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeieterID});\n\n if(lodash.isUndefined(Mitarbeiter)) return 'unbekannt';\n else return Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetStellvertretername', this.Debug.Typen.Page);\n }\n }\n\n DisplayExternCheckChanged(event: { status: boolean; index: number; event: any; value: string }, Urlaub: Urlaubsstruktur, i: number) {\n\n try {\n\n let Beteiligt: Urlaubprojektbeteiligtestruktur = lodash.find(this.DB.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: Urlaub.MitarbeiterIDExtern});\n\n if(!lodash.isUndefined(Beteiligt)) Beteiligt.Display = event.status;\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.ExterneUrlaubeChanged.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'DisplayExternCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n\n CheckUrlaubUpdatesAvailable(): boolean {\n\n try {\n\n let Available: boolean = false;\n\n if(this.DB.CurrentUrlaub !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Geplant && Zeitspanne.UrlaubsvertreterIDListe.length > 0) Available = true;\n if(Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Geplant && Zeitspanne.Betriebsurlaub === true) Available = true;\n }\n }\n\n return Available;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CheckUrlaubUpdatesAvailable', this.Debug.Typen.Page);\n }\n }\n\n CheckHomeofficeUpdatesAvailable(): boolean {\n\n try {\n\n let Available: boolean = false;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: this.DB.CurrentMitarbeiter.StandortID});\n\n if(this.DB.CurrentUrlaub !== null) {\n\n for(let Zeitspanne of this.DB.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Geplant && Standort.Homeofficefreigabepersonen.length > 0) Available = true;\n }\n }\n\n return Available;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CheckHomeofficeUpdatesAvailable', this.Debug.Typen.Page);\n }\n }\n\n CheckUrlaubLoschenEnabled(Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n if(this.Pool.Mitarbeiterdaten !== null && this.Pool.Mitarbeiterdaten.Urlaubsfreigaben === true) {\n\n return true;\n }\n else {\n\n return Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Geplant ||\n Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Abgelehnt || Zeitspanne.Status === this.DB.Urlaubstatusvarianten.Vertreterablehnung;\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CheckUrlaubLoschenEnabled', this.Debug.Typen.Page);\n }\n }\n\n CheckHomeofficeLoschenEnabled(Satus: string): boolean {\n\n try {\n\n let Enabled: boolean = false;\n\n let Liste: Homeofficezeitspannenstruktur[] = lodash.filter(this.DB.CurrentUrlaub.Homeofficezeitspannen, {Status: Satus});\n\n for(let Eintrag of Liste) {\n\n if(Eintrag.Checked) {\n\n Enabled = true;\n\n break;\n }\n }\n\n return Enabled;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CheckHomeofficeLoschenEnabled', this.Debug.Typen.Page);\n }\n }\n\n\n\n CancelDatumClicked() {\n\n try {\n\n this.AddUrlaubRunning = false;\n this.AddHalberUrlaubstagRunning = false;\n this.DB.CurrentUrlaubzeitspanne = null;\n\n this.DB.AddUrlaubCancelEvent.emit(); // Kalenderkomponente den Abbruch mitteilen\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'CancelDatumClicked', this.Debug.Typen.Page);\n }\n }\n\n StatusClickedHandler(Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n let Index: number = 0;\n\n if(this.Pool.Mitarbeiterdaten !== null && (this.Pool.Mitarbeiterdaten.Planeradministrator === true || this.Pool.Mitarbeiterdaten.Urlaubsfreigaben === true)) {\n\n this.Auswahltitel = 'Status ändern';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Status_Aendern;\n this.DB.CurrentUrlaubzeitspanne = Zeitspanne;\n\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Geplant, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Geplant });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Vertreteranfrage, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Vertreteranfrage });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Vertreterablehnung, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Vertreterablehnung });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Vertreterfreigabe, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Vertreterfreigabe });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Abgelehnt, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Abgelehnt });\n this.Auswahlliste.push({ Index: Index++, FirstColumn: this.DB.Urlaubstatusvarianten.Genehmigt, SecoundColumn: '', Data: this.DB.Urlaubstatusvarianten.Genehmigt });\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data: Zeitspanne.Status});\n\n }\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'StatusClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n AddHomeofficeFinishedHandler() {\n\n try {\n\n if(this.DB.CurrentHomeofficezeitspanne !== null) {\n\n this.DB.CurrentUrlaub.Homeofficezeitspannen.push(this.DB.CurrentHomeofficezeitspanne);\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'AddHomeofficeFinishedHandler', this.Debug.Typen.Page);\n }\n }\n\n SaveHomeofficeEventHandler() {\n\n try {\n\n this.AddHomeofficeRunning = false;\n this.DB.CurrentHomeofficezeitspanne = null;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'SaveHomeofficeEventHandler', this.Debug.Typen.Page);\n }\n }\n\n\n ZeitspanneCheckChanged(event: { status: boolean; index: number; event: any; value: string }, Zeitspanne: Homeofficezeitspannenstruktur) {\n\n try {\n\n Zeitspanne.Checked = event.status;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'ZeitspanneCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n BetriebsurlaubCheckedChanged(event: { status: boolean; index: number; event: any; value: string }, Zeitspanne: Urlauzeitspannenstruktur) {\n\n try {\n\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let CurrentZeitspanne: Urlauzeitspannenstruktur = lodash.find(this.DB.CurrentUrlaub.Urlaubzeitspannen, (eintrag: Urlauzeitspannenstruktur) => {\n\n return eintrag.ZeitspannenID === Zeitspanne.ZeitspannenID;\n });\n\n Konversation = lodash.find(CurrentZeitspanne.Vertretungskonversationliste, { VertreterID: this.DB.CurrentMitarbeiter._id });\n\n CurrentZeitspanne.Betriebsurlaub = event.status;\n\n if(CurrentZeitspanne.Betriebsurlaub === false) {\n\n Konversation.VertreteranfrageSended = false;\n Konversation.VertreterantwortSended = false;\n CurrentZeitspanne.Status = this.DB.Urlaubstatusvarianten.Geplant;\n CurrentZeitspanne.Planungmeldung = '';\n }\n else {\n\n Konversation.VertreteranfrageSended = true;\n Konversation.VertreterantwortSended = true ;\n CurrentZeitspanne.Status = this.DB.Urlaubstatusvarianten.Geplant;\n CurrentZeitspanne.Planungmeldung = 'keine Urlaubsvertretung notwendig :-)';\n }\n\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.PlanungsmonateChanged.emit();\n });\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'BetriebsurlaubCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n GetPlanungmeldung(Zeitspanne: Urlauzeitspannenstruktur): string {\n\n try {\n\n let Text: string = '';\n let Index: number = 0;\n\n switch (Zeitspanne.Status) {\n\n case this.DB.Urlaubstatusvarianten.Geplant:\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreteranfrage:\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreteranfrageSended === true) {\n\n Text += Konversation.Vertretungmeldung;\n\n if(Index < Zeitspanne.Vertretungskonversationliste.length) Text += '
';\n }\n }\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Text += Zeitspanne.Planungmeldung;\n\n break;\n\n case this.DB.Urlaubstatusvarianten.Vertreterablehnung:\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreterantwortSended === true) {\n\n Text += Konversation.Vertretungmeldung;\n\n if(Index < Zeitspanne.Vertretungskonversationliste.length) Text += '
';\n }\n }\n\n break;\n\n\n case this.DB.Urlaubstatusvarianten.Genehmigt:\n\n Text += Zeitspanne.Planungmeldung;\n\n break;\n }\n\n return Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'GetPlanungmeldung', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterMeWechselnClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'MitarbeiterMeWechselnClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n ExternUrlaubstagClickedEventHandler(mitarbeiterid: string) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, { _id: mitarbeiterid });\n\n if(lodash.isUndefined(Mitarbeiter) === false) {\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n this.PrepareData();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'ExternUrlaubstagClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n ShowHomeofficeChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.Pool.Mitarbeitersettings.ShowHomeoffice = event.status;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.DB.UpdateKalenderRequestEvent.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'ShowHomeofficeChanged', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr ändern';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n this.Auswahlliste = [];\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsplanung Page', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonUrlaubUebersichtPage } from './common-urlaub-uebersicht.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {UrlausplanungKalenderModule} from \"../../components/pj-urlaubsplanung-kalender/urlausplanung-kalender.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {FiMitarbeiterAuswahlModule} from \"../../components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonUrlaubUebersichtPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n UrlausplanungKalenderModule,\n ButtonValueModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n FiMitarbeiterEditorModule,\n FiMitarbeiterAuswahlModule,\n ],\n declarations: [CommonUrlaubUebersichtPage]\n})\nexport class CommonUrlaubsuebersichtPageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MenueService} from \"../../services/menue/menue.service\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport moment, {Moment} from \"moment/moment\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {cloneDeep} from \"lodash-es\";\nimport {\n DatabaseMitarbeitersettingsService\n} from \"../../services/database-mitarbeitersettings/database-mitarbeitersettings.service\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {LoadingAnimationService} from \"../../services/loadinganimation/loadinganimation\";\n\n@Component({\n selector: 'common-urlaub-uebersicht-page',\n templateUrl: 'common-urlaub-uebersicht.page.html',\n styleUrls: ['common-urlaub-uebersicht.page.scss'],\n})\nexport class CommonUrlaubUebersichtPage implements OnInit, OnDestroy {\n\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n public Ansichtenvarinaten = {\n\n Gesamtjahr: 'Gesamtjahr',\n HalbjahrEins: 'HalbjahrEins',\n HalbjahrZwei: 'HalbjahrZwei'\n };\n\n public Monateliste_Gesamtjahr: string[][];\n public Auswahlliste: Auswahldialogstruktur[];\n public BundeslandAuswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public ShowAuswahl: boolean;\n public Auswahlhoehe: number;\n public Ansichtvariante: string;\n\n public Message: string;\n public ShowMitarbeitereditor: boolean;\n public AddUrlaubRunning: boolean;\n private Auswahldialogorigin: string;\n private DataSubscription: Subscription;\n public AuswahlIDliste: string[];\n public MitarbeiterauswahlTitel: string;\n public ShowMitarbeiterauswahl: boolean;\n public LegendeVisible: boolean;\n public Legendehoehe: number;\n public Legendebreite: number;\n public Flagsource: string;\n public Monateliste_HalbjahrEins: string[];\n public Monateliste_HalbjahrZwei: string[];\n\n constructor(public Loadinganimation: LoadingAnimationService,\n public Basics: BasicsProvider,\n public Pool: DatabasePoolService,\n public DB: DatabaseUrlaubService,\n public Const: ConstProvider,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n private DBMitarbeitersettings: DatabaseMitarbeitersettingsService,\n public DBStandort: DatabaseStandorteService,\n public Auswahlservice: AuswahlDialogService,\n public Debug: DebugProvider) {\n try {\n\n this.Monateliste_Gesamtjahr = [];\n this.Monateliste_Gesamtjahr.push(['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni']);\n this.Monateliste_Gesamtjahr.push(['Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']);\n\n this.Monateliste_HalbjahrEins = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni'];\n this.Monateliste_HalbjahrZwei = ['Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];\n\n this.Auswahlliste = [{ Index: 0, FirstColumn: '', SecoundColumn: '', Data: null}];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.DataSubscription = null;\n this.Message = '';\n this.ShowMitarbeitereditor = false;\n this.Auswahldialogorigin = this.Const.NONE;\n this.AddUrlaubRunning = false;\n this.AuswahlIDliste = [];\n this.MitarbeiterauswahlTitel = '';\n this.ShowMitarbeiterauswahl = false;\n this.LegendeVisible = false;\n this.Legendehoehe = 0;\n this.Legendebreite = 0;\n this.Flagsource = '';\n this.Ansichtvariante = this.Ansichtenvarinaten.Gesamtjahr;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n MitarbeiterWechselnClicked() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln;\n this.ShowMitarbeiterauswahl = true;\n this.AuswahlIDliste = [];\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'MitarbeiterWechselnClicked', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.DataSubscription.unsubscribe();\n this.DataSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Legendebreite = 400;\n this.Legendehoehe = this.Basics.InnerContenthoehe;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Monat: number = Heute.month() + 1;\n\n if(Monat <= 6) this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrEins;\n else this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrZwei;\n\n this.DataSubscription = this.Pool.LoadingAllDataFinished.subscribe(() => {\n\n this.PrepareData();\n });\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n\n MitarbeiterauswahlOkButtonClicked(idliste: string[]) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Mitarbeiter_Wechseln:\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: idliste[0]});\n\n this.DB.CurrentMitarbeiter = Mitarbeiter;\n\n\n this.PrepareData();\n\n break;\n\n }\n\n this.ShowMitarbeiterauswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsplanung Page', 'MitarbeiterauswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsliste_Bundesland:\n\n this.DB.Bundeslandkuerzel = data;\n\n let landcode = this.DB.Bundeslandkuerzel.substring(0, 2);\n\n this.DB.ReadFeiertage(landcode);\n\n debugger;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.UrlaubUebersicht_Standort_Filter:\n\n\n this.DBStandort.CurrentStandortfilter = cloneDeep(data);\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n\n this.DBMitarbeitersettings.UpdateMitarbeitersettings(this.Pool.Mitarbeitersettings, null).then(() => {\n\n this.ShowAuswahl = false;\n\n this.DBStandort.StandortfilterChanged.emit();\n });\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern:\n\n this.DB.CurrentJahr = data;\n\n await this.Loadinganimation.ShowLoadingAnimation('Hinweis', 'Daten werden geladen');\n\n await this.DB.ReadFeiertage('DE');\n await this.DB.ReadFeiertage('BG');\n await this.DB.ReadFerien('DE');\n await this.DB.ReadFerien('BG');\n\n await this.Loadinganimation.HideLoadingAnimation(true);\n\n break;\n }\n\n\n this.ShowAuswahl = false;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n\n\n private async PrepareData() {\n\n try {\n\n let Index: number = 0;\n\n this.DB.Init();\n this.DB.CheckSetup();\n this.DB.SetPlanungsmonate();\n this.DB.CountAnfragenanzahlen();\n\n this.BundeslandAuswahlliste = [];\n\n for(let Region of this.DB.Regionenliste) {\n\n this.BundeslandAuswahlliste.push({ Index: Index, FirstColumn: Region.Name, SecoundColumn: Region.isoCode, Data: Region.isoCode });\n\n Index++;\n }\n\n this.DB.Bundesland = lodash.find(this.BundeslandAuswahlliste, {Data: this.DB.Bundeslandkuerzel}).FirstColumn;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'PrepareData', this.Debug.Typen.Page);\n }\n }\n\n FeiertagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'FeiertagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n FerientagCrossedEventHandler(Daten: {Name: string; Laendercode: string}) {\n\n try {\n\n this.Message = Daten.Name;\n\n if(Daten.Laendercode !== '') {\n\n this.Flagsource = 'assets/images/';\n this.Flagsource += Daten.Laendercode === 'DE' ? 'de.png' : 'bg.png';\n }\n else {\n\n this.Flagsource = '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'FerientagCrossedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n GetDatum(Anfangstempel: number) {\n\n return moment(Anfangstempel).format('DD.MM.YYYY');\n }\n\n\n MitarebiterStandortfilterClickedHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.UrlaubUebersicht_Standort_Filter;\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: 'kein Filter', SecoundColumn: '', Data: null });\n Index++;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Standort, Data: Eintrag });\n Index++;\n }\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n }\n else this.Auswahlindex = 0;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Urlaubsuebersicht Page', 'MitarebiterStandortfilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n DisplayExternCheckChanged(event: { status: boolean; index: number; event: any; value: string }, Urlaub: Urlaubsstruktur, i: number) {\n\n try {\n\n let Beteiligt: Urlaubprojektbeteiligtestruktur = lodash.find(this.DB.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: Urlaub.MitarbeiterIDExtern});\n\n if(!lodash.isUndefined(Beteiligt)) Beteiligt.Display = event.status;\n\n let Urlaubindex = lodash.findIndex(this.DB.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.DB.CurrentJahr });\n\n this.DB.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.DB.CurrentUrlaub;\n\n this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.DB.CurrentMitarbeiter).then(() => {\n\n this.DB.ExterneUrlaubeChanged.emit();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'DisplayExternCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFeiertageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_DE = event.status;\n this.DB.ShowFeiertage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_BG = event.status;\n this.DB.ShowFeiertage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'AnsichtFeiertageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n AnsichtFerientageCheckChanged(event: { status: boolean; index: number; event: any; value: string }, landcode: string) {\n\n try {\n\n switch (landcode) {\n\n case 'DE':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_DE = event.status;\n this.DB.ShowFerientage_DE = event.status;\n\n break;\n\n case 'BG':\n\n this.Pool.Mitarbeitersettings.UrlaubShowFerien_BG = event.status;\n this.DB.ShowFerientage_BG = event.status;\n\n break;\n }\n\n this.DBMitarbeitersettings.SaveMitarbeitersettings().then(() => {\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'AnsichtFerientageCheckChanged', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClicked() {\n\n try {\n\n this.Ansichtvariante = this.Ansichtenvarinaten.Gesamtjahr;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'JahrButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n HalbjahrEinsButtonClicked() {\n\n try {\n\n this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrEins;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'HalbjahrEinsButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n HalbjahrZweiButtonClicked() {\n\n try {\n\n this.Ansichtvariante = this.Ansichtenvarinaten.HalbjahrZwei;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'HalbjahrZweiButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n UrlaubMitarbeiterMeClickedHandler() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.Pool.Mitarbeiterdaten;\n\n this.PrepareData();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'UrlaubMitarbeiterMeClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n JahrButtonClickedHandler() {\n\n try {\n\n let Index: number = 0;\n let Jahr: number = this.DB.Jahr;\n let Nextjahr: number = Jahr + 1;\n\n this.Auswahltitel = 'Jahr ändern';\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Urlaubsplanung_Jahr_Aendern;\n\n this.Auswahlliste = [];\n\n for(let j = this.DB.Startjahr; j <= Nextjahr; j++) {\n\n this.Auswahlliste.push({ Index: Index++, FirstColumn: j.toString(), SecoundColumn: '', Data: j });\n }\n\n this.ShowAuswahl = true;\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data: this.DB.CurrentJahr });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Urlaubsuebersicht Page', 'JahrButtonClickedHandler', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { FormsModule } from '@angular/forms';\nimport { CommonWartungPage } from './common-wartung.page';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {RouterModule, Routes} from \"@angular/router\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\nimport {ButtonValueModule} from \"../../components/button-value/button-value.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {SafePipeModule} from \"../../pipes/safe.pipe.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: CommonWartungPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n PageHeaderModule,\n RouterModule.forChild(routes),\n PageHeaderMenuModule,\n PageFooterModule,\n CheckboxClonModule,\n ButtonValueModule,\n AuswahlDialogModule,\n SafePipeModule,\n ],\n declarations: [CommonWartungPage]\n})\nexport class CommonWartungPageModule {}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {SecurityService} from \"../../services/security/security.service\";\n\n@Component({\n selector: 'common-wartung-page',\n templateUrl: 'common-wartung.page.html',\n styleUrls: ['common-wartung.page.scss'],\n})\nexport class CommonWartungPage implements OnInit, OnDestroy {\n\n constructor(public Pool: DatabasePoolService,\n public Const: ConstProvider,\n public Basics: BasicsProvider,\n public Debug: DebugProvider) {\n try {\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Wartung', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Wartung', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Wartung', 'OnInit', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport { Routes, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { FiMitarbeiterlistePage } from './fi-mitarbeiterliste';\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {AlphabetModule} from \"../../components/alphabet/alphabet.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {FiMitarbeiterEditorModule} from \"../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\nimport {CheckboxClonModule} from \"../../components/checkbox-clon/checkbox-clon.module\";\n\nconst routes: Routes = [\n {\n path: '',\n component: FiMitarbeiterlistePage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n IonicModule,\n RouterModule.forChild(routes),\n PageHeaderModule,\n PageFooterModule,\n AbstandElementFixedModule,\n AlphabetModule,\n PageHeaderMenuModule,\n FiMitarbeiterEditorModule,\n AuswahlDialogModule,\n CheckboxClonModule,\n ],\n declarations: [FiMitarbeiterlistePage]\n})\nexport class FIMitarbeiterlistePageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {AlphabetComponent} from \"../../components/alphabet/alphabet\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport * as lodash from \"lodash-es\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {SecurityService} from \"../../services/security/security.service\";\n\n@Component({\n selector: 'fi-mitarbeiterliste-page',\n templateUrl: 'fi-mitarbeiterliste.html',\n styleUrls: ['fi-mitarbeiterliste.scss'],\n})\nexport class FiMitarbeiterlistePage implements OnInit, OnDestroy {\n\n @ViewChild('Alphabet', { static: false }) Alphabetcomponent: AlphabetComponent;\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n private ListeSubscription: Subscription;\n public Mitarbeiterliste: Mitarbeiterstruktur[];\n public Mitarbeiteralphabet: string[];\n public Alphapetbreite: number;\n public Mitarbeiteralphabetauswahl: string;\n public HideAuswahl: boolean;\n public Auswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public Lastletter: string;\n public Mitarbeiterbuchstabenliste: string[];\n public Standardalphabet: string[];\n public Zusatzbuttonliste: string[];\n public Mitarbeiterfiltertext: string;\n public Listenbreite: number;\n public ShowEditor: boolean;\n public ShowAuswahl: boolean;\n private Auswahldialogorigin: string;\n private StandortfilterSubsciption: Subscription;\n public ShowMeOnly: boolean;\n public ShowArchivierte: boolean;\n public ShowAktuelle: boolean;\n public Freigabefiltervarianten = {\n\n Keiner: 'keiner',\n Administrator: 'Administrator',\n Urlaubsfreigaben: 'Urlaubsfreigaben',\n Homeofficefreigaben: 'Homeofficefreigaben'\n };\n public Freigabefilter: string;\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Const: ConstProvider,\n private Security: SecurityService,\n public DB: DatabaseMitarbeiterService,\n public DBStandort: DatabaseStandorteService,\n public Auswahlservice: AuswahlDialogService,\n public Pool: DatabasePoolService) {\n try\n {\n this.Standardalphabet = ['Alle', 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J', 'K','L', 'M', 'N', 'O', 'P', 'Q','R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z'];\n this.Mitarbeiteralphabet = [];\n this.Mitarbeiteralphabetauswahl = 'Alle';\n this.Mitarbeiterliste = [];\n this.Alphapetbreite = 44;\n this.Zusatzbuttonliste =[];\n this.HideAuswahl = true;\n this.Mitarbeiteralphabet = this.Standardalphabet;\n this.Mitarbeiterbuchstabenliste = [];\n this.Mitarbeiterfiltertext = '';\n this.Listenbreite = 0;\n this.ShowEditor = false;\n this.ShowAuswahl = false;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n this.Auswahldialogorigin = this.Const.NONE;\n this.ListeSubscription = null;\n this.StandortfilterSubsciption = null;\n this.ShowMeOnly = false;\n this.ShowArchivierte = false;\n this.ShowAktuelle = true;\n this.Freigabefilter = this.Freigabefiltervarianten.Keiner;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n if(this.ListeSubscription !== null) {\n\n this.ListeSubscription.unsubscribe();\n this.ListeSubscription = null;\n }\n\n if(this.StandortfilterSubsciption !== null) {\n\n this.StandortfilterSubsciption.unsubscribe();\n this.StandortfilterSubsciption = null;\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.Security.CheckSecurity();\n\n this.ListeSubscription = this.Pool.MitarbeiterlisteChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n this.StandortfilterSubsciption = this.DBStandort.StandortfilterChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n ResetSucheButtonClicked() {\n\n try {\n this.Mitarbeiterfiltertext = '';\n this.Mitarbeiteralphabetauswahl = 'Alle';\n\n this.PrepareDaten();\n\n /*\n switch (this.Menueindex) {\n\n case 0:\n\n\n break;\n\n case 1:\n\n this.Lieferantenfiltertext = '';\n this.Lieferantenfilter = '';\n this.Lieferantenalphabetauswahl = 'Alle';\n this.Suchleiste.value = '';\n\n this.PrepareLieferantenDaten();\n\n break;\n }\n\n */\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'ResetSucheButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n public ionViewDidEnter() {\n\n try {\n\n let Alphabetbreite: number = typeof this.Alphabetcomponent.Breite !== 'undefined' ? this.Alphabetcomponent.Breite : 40;\n\n this.Basics.MeassureInnercontent(this.PageHeader, this.PageFooter);\n\n this.Listenbreite = this.Basics.Contentbreite - Alphabetbreite - 4;\n\n this.Alphabetcomponent.InitScreen();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ionViewDidLeave() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'ionViewDidLeave', this.Debug.Typen.Page);\n }\n }\n\n MitrabeiterButtonClicked(eintrag: Mitarbeiterstruktur) {\n\n try {\n\n this.DB.CurrentMitarbeiter = lodash.cloneDeep(eintrag);\n this.ShowEditor = true;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'MitrabeiterButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AddMitarbeiterButtonClicked() {\n\n try {\n\n this.DB.CurrentMitarbeiter = this.DB.GetEmptyMitarbeiter();\n this.ShowEditor = true;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'AddMitarbeiterButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AlphabetClicked(buchstabe: any) {\n\n try {\n\n this.Mitarbeiterfiltertext = '';\n this.Mitarbeiteralphabetauswahl = buchstabe;\n\n this.PrepareDaten();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'AlphabetClicked', this.Debug.Typen.Page);\n }\n }\n\n private GetMitarbeiterAlphabetbuchstabe(value: Mitarbeiterstruktur) {\n\n try {\n\n let Buchstabe: string = value.Name.substring(0, 1).toUpperCase();\n\n if(Buchstabe !== this.Lastletter) {\n\n this.Lastletter = Buchstabe;\n\n return Buchstabe;\n }\n else {\n\n return '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'GetMitarbeiterAlphabetbuchstabe', this.Debug.Typen.Page);\n }\n }\n\n\n private PrepareDaten() {\n\n try {\n\n let Liste: Mitarbeiterstruktur[];\n let Merker: Mitarbeiterstruktur[];\n let Buchstabe: string;\n let Quelle: Mitarbeiterstruktur[];\n let Laenge: number;\n let TeilA: string;\n let TeilB: string;\n let TeilC: string;\n let Teillaenge: number;\n let PosA: number;\n let Solltext: string;\n let Suchtext: string;\n\n if(this.Pool.Mitarbeiterliste !== null) {\n\n Quelle = lodash.cloneDeep(this.Pool.Mitarbeiterliste);\n\n this.Lastletter = '';\n\n // Nach Namen sortieren\n\n Quelle.sort( (a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name > b.Name) return -1;\n if (a.Name < b.Name) return 1;\n return 0;\n });\n\n // Filter\n\n Liste = lodash.cloneDeep(Quelle);\n\n if(this.ShowMeOnly) {\n\n Liste = lodash.filter(Liste, {_id: this.Pool.Mitarbeiterdaten._id});\n }\n else {\n\n if(this.ShowArchivierte === true && this.ShowAktuelle === true) {\n\n // do nothing\n }\n else if(this.ShowArchivierte) {\n\n Liste = lodash.filter(Liste, (Eintrag: Mitarbeiterstruktur) => {\n\n return Eintrag.Archiviert;\n });\n }\n else if(this.ShowAktuelle) {\n\n Liste = lodash.filter(Liste, (Eintrag: Mitarbeiterstruktur) => {\n\n return !Eintrag.Archiviert;\n });\n }\n else if(this.ShowArchivierte === false && this.ShowAktuelle === false) {\n\n Liste = [];\n }\n }\n\n // Freigabefilter\n\n if(this.Freigabefilter !== this.Freigabefiltervarianten.Keiner) {\n\n switch (this.Freigabefilter) {\n\n case this.Freigabefiltervarianten.Administrator:\n\n Liste = lodash.filter(Liste, {Planeradministrator: true});\n\n break;\n\n case this.Freigabefiltervarianten.Urlaubsfreigaben:\n\n Liste = lodash.filter(Liste, { Urlaubsfreigaben: true});\n\n break;\n\n case this.Freigabefiltervarianten.Homeofficefreigaben:\n\n Liste = lodash.filter(Liste, { Homeofficefreigaben: true});\n\n break;\n }\n }\n\n // Standortfilter anwenden\n\n if(this.DBStandort.CurrentStandortfilter !== null) {\n\n Liste = lodash.filter(Liste, (eintrag: Mitarbeiterstruktur) => {\n\n return eintrag.StandortID === this.DBStandort.CurrentStandortfilter._id;\n });\n }\n\n Liste.sort( (a: Mitarbeiterstruktur, b: Mitarbeiterstruktur) => {\n\n if (a.Name < b.Name) return -1;\n if (a.Name > b.Name) return 1;\n return 0;\n });\n\n\n // Mitarbeiteralphabetauswahl Buchstaben festlegen\n\n if(Liste.length > 6) {\n\n this.Mitarbeiteralphabet = ['Alle'];\n\n for(let Eintrag of Liste) {\n\n Buchstabe = Eintrag.Name.substring(0, 1).toUpperCase();\n\n if(this.Mitarbeiteralphabet.indexOf(Buchstabe) === -1) this.Mitarbeiteralphabet.push(Buchstabe);\n }\n } else {\n\n this.Mitarbeiteralphabet = this.Standardalphabet;\n }\n\n // Alphabetfilter anwenden\n\n if(this.Mitarbeiteralphabetauswahl !== 'Alle') {\n\n Merker = lodash.cloneDeep(Liste);\n\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Buchstabe = Eintrag.Name.substring(0, 1).toUpperCase();\n\n Buchstabe = Buchstabe === 'Ä' ? 'A' : Buchstabe;\n Buchstabe = Buchstabe === 'Ö' ? 'O' : Buchstabe;\n Buchstabe = Buchstabe === 'Ü' ? 'U' : Buchstabe;\n\n if(this.Mitarbeiteralphabetauswahl === Buchstabe) Liste.push(Eintrag);\n }\n }\n\n // Suche Mitarbeiterfilter anwenden\n\n if(this.Mitarbeiterfiltertext !== '') {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Solltext = this.Mitarbeiterfiltertext.toLowerCase();\n Suchtext = Eintrag.Name.toLowerCase();\n PosA = Suchtext.indexOf(Solltext);\n\n if(PosA !== -1) {\n\n Laenge = Eintrag.Name.length;\n Teillaenge = Solltext.length;\n TeilA = Eintrag.Name.substr(0, PosA);\n TeilB = Eintrag.Name.substr(PosA, Teillaenge);\n Teillaenge = Laenge - Teillaenge - PosA;\n TeilC = Eintrag.Name.substr(Laenge - Teillaenge, Teillaenge);\n\n Eintrag.Filtered = true;\n Eintrag.Text_A = TeilA;\n Eintrag.Text_B = TeilB;\n Eintrag.Text_C = TeilC;\n\n Liste.push(Eintrag);\n }\n }\n }\n\n // Buchstabenliste festlegen\n\n this.Mitarbeiterbuchstabenliste = [];\n\n for(let Eintrag of Liste) {\n\n this.Mitarbeiterbuchstabenliste.push(this.GetMitarbeiterAlphabetbuchstabe(Eintrag));\n }\n\n this.Mitarbeiterliste = lodash.cloneDeep(Liste);\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'PrepareDaten', this.Debug.Typen.Page);\n }\n }\n\n\n GetDialogTitel(): string {\n\n try {\n\n if(this.DB.CurrentMitarbeiter !== null) {\n\n return this.DB.CurrentMitarbeiter._id === null ? 'Neuen Mitarbeiter anlegen' : 'Mitarbeiter bearbeiten';\n }\n else {\n\n return 'Unbekannt';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'GetDialogTitel', this.Debug.Typen.Page);\n }\n }\n\n StandortClickedHandler() {\n\n try {\n\n let Index = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standort festlegen';\n this.Auswahlliste = [];\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Standort;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Ort, Data: Eintrag });\n Index++;\n }\n\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DB.CurrentMitarbeiter.StandortID});\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'StandortClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Anrede:\n\n this.DB.CurrentMitarbeiter.Anrede = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Urlaub:\n\n this.DB.CurrentMitarbeiter.Urlaub = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Standort:\n\n this.DB.CurrentMitarbeiter.StandortID = data._id;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Liste_Position:\n\n this.DB.CurrentMitarbeiter.PositionID = data;\n\n break;\n\n case 'Resturlaub':\n\n this.DB.CurrentMitarbeiter.Resturlaub = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Liste_Standortfilter:\n\n this.DBStandort.CurrentStandortfilter = data;\n this.Pool.Mitarbeitersettings.StandortFilter = data !== null ? data._id : this.Const.NONE;\n this.Mitarbeiteralphabetauswahl = 'Alle';\n\n this.DB.UpdateMitarbeiter(this.Pool.Mitarbeiterdaten).then(() => {\n\n this.DBStandort.StandortfilterChanged.emit();\n\n }).catch((error) => {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n });\n\n this.PrepareDaten();\n\n break;\n }\n\n this.ShowAuswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n GetDialogTitelicon(): string {\n\n try {\n\n if(this.DB.CurrentMitarbeiter || this.Pool.Mitarbeiterdaten) {\n\n switch (this.Auswahltitel) {\n\n case 'Standort festlegen':\n\n return 'location-outline';\n\n break;\n\n case 'Fachbereich festlegen':\n\n return 'hammer-outline';\n\n break;\n\n case 'Standortfilter festlegen':\n\n return 'location-outline';\n\n break;\n\n default:\n\n return 'help-outline';\n\n break;\n }\n }\n else return 'help-outline';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'GetDialogTitelicon', this.Debug.Typen.Page);\n }\n }\n\n SucheChanged(text: string) {\n\n try {\n\n this.Mitarbeiteralphabetauswahl = 'Alle';\n this.Mitarbeiterfiltertext = text;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'SucheChanged', this.Debug.Typen.Page);\n }\n }\n\n StandortFilterClickedHandler() {\n\n try {\n\n let Index = 0;\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Liste_Standortfilter;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Standortfilter festlegen';\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({Index: Index, FirstColumn: '----', SecoundColumn: 'kein Filter', Data: null});\n Index++;\n\n for(let Eintrag of this.Pool.Standorteliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Kuerzel, SecoundColumn: Eintrag.Ort, Data: Eintrag });\n Index++;\n }\n\n if(this.DBStandort.CurrentStandortfilter === null) {\n\n this.Auswahlindex = 0;\n }\n else {\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Standorteliste, {_id: this.DBStandort.CurrentStandortfilter._id});\n this.Auswahlindex++;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiterliste', 'StandortFilterClickedHandler', this.Debug.Typen.Page);\n }\n }\n\n ShowMeCheckedChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.ShowMeOnly = event.status;\n\n if(this.ShowMeOnly === true) {\n\n this.DBStandort.CurrentStandortfilter = null;\n this.Pool.Mitarbeitersettings.StandortFilter = this.Const.NONE;\n this.Mitarbeiteralphabetauswahl = 'Alle';\n\n this.DB.UpdateMitarbeiter(this.Pool.Mitarbeiterdaten).then(() => {\n\n this.DBStandort.StandortfilterChanged.emit();\n\n });\n }\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'ShowMeCheckedChanged', this.Debug.Typen.Page);\n }\n }\n\n ShowArchivierteChanged(event: { status: boolean; index: number; event: any }) {\n\n try {\n\n this.ShowArchivierte = event.status;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'ShowArchivierteChanged', this.Debug.Typen.Page);\n }\n }\n\n AnredeClickedEventHandler() {\n\n try {\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Anrede festlegen';\n this.Auswahlliste = [];\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Anrede;\n\n this.Auswahlliste.push({ Index: 0, FirstColumn: 'Unbekannt', SecoundColumn: '', Data: this.Const.NONE });\n this.Auswahlliste.push({ Index: 1, FirstColumn: 'Frau', SecoundColumn: '', Data: 'Frau' });\n this.Auswahlliste.push({ Index: 2, FirstColumn: 'Herr', SecoundColumn: '', Data: 'Herr' });\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data: this.DB.CurrentMitarbeiter.Anrede});\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'AnredeClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n UrlaubClickedEventHandler() {\n\n let Index: number = 0;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Urlaubstage festlegen';\n this.Auswahlliste = [];\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Editor_Urlaub;\n\n for(let i = 0; i <= 40; i = i + 0.5) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn:i.toFixed(1), SecoundColumn: i === 1 ? 'Tag' : 'Tage', Data: i });\n Index++;\n }\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data: this.DB.CurrentMitarbeiter.Urlaub});\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'UrlaubClickedEventHandler', this.Debug.Typen.Page);\n }\n\n ShowAktuelleChanged(event: { status: boolean; index: number; event: any; value: string }) {\n\n try {\n\n this.ShowAktuelle = event.status;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'ShowAktuelleChanged', this.Debug.Typen.Page);\n }\n\n }\n\n GetStandortliste(Urlaubsfreigabeorte: string[]): string {\n\n try {\n\n let Standort: Standortestruktur;\n let Standortliste: Standortestruktur[] = [];\n let Text: string = '';\n let Index: number = 0;\n\n\n for(let id of Urlaubsfreigabeorte) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: id});\n\n if(!lodash.isUndefined(Standort)) Standortliste.push(Standort);\n }\n\n Standortliste.sort((a: Standortestruktur, b: Standortestruktur) => {\n\n if (a.Ort < b.Ort) return -1;\n if (a.Ort > b.Ort) return 1;\n\n return 0;\n });\n\n for(Standort of Standortliste) {\n\n Text += Standort.Ort.substring(0, 3).toUpperCase();\n\n if(Index < Standortliste.length - 1) Text += ', ';\n\n Index++;\n }\n\n return Text;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'GetStandortliste', this.Debug.Typen.Page);\n }\n }\n\n FreigabefilterChanged(event: any) {\n\n try {\n\n this.Freigabefilter = event.detail.value;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'FreigabefilterChanged', this.Debug.Typen.Page);\n }\n }\n\n PositionClickedEventHandler() {\n\n try {\n\n let Index = 0;\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Mitarbeiter_Liste_Position;\n\n this.ShowAuswahl = true;\n this.Auswahltitel = 'Position festlegen';\n this.Auswahlliste = [];\n\n for(let Eintrag of this.Pool.Mitarbeiterpositionenliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Eintrag.Bezeichnung, SecoundColumn: '', Data: Eintrag._id });\n Index++;\n }\n\n debugger;\n\n\n this.Auswahlindex = lodash.findIndex(this.Pool.Mitarbeiterpositionenliste, {_id: this.DB.CurrentMitarbeiter.PositionID});\n this.Auswahlindex++;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'PositionClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n\n ResturlaubClicked() {\n\n try {\n\n let Index: number = 0;\n\n this.Auswahldialogorigin = 'Resturlaub';\n this.Auswahltitel = 'Resturlaub festlegen';\n this.Auswahlliste = [];\n\n for(let i = -25; i < 0; i = i + 0.5) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn:i.toFixed(1), SecoundColumn: i === - 1 ? 'Tag' : 'Tage', Data: i });\n Index++;\n }\n\n for(let i = 0; i <= 25; i = i + 0.5) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn:i.toFixed(1), SecoundColumn: i === 1 ? 'Tag' : 'Tage', Data: i });\n Index++;\n }\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, (Eintrag: Auswahldialogstruktur) => {\n\n return Eintrag.Data === this.DB.CurrentMitarbeiter.Resturlaub;\n });\n\n this.ShowAuswahl = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Mitarbeiterliste', 'ResturlaubClicked', this.Debug.Typen.Page);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport { Routes, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport {FiStandortelistePage} from './fi-standorteliste';\nimport {AbstandElementFixedModule} from \"../../components/abstand-element-fixed/abstand-element-fixed.module\";\nimport {AlphabetModule} from \"../../components/alphabet/alphabet.module\";\nimport {FiStandortEditorModule} from \"../../components-page/fi-standort-editor/fi-standort-editor.module\";\nimport {PageHeaderModule} from \"../../components/page-header/page-header.module\";\nimport {PageFooterModule} from \"../../components/page-footer/page-footer.module\";\nimport {PageHeaderMenuModule} from \"../../components/page-header-menu/page-header-menu.module\";\nimport {PageModalKeepermodule} from \"../../components/page-modal-keeper/page-modal-keeper.module\";\nimport {AuswahlDialogModule} from \"../../components/auswahl-dialog/auswahl-dialog.module\";\n\n\nconst routes: Routes = [\n {\n path: '',\n component: FiStandortelistePage\n }\n];\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n IonicModule,\n RouterModule.forChild(routes),\n AbstandElementFixedModule,\n AlphabetModule,\n FiStandortEditorModule,\n PageHeaderModule,\n PageFooterModule,\n PageHeaderMenuModule,\n PageModalKeepermodule,\n AuswahlDialogModule\n ],\n declarations: [FiStandortelistePage]\n})\nexport class FiStandortelistePageModule {}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {BasicsProvider} from \"../../services/basics/basics\";\nimport {DebugProvider} from \"../../services/debug/debug\";\nimport {ToolsProvider} from \"../../services/tools/tools\";\nimport {ConstProvider} from \"../../services/const/const\";\nimport {AlphabetComponent} from \"../../components/alphabet/alphabet\";\nimport {DatabasePoolService} from \"../../services/database-pool/database-pool.service\";\nimport {Subscription} from \"rxjs\";\nimport {PageHeaderComponent} from \"../../components/page-header/page-header\";\nimport {PageFooterComponent} from \"../../components/page-footer/page-footer\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {DatabaseStandorteService} from \"../../services/database-standorte/database-standorte.service\";\nimport * as lodash from \"lodash-es\";\nimport {Auswahldialogstruktur} from \"../../dataclasses/auswahldialogstruktur\";\nimport {AuswahlDialogService} from \"../../services/auswahl-dialog/auswahl-dialog.service\";\nimport {DatabaseUrlaubService} from \"../../services/database-urlaub/database-urlaub.service\";\nimport {DatabaseMitarbeiterService} from \"../../services/database-mitarbeiter/database-mitarbeiter.service\";\nimport {SecurityService} from \"../../services/security/security.service\";\n\n@Component({\n selector: 'fi-standorteliste-page',\n templateUrl: 'fi-standorteliste.html',\n styleUrls: ['fi-standorteliste.scss'],\n})\nexport class FiStandortelistePage implements OnInit, OnDestroy{\n\n @ViewChild('Alphabet', { static: false }) Alphabetcomponent: AlphabetComponent;\n @ViewChild('PageHeader', { static: false }) PageHeader: PageHeaderComponent;\n @ViewChild('PageFooter', { static: false }) PageFooter: PageFooterComponent;\n\n public Standorteliste: Standortestruktur[];\n public Standortealphabet: string[];\n public Alphapetbreite: number;\n public Standortealphabetauswahl: string;\n public HideAuswahl: boolean;\n public Auswahlliste: Auswahldialogstruktur[];\n public Auswahlindex: number;\n public Auswahltitel: string;\n public Lastletter: string;\n public Standortebuchstabenliste: string[];\n public Standardalphabet: string[];\n public Zusatzbuttonliste: string[];\n public Standortefiltertext: string;\n public Standortefilter: string;\n public Inputtimer;\n public Listenbreite: number;\n public ShowEditor: boolean;\n public EditorValid: boolean;\n public ListeSubscription: Subscription;\n public ShowAuswahl: boolean;\n public Auswahlhoehe: number;\n public Auswahldialogorigin: string;\n\n constructor(public Basics: BasicsProvider,\n public Debug: DebugProvider,\n public Tools: ToolsProvider,\n public Const: ConstProvider,\n public DB: DatabaseStandorteService,\n private Security: SecurityService,\n public DBMitarbeiter: DatabaseMitarbeiterService,\n private DBUrlaub: DatabaseUrlaubService,\n public Auswahlservice: AuswahlDialogService,\n public Pool: DatabasePoolService) {\n try\n {\n this.Standardalphabet = ['Alle', 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J', 'K','L', 'M', 'N', 'O', 'P', 'Q','R', 'S', 'T', 'U', 'V', 'W','X', 'Y', 'Z'];\n this.Standortealphabet = [];\n this.Standortealphabetauswahl = 'Alle';\n this.Standorteliste = [];\n this.Zusatzbuttonliste =[];\n this.HideAuswahl = true;\n this.Inputtimer = null;\n this.Alphapetbreite = 44;\n this.Standortefilter = '';\n this.Standortealphabet = this.Standardalphabet;\n this.Standortebuchstabenliste = [];\n this.Listenbreite = 0;\n this.ShowEditor = false;\n this.EditorValid = false;\n this.ListeSubscription = null;\n this.Auswahlliste = [];\n this.Auswahlindex = 0;\n this.Auswahltitel = '';\n this.Auswahldialogorigin = '';\n\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'constructor', this.Debug.Typen.Page);\n }\n }\n\n ngOnDestroy(): void {\n\n try {\n\n this.ListeSubscription.unsubscribe();\n\n this.ListeSubscription = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'OnDestroy', this.Debug.Typen.Page);\n }\n }\n\n ngOnInit(): void {\n\n try {\n\n this.ListeSubscription = this.Pool.StandortelisteChanged.subscribe(() => {\n\n this.PrepareDaten();\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'OnInit', this.Debug.Typen.Page);\n }\n }\n\n\n public ionViewDidEnter() {\n\n try {\n\n let Alphabetbreite: number = typeof this.Alphabetcomponent.Breite !== 'undefined' ? this.Alphabetcomponent.Breite : 40;\n\n this.Listenbreite = this.Basics.Contentbreite - Alphabetbreite - 4;\n\n this.PrepareDaten();\n\n this.Alphabetcomponent.InitScreen();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'ionViewDidEnter', this.Debug.Typen.Page);\n }\n }\n\n ionViewDidLeave() {\n\n try {\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'ionViewDidLeave', this.Debug.Typen.Page);\n }\n }\n\n StandortButtonClicked(eintrag: Standortestruktur) {\n\n try {\n\n this.DB.CurrentStandort = lodash.cloneDeep(eintrag);\n this.ShowEditor = true;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'MitrabeiterButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AddStandorteButtonClicked() {\n\n try {\n\n this.DB.CurrentStandort = this.DB.GetEmptyStandort();\n\n this.ShowEditor = true;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'AddStandorteButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n AlphabetClicked(buchstabe: any) {\n\n try {\n\n this.Standortefiltertext = '';\n this.Standortefilter = '';\n this.Standortealphabetauswahl = buchstabe;\n\n this.PrepareDaten();\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'AlphabetClicked', this.Debug.Typen.Page);\n }\n }\n\n private GetStandorteAlphabetbuchstabe(value: Standortestruktur) {\n\n try {\n\n let Buchstabe: string = value.Ort.substring(0, 1).toUpperCase();\n\n if(Buchstabe !== this.Lastletter) {\n\n this.Lastletter = Buchstabe;\n\n return Buchstabe;\n }\n else {\n\n return '';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'GetStandorteAlphabetbuchstabe', this.Debug.Typen.Page);\n }\n }\n\n\n private PrepareDaten() {\n\n try {\n\n let Liste: Standortestruktur[];\n let Merker: Standortestruktur[];\n let Buchstabe: string;\n let Quelle: Standortestruktur[];\n let Laenge: number;\n let TeilA: string;\n let TeilB: string;\n let TeilC: string;\n let Teillaenge: number;\n let PosA: number;\n let Solltext: string;\n let Suchtext: string;\n\n\n if(this.Pool.Standorteliste !== null) {\n\n Quelle = lodash.cloneDeep(this.Pool.Standorteliste);\n\n this.Lastletter = '';\n\n // Nach Namen sortieren\n\n Liste = lodash.cloneDeep(Quelle);\n\n Liste.sort( (a: Standortestruktur, b: Standortestruktur) => {\n\n if (a.Ort < b.Ort) return -1;\n if (a.Ort > b.Ort) return 1;\n return 0;\n });\n\n // Standortfilter anwenden\n\n if(this.DB.CurrentStandortfilter !== null) {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Liste.push(Eintrag);\n }\n }\n\n\n // Standortealphabetauswahl Buchstaben festlegen\n\n if(Liste.length > 6) {\n\n this.Standortealphabet = ['Alle'];\n\n for(let Eintrag of Liste) {\n\n Buchstabe = Eintrag.Ort.substring(0, 1).toUpperCase();\n\n if(this.Standortealphabet.indexOf(Buchstabe) === -1) this.Standortealphabet.push(Buchstabe);\n }\n } else {\n\n this.Standortealphabet = this.Standardalphabet;\n }\n\n // Alphabetfilter anwenden\n\n if(this.Standortealphabetauswahl !== 'Alle') {\n\n Merker = lodash.cloneDeep(Liste);\n\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Buchstabe = Eintrag.Ort.substring(0, 1).toUpperCase();\n\n if(this.Standortealphabetauswahl === Buchstabe) Liste.push(Eintrag);\n }\n }\n\n // Suche Standortefilter anwenden\n\n if(this.Standortefilter !== '') {\n\n Merker = lodash.cloneDeep(Liste);\n Liste = [];\n\n for(let Eintrag of Merker) {\n\n Solltext = this.Standortefilter.toLowerCase();\n Suchtext = Eintrag.Ort.toLowerCase();\n PosA = Suchtext.indexOf(Solltext);\n\n if(PosA !== -1) {\n\n Laenge = Eintrag.Ort.length;\n Teillaenge = Solltext.length;\n TeilA = Eintrag.Ort.substr(0, PosA);\n TeilB = Eintrag.Ort.substr(PosA, Teillaenge);\n Teillaenge = Laenge - Teillaenge - PosA;\n TeilC = Eintrag.Ort.substr(Laenge - Teillaenge, Teillaenge);\n\n Eintrag.Filtered = true;\n Eintrag.Text_A = TeilA;\n Eintrag.Text_B = TeilB;\n Eintrag.Text_C = TeilC;\n\n Liste.push(Eintrag);\n }\n }\n }\n\n // Buchstabenliste festlegen\n\n this.Standortebuchstabenliste = [];\n\n for(let Eintrag of Liste) {\n\n this.Standortebuchstabenliste.push(this.GetStandorteAlphabetbuchstabe(Eintrag));\n }\n\n this.Standorteliste = lodash.cloneDeep(Liste);\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'PrepareDaten', this.Debug.Typen.Page);\n }\n }\n\n EditorValidChanged(event: boolean) {\n\n try {\n\n this.EditorValid = event;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'EditorValidChanged', this.Debug.Typen.Page);\n }\n }\n\n\n GetDialogTitel(): string {\n\n try {\n\n if(this.DB.CurrentStandort !== null) {\n\n return this.DB.CurrentStandort._id === null ? 'Neuen Standort anlegen' : 'Standort bearbeiten';\n }\n else {\n\n return 'Unbekannt';\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'GetDialogTitel', this.Debug.Typen.Page);\n }\n }\n\n\n SucheChangedHandler(text: string) {\n\n try {\n\n this.Standortefiltertext = text;\n\n this.Standortefilter = this.Standortefiltertext;\n\n this.PrepareDaten();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'SucheChangedHandler', this.Debug.Typen.Page);\n }\n\n }\n\n async AuswahlOkButtonClicked(data: any) {\n\n try {\n\n switch (this.Auswahldialogorigin) {\n\n case this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Land:\n\n\n this.DB.CurrentStandort.Land = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Bundesland:\n\n this.DB.CurrentStandort.Bundesland = data;\n\n break;\n\n case this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Konfession:\n\n this.DB.CurrentStandort.Konfession = data;\n\n break;\n }\n\n this.ShowAuswahl = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Standorteliste', 'AuswahlOkButtonClicked', this.Debug.Typen.Page);\n }\n }\n\n LandClickedEventHandler() {\n\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Land;\n\n this.Auswahltitel = 'Land auswählen';\n this.Auswahlhoehe = 600;\n this.ShowAuswahl = true;\n\n this.Auswahlliste = [];\n\n\n this.Auswahlliste.push({ Index: 0, FirstColumn: 'Deutschland', SecoundColumn: 'DE', Data: 'DE' });\n this.Auswahlliste.push({ Index: 1, FirstColumn: 'Bulgarien', SecoundColumn: 'BG', Data: 'BG' });\n\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data:this.DB.CurrentStandort.Land} );\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'LandClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n BundeslandClickedEventHandler() {\n\n try {\n\n let Index: number = 0;\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Bundesland;\n\n this.Auswahltitel = 'Bundesland auswählen';\n this.Auswahlhoehe = 600;\n this.ShowAuswahl = true;\n\n this.Auswahlliste = [];\n\n for(let Region of this.DBUrlaub.Regionenliste) {\n\n this.Auswahlliste.push({ Index: Index, FirstColumn: Region.Name, SecoundColumn: Region.isoCode, Data: Region.isoCode });\n\n Index++;\n }\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, {Data:this.DB.CurrentStandort.Bundesland} );\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'BundeslandClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n KonfessionClickedEventHandler() {\n\n try {\n\n this.Auswahldialogorigin = this.Auswahlservice.Auswahloriginvarianten.Standorteeditor_Konfession;\n\n this.Auswahltitel = 'Konfession auswählen';\n this.Auswahlhoehe = 600;\n this.ShowAuswahl = true;\n this.Auswahlliste = [];\n\n this.Auswahlliste.push({ Index: 0, FirstColumn: 'Katholisch', SecoundColumn: 'RK', Data: 'RK' });\n this.Auswahlliste.push({ Index: 1, FirstColumn: 'Evangelisch', SecoundColumn: 'EV', Data: 'EV' });\n\n this.Auswahlindex = lodash.findIndex(this.Auswahlliste, { Data:this.DB.CurrentStandort.Konfession });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'KonfessionClickedEventHandler', this.Debug.Typen.Page);\n }\n }\n\n CheckMitarbeiterIsStandortUrlaubsfreigabe(id: string, Standort: Standortestruktur): boolean {\n\n try {\n\n let Index: number = Standort.Urlaubfreigabepersonen.indexOf(id);\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'CheckMitarbeiterIsStandortUrlaubsfreigabe', this.Debug.Typen.Page);\n }\n }\n\n CheckMitarbeiterIsStandortHomeofficefreigabe(id: string, Standort: Standortestruktur): boolean {\n\n try {\n\n let Index: number = Standort.Homeofficefreigabepersonen.indexOf(id);\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'CheckMitarbeiterIsStandortHomeofficefreigabe', this.Debug.Typen.Page);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {SafePipe} from './safe.pipe';\n\n@NgModule({\n declarations: [\n\n SafePipe\n ],\n exports: [\n\n SafePipe\n ],\n imports: [\n\n ],\n providers: [\n\n ]\n})\nexport class SafePipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl} from '@angular/platform-browser';\n\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n\n constructor(private sanitizer: DomSanitizer) { }\n\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n\n switch (type) {\n\n case 'html':\n\n return this.sanitizer.bypassSecurityTrustHtml(value);\n\n\n case 'style':\n\n return this.sanitizer.bypassSecurityTrustStyle(value);\n\n\n case 'script':\n\n return this.sanitizer.bypassSecurityTrustScript(value);\n\n\n\n case 'url':\n\n return this.sanitizer.bypassSecurityTrustUrl(value);\n\n\n\n case 'resourceUrl':\n\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\n\n\n\n default:\n\n throw new Error(`Invalid safe type specified: ${type}`);\n\n\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuswahlDialogService {\n\n public Auswahloriginvarianten = {\n\n Standorteeditor_Land: 'Standorteeditor_Land',\n Standorteeditor_Bundesland: 'Standorteeditor_Bundesland',\n Standorteeditor_Konfession: 'Standorteeditor_Konfession',\n\n Projekteliste_Standortfiler: 'Projekteliste_Standortfiler',\n Projekteliste_Editor_Leistungsphase: 'Projekteliste_Editor_Leistungsphase',\n\n Projekte_Editor_Standort: 'Projekte_Editor_Standortfilter',\n Projekte_Editor_Mitarbeiterauswahl_Projektleiter: 'Projekte_Editor_Mitarbeiterauswahl_Projektleiter',\n Projekte_Editor_Mitarbeiterauswahl_Stellvertreter: 'Projekte_Editor_Mitarbeiterauswahl_Stellvertreter',\n Projekte_Editor_Mitarbeiterauswahl: 'Projekte_Editor_Mitarbeiterauswahl',\n Projekte_Editor_Mitarbeiterauswahl_Standortfilter: 'Projekte_Editor_Mitarbeiterauswahl_Standortfilter',\n Projekte_Editor_Projektstatus: 'Projekte_Editor_Projektstatus',\n // Projekte_Editor_Beteiligteneditor_Fachbereich: 'Projekte_Editor_Beteiligteneditor_Fachbereich',\n Projekte_Editor_Firmeneditor_Fachbereich: 'Projekte_Editor_Firmeneditor_Fachbereich',\n Projekte_Editor_Beteiligteneditor_Fachfirma: 'Projekte_Editor_Beteiligteneditor_Fachfirma',\n\n Favoriten_Editor_Projekteauswahl_Standortfilter: 'Favoriten_Editor_Projekteauswahl_Standortfilter',\n\n Mitarbeiter_Editor_Standort: 'Mitarbeiter_Editor_Standort',\n Mitarbeiter_Editor_Fachbereich: 'Mitarbeiter_Editor_Fachbereich',\n Mitarbeiter_Editor_Anrede: 'Mitarbeiter_Editor_Anrede',\n Mitarbeiter_Editor_Urlaub: 'Mitarbeiter_Editor_Urlaub',\n Mitarbeiter_Liste_Standortfilter: 'Mitarbeiter_Liste_Standortfilter',\n Mitarbeiter_Liste_Position: 'Mitarbeiter_Liste_Position',\n\n Aufgabenliste_ZustaendigExtern: 'Aufgabenliste_ZustaendigExtern',\n Aufgabenliste_ZustaendigIntern: 'Aufgabenliste_ZustaendigIntern',\n Aufgabenliste_Fortschritt: 'Aufgabenliste_Fortschritt',\n Aufgabenliste_Zeitfilter: 'Aufgabenliste_Zeitfilter',\n\n Aufgabenliste_Filter_Zeitspanne: 'Aufgabenliste_Filter_Zeitspanne',\n\n Aufgabenliste_Editor_Fachbereich: 'Aufgabenliste_Editor_Fachbereich',\n Aufgabenliste_Editor_Status: 'Aufgabenliste_Editor_Status',\n Aufgabenliste_Editor_Standortfilter: 'Aufgabenliste_Editor_Standortfilter',\n Aufgabenliste_Editor_ZustaendigExtern: 'Aufgabenliste_Editor_ZustaendigExtern',\n Aufgabenliste_Editor_ZustaendigIntern: 'Aufgabenliste_Editor_ZustaendigIntern',\n Aufgabenliste_Editor_Leistungsphase: 'Aufgabenliste_Editor_Kostengruppe',\n Aufgabenliste_Editor_Kostengruppe: 'Aufgabenliste_Editor_Leistungsphase',\n Aufgabenliste_Editor_Verfasser: 'Aufgabenliste_Editor_Verfasser',\n Aufgabenliste_Editor_AnmerkungenVerfasser: 'Aufgabenliste_Editor_AnmerkungenVerfasser',\n\n Aufgabenliste_Meintageintrag_Status: 'Aufgabenliste_Meintageintrag_Status',\n Aufgabenliste_Meintageintrag_Termin: 'Aufgabenliste_Meintageintrag_Termin',\n\n Festlegungsliste_Editor_Leistungsphase: 'Festlegungsliste_Editor_Leistungsphase',\n Festlegungsliste_Leistungsphasefilter: 'Festlegungsliste_Leistungsphasefilter',\n Festlegungliste_Emaileditor_Standortfilter: 'Festlegungliste_Emaileditor_Standortfilter',\n Festlegungliste_Editor_Status: 'Festlegungliste_Editor_Status',\n Festlegungliste_Editor_Fachbereich: 'Festlegungliste_Editor_Fachbereich',\n Festlegungliste_Editor_Kostengruppe: 'Festlegungliste_Editor_Kostengruppe',\n Festlegungliste_Editor_ZustaendigExtern: 'Festlegungliste_Editor_ZustaendigExtern',\n Festlegungliste_Editor_ZustaendigIntern: 'Festlegungliste_Editor_ZustaendigIntern',\n\n Festlegungliste_Emaileditor_Intern_Empfaenger: 'Festlegungliste_Emaileditor_Intern_Empfaenger',\n Festlegungliste_Emaileditor_Intern_CcEmpfaenger: 'Festlegungliste_Emaileditor_Intern_CcEmpfaenger',\n Festlegungliste_Emaileditor_Extern_Empfaenger: 'Festlegungliste_Emaileditor_Extern_Empfaenger',\n Festlegungliste_Emaileditor_Extern_CcEmpfaenger: 'Festlegungliste_Emaileditor_Extern_CcEmpfaenger',\n\n Bautagebuchliste_Emaileditor_Intern_Empfaenger: 'Bautagebuchliste_Emaileditor_Intern_Empfaenger',\n Bautagebuchliste_Emaileditor_Intern_CcEmpfaenger: 'Bautagebuchliste_Emaileditor_Intern_CcEmpfaenger',\n Bautagebuchliste_Emaileditor_Extern_Empfaenger: 'Bautagebuchliste_Emaileditor_Extern_Empfaenger',\n Bautagebuchliste_Emaileditor_Extern_CcEmpfaenger: 'Bautagebuchliste_Emaileditor_Extern_CcEmpfaenger',\n Bautagebuchliste_Bautagebucheditor: 'Bautagebuchliste_Bautagebucheditor',\n\n Protokollliste_Editor_Leistungsphase: 'Protokollliste_Editor_Leistungsphase',\n Protokollliste_Editor_Kostengruppe: 'Protokollliste_Editor_Kostengruppe',\n Protokollliste_Protokolleditor_Teamteilnehmer: 'Protokollliste_Protokolleditor_Teamteilnehmer',\n Protokollliste_Projektpunkteditor_Teamteilnehmer: 'Protokollliste_Projektpunkteditor_Teamteilnehmer',\n Protokollliste_Protokolleditor_Beteilgtenteilnehmer: 'Protokollliste_Protokolleditor_Beteilgtenteilnehmer',\n Protokollliste_Projektpunkteditor_Beteilgtenteilnehmer: 'Protokollliste_Projektpunkteditor_Beteilgtenteilnehmer',\n\n Urlaubsplanung_Mitarbeiter_Wechseln: 'Urlaubsplanung_Mitarbeiter_Wechseln',\n Urlaubsplanung_Vertreter_Festlegen: 'Urlaubsplanung_Vertreter_Festlegen',\n Urlaubsplanung_Status_Aendern: 'Urlaubsplanung_Status_Aendern',\n Urlaubsplanung_Jahr_Aendern: 'Urlaubsplanung_Jahr_Aendern',\n UrlaubEinstellungen_Projektbeteiligte_Auswahl: 'UrlaubEinstellungen_Projektbeteiligte_Auswahl',\n UrlaubEinstellungen_Freigeber_Auswahl: 'UrlaubEinstellungen_Freigeber_Auswahl',\n UrlaubEinstellungen_Standort_Filter: 'UrlaubEinstellungen_Standort_Filter',\n UrlaubPlanung_Standort_Filter: 'UrlaubPlanung_Standort_Filter',\n UrlaubUebersicht_Standort_Filter: 'UrlaubUebersicht_Standort_Filter',\n UrlaubAnfargen_Standort_Filter: 'UrlaubAnfargen_Standort_Filter',\n\n Protokollliste_Emaileditor_Extern_Empfaenger: 'Protokollliste_Emaileditor_Extern_Empfaenger',\n Protokollliste_Emaileditor_Extern_CcEmpfaenger: 'Protokollliste_Emaileditor_Extern_CcEmpfaenger',\n Protokollliste_Emaileditor_Intern_Empfaenger: 'Protokollliste_Emaileditor_Intern_Empfaenger',\n Protokollliste_Emaileditor_Intern_CcEmpfaenger: 'Protokollliste_Emaileditor_Intern_CcEmpfaenger',\n\n LOPliste_Emaileditor_Extern_Empfaenger: 'LOPliste_Emaileditor_Extern_Empfaenger',\n LOPliste_Emaileditor_Extern_CcEmpfaenger: 'LOPliste_Emaileditor_Extern_CcEmpfaenger',\n LOPliste_Emaileditor_Intern_Empfaenger: 'LOPliste_Emaileditor_Intern_Empfaenger',\n LOPliste_Emaileditor_Intern_CcEmpfaenger: 'LOPliste_Emaileditor_Intern_CcEmpfaenger',\n\n\n Protokollliste_Editor_Standortfilter: 'Protokollliste_Editor_Standortfilter',\n Protokollliste_Projektpunkteditor_Status: 'Protokollliste_Projektpunkteditor_Status',\n Protokollliste_Projektpunkteditor_Fachbereich: 'Protokollliste_Projektpunkteditor_Fachbereich',\n\n Simontabelle_Editor_Emailempfaenger: 'Simontabelle_Editor_Emailempfaenger',\n\n\n Emailliste_Projektpunkteditor_Fachbereich: 'Emailliste_Projektpunkteditor_Fachbereich',\n Emailliste_Editor_ZustaendigIntern: 'Emailliste_Editor_ZustaendigIntern',\n Emailliste_Editor_ZustaendigExtern: 'Emailliste_Editor_ZustaendigExtern',\n Emailliste_Beteiligteneditor_Projektauswahl: 'Emailliste_Beteiligteneditor_Projektauswahl',\n\n Protokollliste_Filter_Leistungsphase: 'Protokollliste_Filter_Leistungsphase',\n Protokollliste_Filter_Zeitspanne: 'Protokollliste_Filter_Zeitspanne',\n\n LOPListe_LOPListeeditor_InternTeilnehmer: 'LOPListe_LOPListeeditor_InternTeilnehmer',\n LOPListe_LOPListeeditor_ExternTeilnehmer: 'LOPListe_LOPListeeditor_ExternTeilnehmer',\n LOPListe: 'LOPListe',\n LOPListe_Thumnailsize: 'LOPListe_Thumnailsize',\n\n LOPListe_Eintrageditor_ZustaendigExtern: 'LOPListe_Eintrageditor_ZustaendigExtern',\n LOPListe_Eintrageditor_ZustaendigIntern: 'LOPListe_Eintrageditor_ZustaendigIntern',\n LOPListe_Eintrageditor_Standortfilter: 'LOPListe_Eintrageditor_Standortfilter',\n LOPListe_Eintrageditor_Fachbereich: 'LOPListe_Eintrageditor_Fachbereich',\n LOPListe_Eintrageditor_Status: 'LOPListe_Eintrageditor_Status',\n LOPListe_Eintrageditor_Prioritaet: 'LOPListe_Eintrageditor_Prioritaet',\n LOPListe_Eintrageditor_AnmerkungVerfasser: 'LOPListe_Eintrageditor_AnmerkungVerfasser',\n LOPListe_Eintrageditor_Verfasser: 'LOPListe_Eintrageditor_Verfasser',\n\n LOPListe_Emaileditor_Intern_Empfaenger: 'LOPListe_Emaileditor_Intern_Empfaenger',\n LOPListe_Emaileditor_Intern_CcEmpfaenger: 'LOPListe_Emaileditor_Intern_CcEmpfaenger',\n LOPListe_Emaileditor_Extern_Empfaenger: 'LOPListe_Emaileditor_Extern_Empfaenger',\n LOPListe_Emaileditor_Extern_CcEmpfaenger: 'LOPListe_Emaileditor_Extern_CcEmpfaenger',\n\n Urlaubsliste_Bundesland: 'Urlaubsliste_Bundesland'\n };\n\n constructor(private Debug: DebugProvider) {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Dialog Auswahl', 'constructor', this.Debug.Typen.Service);\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Platform} from '@ionic/angular';\nimport {PageHeaderComponent} from '../../components/page-header/page-header';\nimport {PageFooterComponent} from '../../components/page-footer/page-footer';\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n\n providedIn: 'root'\n})\nexport class BasicsProvider {\n\n public Headerhoehe: number = 0;\n public Footerhoehe: number = 0;\n public Contenthoehe: number = 0;\n public Contentbreite: number = 0;\n public InnerContenthoehe: number = 0;\n public Waittime: number = 300;\n public Svgpath: string = 'assets/svgs/';\n public AppBuild: string = '26.08.2024 07:00';\n public AppVersionName: string = '1.20';\n public AppVersionDatum: string = '26.08.2024';\n public WebAppUrl: string = 'https://polite-cliff-084832d03.4.azurestaticapps.net/';\n\n\n public Farben = {\n\n BAEBlau: '#307ac1',\n BAEHellgrau: '#dfe5eb',\n Gruen: '#006400',\n Burnicklgruen: '#c7d304',\n Grau: '#454545',\n Buttoncolor: '#444444',\n Blau: '#00008B',\n Orange: '#FF8C00',\n Bordercolor: '#3880ff',\n Burnicklbraun: '#7b6a58',\n Burnicklgrau: '#354547',\n ButtongrauDisabled: '#444444'\n };\n\n public Ionicfarben = {\n\n BurnicklGruen: 'burnicklgruen',\n BAEBlau: 'baeblau',\n BurnicklGrau: 'burnicklgrau',\n BurnicklBraun: 'burnicklbraun',\n\n Gruen: 'gruen',\n Orange: 'orange',\n Grau: 'grau',\n Silber: 'silber',\n Schwarz: 'schwarz',\n Weiss: 'weiss',\n Rot: 'rot',\n Blau: 'blau',\n Dunkelblau: 'dunkelblau',\n Braun: 'braun',\n Teal: 'teal',\n Gelb: 'gelb'\n };\n\n\n\n\n constructor(public platform: Platform, public Const: ConstProvider) {\n\n\n }\n\n\n public MeassureInnercontent(header: PageHeaderComponent, footer: PageFooterComponent) {\n\n try {\n\n if(typeof header !== 'undefined' && header !== null) {\n\n this.Headerhoehe = header.PageHeaderDiv.nativeElement.clientHeight;\n }\n else this.Headerhoehe = 56;\n\n if(typeof footer !== 'undefined' &&footer !== null) {\n\n this.Footerhoehe = footer.PageFooterFrameDiv.nativeElement.clientHeight;\n }\n else this.Footerhoehe = 55;\n\n this.InnerContenthoehe = this.Contenthoehe - this.Headerhoehe - this.Footerhoehe;\n\n\n console.log('Basics MeassureScreen -> Screenbreite: ' + this.platform.width() + ' / Screenhoehe: ' + this.platform.height());\n console.log('Basics MeassureScreen -> Headerhoehe: ' + this.Headerhoehe + ' / Footerhoehe: ' + this.Footerhoehe);\n console.log('Basics MeassureScreen -> InnerContenthoehe: ' + this.InnerContenthoehe);\n }\n catch (error) {\n\n window.console.log(error + ' / Basics ' + ' / MeassureInnercontent ');\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CommonUrlaubsgesamtuebersichtPageModule\n} from \"../../pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.module\";\nimport {CommonWartungPage} from \"../../pages/common-wartung/common-wartung.page\";\n\nconst _MitarbeiterdatenKeys = {\n\n MitarbeiterID: 'MitarbeiterID',\n Typ: 'Typ',\n Name: 'Name',\n Vorname: 'Vorname',\n Strasse: 'Strasse',\n PLZ: 'PLZ',\n Ort: 'Ort',\n Telefon: 'Telefon',\n Mobil: 'Mobil',\n Email: 'Email',\n Position: 'Position',\n Zeit: 'Zeit',\n Zeitstempel: 'Zeitstempel',\n Aktiviert: 'Aktiviert',\n Verified: 'Verified',\n OS: 'OS',\n Passwort: 'Passwort',\n UserID: 'UserID',\n Rechte: 'Rechte',\n Working: 'Working',\n KolonnenfuehrerID: 'KolonnenfuehrerID',\n Settings: 'Settings',\n Startseitensetup: 'Startseitensetup',\n Zeitmonatsuebersichtsetup: 'Zeitmonatsuebersichtsetup',\n Zeitjahresuebersichtsetup: 'Zeitjahresuebersichtsetup',\n KolonnenmitgliederIDListe: 'KolonnenmitgliederIDListe',\n Regelarbeitszeit: 'Regelarbeitszeit',\n Datastatus: 'Datastatus',\n Formelsammlung: 'Formelsammlung',\n Schaltplaene: 'Schaltplaene',\n Steckerbelegungen: 'Steckerbelegungen',\n Shortcuts: 'Shortcuts',\n Baustelle: 'Baustelle',\n Aufgaben: 'Aufgaben',\n Material: 'Material',\n Notizen: 'Notizen',\n Arbeitstag: 'Arbeitstag',\n Tagebuch: 'Tagebuch',\n News: 'News',\n Zeiterfassung: 'Zeiterfassung',\n Zeituebersicht: 'Zeituebersicht',\n Zeiterfassungsetup: 'Zeiterfassungsetup',\n Kamerasettings: 'Kamerasettings',\n LastDokumentID: 'LastDokumentID',\n Tagebuchsetup: 'Tagebuchsetup'\n};\n\nconst _Loginstatusvarianten = {\n\n ok: 'ok',\n out: 'out'\n};\n\nconst _Playermodus = {\n\n Stopped: 'Stopped',\n Running: 'Running',\n Paused: 'Paused',\n};\n\nconst _Dialogmessages = {\n\n ok: 'ok',\n no: 'no',\n cancel: 'cancel',\n delete: 'delete',\n wahla: 'wahla',\n wahlb: 'wahlb'\n};\n\nconst _Mitarbeiterpossitionen = {\n\n Administrator: 'Administrator',\n Mitarbeiter: 'Mitarbeiter',\n Teamleiter: 'Teamleiter',\n Keine: 'Keine',\n\n};\n\nconst _Nachrichtentypen = {\n\n Text: 'Text',\n Aufgabe: 'Aufgabe',\n AufgabeFinished: 'AufgabeFinished',\n Material: 'Material',\n MaterialFinished: 'MaterialFinished',\n Notiz: 'Notiz',\n Zeitmarke: 'Zeitmarke',\n Teambeitritt: 'Teambeitritt',\n Teamaustritt: 'Teamaustritt',\n Zeitdaten: 'Zeitdaten',\n Tagebuchbildrequest: 'Tagebuchbildrequest',\n TagebuchbildrequestFinished: 'TagebuchbildrequestFinished',\n};\n\nconst _Nachrichtendirections = {\n\n OUT: 'OUT',\n IN: 'IN',\n NONE: 'NONE'\n};\n\n\n\nconst _Adressbuchtypen = {\n\n Firma: 'Firma',\n Mitarbeiter: 'Mitarbeiter',\n Solo: 'Solo'\n};\n\nconst _Mitarbeitertypen = {\n\n Firmengruender: 'Firmengruender',\n Mitarbeiter: 'Mitarbeiter',\n Solo: 'Solo'\n};\n\nconst _Projektpunktdetailtyp = {\n\n Statusmeldung: 'Statusmeldung',\n Nextstep: 'Nextstep',\n};\n\n\nconst _Platformliste = {\n\n WEB: 'web',\n ANDROID: 'android',\n IOS: 'ios'\n};\n\n\nconst _Startseitensetupvarianten = {\n\n Shortcuts: 'Shortcuts',\n Baustelle: 'Baustelle',\n Aufgaben: 'Aufgaben',\n Material: 'Material',\n Notizen: 'Notizen',\n Tagebuch: 'Tagebuch',\n News: 'News',\n Arbeitstag: 'Arbeitstag'\n};\n\n\nconst _Orientationvarianten = {\n\n Landscape: 'Landscape',\n Portrait: 'Portrait'\n};\n\nconst _Virtualitemvarianten = {\n\n Eintrag: 'Eintrag',\n Alphabet: 'Alphabet',\n Abstand: 'Abstand',\n Button: 'Button'\n};\n\nconst _Kartenadressentyp = {\n\n Kontakte: 'Kontakt',\n Firma: 'Firma',\n Mitarbeiter_Arbeit: 'Mitarbeiter_Arbeit',\n Mitarbeiter_Privat: 'Mitarbeiter_Privat'\n};\n\n\nconst _Pages = {\n\n // Allgemein\n\n HomePage: 'HomePage',\n WartungPage: 'WartungPage',\n RegistrierungPage: 'RegistrierungPage',\n EinstellungenPage: 'EinstellungenPage',\n StartseitePage: 'StartseitePage',\n IntroPage: 'IntroPage',\n ShortcutsEditorPage: 'ShortcutsEditorPage',\n EmailzentralePage: 'EmailzentralePage',\n PasswortVergessenPage: 'PasswortVergessenPage',\n TestPage: 'TestPage',\n ErrorPage: 'ErrorPage',\n DebugPage: 'DebugPage',\n PDFViewerPage: 'PDFViewerPage',\n EmaillistePage: 'EmaillistePage',\n UrlaubPlanungPage: 'UrlaubPlanungPage',\n UrlaubEinstellungenPage: 'UrlaubEinstellungenPage',\n UrlaubUebersichtPage: 'UrlaubUebersichtPage',\n UrlaubFreigabenPage: 'UrlaubFreigabenPage',\n UrlaubsgesamtuebersichtPage: 'UrlaubsgesamtuebersichtPage',\n\n // Firma\n\n FiMitarbeiterlistePage: 'FiMitarbeiterlistePage',\n FiMitarbeiterauswahlPage: 'FiMitarbeiterauswahlPage',\n FiMitarbeiterSettingsPage: 'FiMitarbeiterSettingsPage',\n FiStandortelistePage: 'FiStandortelistePage',\n\n // Projekt\n\n PjListePage: 'PjListePage',\n\n PjGebaeudestrukturBearbeitenPage: 'PjGebaeudestrukturBearbeitenPage',\n PjGebaeudestrukturBauteilBearbeitenPage: 'PjGebaeudestrukturBauteilBearbeitenPage',\n PjGebaeudestrukturGeschossBearbeitenPage: 'PjGebaeudestrukturGeschossBearbeitenPage',\n PjGebaeudestrukturRaumBearbeitenPage: 'PjGebaeudestrukturRaumBearbeitenPage',\n PjGebaeudestrukturRaumMarkierenPage: 'PjGebaeudestrukturRaumMarkierenPage',\n\n PjFavoritenlistePage: 'PjFavoritenlistePage',\n\n PJProjektbeteiligtelistePage: 'PJProjektbeteiligtelistePage',\n\n PjEmailzentralePage: 'PjEmailzentralePage',\n\n PjProtokollSendeberichtPage: 'PjProtokollSendeberichtPage',\n\n PjFestlegungkategorieeditorPage: 'PjFestlegungkategorieeditorPage',\n\n\n PjNotizenListePage: 'PjNotizenListePage',\n\n PjAufgabenlistePage: 'PjAufgabenlistePage',\n\n\n PjProtokolleListePage: 'PjProtokolleListePage',\n\n PjFilebrowserPage: 'PjFilebrowserPage',\n\n PjBaustelleLoplistePage: 'PjBaustelleLoplistePage',\n PjBaustelleTagebuchlistePage: 'PjBaustelleTagebuchlistePage',\n PjFestlegungslistePage: 'PjFestlegungslistePage',\n\n PjPlanungsmatrixPage: 'PjPlanungsmatrixPage',\n\n PjSimontabellelistePage: 'PjSimontabellelistePage'\n};\n\nconst _Treeitemtypvarianten = {\n\n Strukturknoten: 'Strukturknoten',\n Struktureintrag: 'Struktureintrag',\n Strukturchild: 'Strukturchild',\n Dateneintrag: 'Dateneintrag',\n Datenchild: 'Datenchild',\n Datenknoten: 'Datenknoten'\n};\n\nconst _Planlistentyp = {\n\n Gesamtgebaeude: 'Gesamtgebaeude',\n Bauteil: 'Bauteil',\n Geschoss: 'Geschoss'\n};\n\nconst _Dokumentelementtypen = {\n\n Betriebsmittel: 'Betriebsmittel',\n Anmerkung: 'Anmerkung',\n Markierung: 'Markierung'\n};\n\nconst _Planmodusvarianten = {\n\n RaumMarkieren: 'RaumMarkieren',\n RaumMarkierenZoomen: 'RaumMarkierenZoomen',\n SkalierePlan: 'SkalierePlan',\n ViewPlan: 'ViewPlan',\n PlanMessen: 'PlanMessen',\n RaumbuchUebersicht: 'RaumbuchUebersicht',\n RaumbuchEditorZoom: 'RaumbuchEditorZoom',\n RaumbuchEditorPlaceBetriebsmittel: 'RaumbuchEditorPlaceBetriebsmittel',\n RaumbuchEditorReplaceBetriebsmittel: 'RaumbuchEditorReplaceBetriebsmittel',\n RaumbuchEditorBearbeiteBetriebsmittel: 'RaumbuchEditorBearbeiteBetriebsmittel',\n RaumbuchEditorResizeAnmerkung: 'RaumbuchEditorResizeAnmerkung',\n RaumbuchEditorPlaceAnmerkung: 'RaumbuchEditorPlaceAnmerkung',\n RaumbuchEditorReplaceAnmerkung: 'RaumbuchEditorReplaceAnmerkung',\n RaumbuchEditorSetAnmerkungLocation: 'RaumbuchEditorSetAnmerkungLocation',\n\n};\n\nconst _Zeiteintraegetypen = {\n\n Platzhalter: 'Platzhalter',\n Externtag: 'Externtag',\n Freizeit : 'Freizeit',\n Abwesenheit: 'Abwesenheit',\n Arbeitszeit: 'Arbeitszeit',\n Regiearbeitszeit: 'Regiearbeitszeit',\n Urlaub: 'Urlaub',\n Feiertag: 'Feiertag',\n Krankenstand: 'Krankenstand',\n Ueberstunden: 'Ueberstunden',\n Zeitrahmendaten: 'Zeitrahmendaten',\n Leerzeit: 'Leerzeit',\n Zusatzzeit: 'Zusatzzeit',\n Leer: 'Leeer',\n Titel: 'Titel',\n Ungenutzt: 'Ungenutzt',\n Kalenderwoche: 'Kalenderwoche',\n Summe: 'Summe'\n};\n\nconst _Tagtypen = {\n\n Arbeitstag: 'Arbeitstag',\n Urlaubstag: 'Urlaub',\n Feiertag: 'Feiertag',\n Krankenstandtag: 'Krankenstandtag',\n Keintag: 'Keintag'\n};\n\nconst _Tageseditormodus = {\n\n Eintrag : 'Eintrag',\n Tag: 'Tag',\n Urlaub: 'Urlaub',\n Krankenstand: 'Krankenstand',\n Feiertag: 'Feiertag'\n};\n\nconst _Devicenamen = {\n\n iPhone : 'iPhone',\n iPhone_XsMax_Xr : 'iPhone_XsMax_Xr',\n iPhone_X_Xs : 'iPhone_X_Xs',\n iPhone_6p_6sp_7p_8p : 'iPhone_6p_6sp_7p_8p',\n iPhone_6_6s_7_8 : 'iPhone_6_6s_7_8',\n iPhone_5_5s_5c_SE : 'iPhone_5_5s_5c_SE',\n iPad : 'iPad',\n iPad_9_Zoll : 'iPad_9_Zoll',\n iPad_10_Zoll : 'iPad_10_Zoll',\n iPad_12_Zoll : 'iPad_12_Zoll',\n Unbekannt : 'Unbekannt'\n};\n\n\nconst _Beteiligteneintragtypen = {\n\n Person: 'Person',\n Firma: 'Firma'\n};\n\nconst _Fachfirmentypen: any = {\n\n Unbekannt: {\n\n Typnummer: 0,\n Name: 'Unbekannt',\n Color: '#ff6600'\n },\n Elektroinstallateur: {\n\n Typnummer: 1,\n Name: 'Elektroinstallateur',\n Color: '#ff6600'\n },\n Heizungsinstallateur: {\n\n Typnummer: 2,\n Name: 'Heizungsinstallateur',\n Color: '#ff6600'\n },\n Lueftungsinstallateur: {\n\n Typnummer: 3,\n Name: 'Lüftungsinstallateur',\n Color: '#ff6600'\n },\n Sanitaerinstallateur: {\n\n Typnummer: 4,\n Name: 'Sanitärinstallateur',\n Color: '#ff6600'\n },\n Rohbaufirma: {\n\n Typnummer: 5,\n Name: 'Rohbaufirma',\n Color: '#ff6600'\n },\n Tiefbaufirma: {\n\n Typnummer: 6,\n Name: 'Tiefbaufirma',\n Color: '#ff6600'\n },\n Blitschutzbauer: {\n\n Typnummer: 7,\n Name: 'Blitschutzbauer',\n Color: '#ff6600'\n },\n Dachdecker: {\n\n Typnummer: 8,\n Name: 'Dachdecker',\n Color: '#ff6600'\n },\n Zimmerei: {\n\n Typnummer: 9,\n Name: 'Zimmerei',\n Color: '#ff6600'\n },\n Schreiner: {\n\n Typnummer: 10,\n Name: 'Schreiner',\n Color: '#ff6600'\n },\n Medientechnik: {\n\n Typnummer: 11,\n Name: 'Medientechnik',\n Color: '#ff6600'\n },\n Fussbodenlegen: {\n\n Typnummer: 12,\n Name: 'Fußbodenlegen',\n Color: '#ff6600'\n },\n Estrichleger: {\n\n Typnummer: 13,\n Name: 'Estrichleger',\n Color: '#ff6600'\n },\n Fliesenleger: {\n\n Typnummer: 14,\n Name: 'Fliesenleger',\n Color: '#ff6600'\n },\n Foerderanlagenbauer: {\n\n Typnummer: 15,\n Name: 'Förderanlagenbauer',\n Color: '#ff6600'\n },\n};\n\nconst _Anlagengruppen: any = {\n\n Anlagengruppe_1: {\n\n Nummer: 1,\n Name: 'Abwasser-, Wasser-, Gasanlagen',\n },\n Anlagengruppe_2: {\n\n Nummer: 2,\n Name: 'Wärmeversorgungsanlagen',\n },\n Anlagengruppe_3: {\n\n Nummer: 3,\n Name: 'Luftechnische Anlagen',\n },\n Anlagengruppe_4: {\n\n Nummer: 4,\n Name: 'Starkstromanlage',\n },\n Anlagengruppe_5: {\n\n Nummer: 5,\n Name: 'Fernmelde- und informationstechnische Anlagen',\n },\n Anlagengruppe_6: {\n\n Nummer: 6,\n Name: 'Förderanlagen',\n },\n Anlagengruppe_7: {\n\n Nummer: 7,\n Name: 'Nutzerspezifische und verfahrenstechnische Anlagen',\n },\n Anlagengruppe_8: {\n\n Nummer: 8,\n Name: 'Gebäude- und Anlagenautomation'\n }\n};\n\nconst _Leistungsphasenvarianten = {\n\n UNBEKANNT: 'unbekannt',\n LPH1: 'LPH1',\n LPH2: 'LPH2',\n LPH3: 'LPH3',\n LPH4: 'LPH4',\n LPH5: 'LPH5',\n LPH6: 'LPH6',\n LPH7: 'LPH7',\n LPH8: 'LPH8',\n};\n\n\nconst _Beteiligtentypen: any = {\n\n Unbekannt: {\n\n Typnummer: 0,\n Name: 'Unbekannt',\n Kurzname: 'Unbekannt',\n Color: '#ff6600'\n },\n Architekt: {\n\n Typnummer: 1,\n Name: 'Architekt',\n Kurzname: 'Archtiekt',\n Color: '#ff6600'\n },\n Elektroplaner: {\n\n Typnummer: 2,\n Name: 'ELT Planungsbüro',\n Kurzname: 'ELT Planungsbüro',\n Color: '#3771c8'\n },\n HLSplaner: {\n\n Typnummer: 3,\n Name: 'HLS Planungsbüro',\n Kurzname: 'HLS Planungsbüro',\n Color: '#3771c8'\n },\n Fachplaner: {\n\n Typnummer: 4,\n Name: 'Fachplaner',\n Kurzname: 'Fachplaner',\n Color: '#3771c8'\n },\n Tragwerksplaner: {\n\n Typnummer: 5,\n Name: 'Tragwerksplaner',\n Kurzname: 'Tragwerksplaner',\n Color: '#3771c8'\n },\n Aussenanlagenarchitekt: {\n\n Typnummer: 6,\n Name: 'Außenanlagenarchitekt',\n Kurzname: 'Außenanlagenarchitekt',\n Color: '#3771c8'\n },\n Bauherr: {\n\n Typnummer: 7,\n Name: 'Bauherr',\n Kurzname: 'Bauherr',\n Color: '#008000',\n },\n Nutzer: {\n\n Typnummer: 8,\n Name: 'Nutzer',\n Kurzname: 'Nutzer',\n Color: '#008000',\n },\n Pruefsachverstaendiger: {\n\n Typnummer: 9,\n Name: 'Prüfsachverständiger',\n Kurzname: 'Prüfsachverständiger',\n Color: '#008000',\n },\n Projektsteurer: {\n\n Typnummer: 10,\n Name: 'Projektsteurer',\n Kurzname: 'Projektsteurer',\n Color: '#008000',\n },\n Ausfuehrungsfirma: {\n\n Typnummer: 11,\n Name: 'Ausführende Firma',\n Kurzname: 'Ausführende Firma',\n Color: '#008000',\n },\n Objektueberwacher: {\n\n Typnummer: 12,\n Name: 'Objektüberwacher',\n Kurzname: 'OÜ',\n Color: '#008000',\n },\n ITAbteilung: {\n\n Typnummer: 13,\n Name: 'IT - Abteilung',\n Kurzname: 'IT',\n Color: '#008000',\n },\n Ausfuehrungsfirma_HLS: {\n\n Typnummer: 14,\n Name: 'Ausführende Firma HLS',\n Kurzname: 'HLS',\n Color: '#008000',\n },\n Ausfuehrungsfirma_ELT: {\n\n Typnummer: 15,\n Name: 'Elektroinstallation',\n Kurzname: 'ELZ',\n Color: '#008000',\n },\n Ausfuehrungsfirma_BMA: {\n\n Typnummer: 16,\n Name: 'BMA Installation',\n Kurzname: 'BMA',\n Color: '#008000',\n },\n Ausfuehrungsfirma_Blitzschutz: {\n\n Typnummer: 17,\n Name: 'Blitzschutzbauer',\n Kurzname: 'Blitzschutzbaur',\n Color: '#008000',\n },\n\n Ausfuehrungsfirma_H: {\n\n Typnummer: 18,\n Name: 'Heizungsfirma',\n Kurzname: 'Heizungsfirma',\n Color: '#008000',\n },\n Ausfuehrungsfirma_L: {\n\n Typnummer: 19,\n Name: 'Lüftungsinstallation',\n Kurzname: 'Lüftung',\n Color: '#008000',\n },\n Ausfuehrungsfirma_S: {\n\n Typnummer: 20,\n Name: 'Sanitärinstallation',\n Kurzname: 'Sanitär',\n Color: '#008000',\n },\n Ausfuehrungsfirma_Rohbau: {\n\n Typnummer: 21,\n Name: 'Rohbaufirma',\n Kurzname: 'Rohbaufirma',\n Color: '#008000',\n },\n Ausfuehrungsfirma_Tiefbau: {\n\n Typnummer: 22,\n Name: 'Tiefbaufirma',\n Kurzname: 'Tiefbaufirma',\n Color: '#008000',\n },\n Ausfuehrungsfirma_GALA: {\n\n Typnummer: 23,\n Name: 'GALA Baufirma',\n Kurzname: 'GALA Baufirma',\n Color: '#008000',\n },\n\n Ausfuehrungsfirma_Aufzug: {\n\n Typnummer: 24,\n Name: 'Aufzugsfirma',\n Kurzname: 'Aufzugsfirma',\n Color: '#008000',\n },\n\n};\n\nconst _Editormodusvarianten = {\n\n Neu: 'Neu',\n Bearbeiten: 'Bearbeiten',\n Liste: 'Liste',\n Anzeigen: 'Anzaeigen',\n Blocked: 'Blocked',\n Auswahl: 'Auswahl',\n Filter: 'Filter'\n};\n\n\n\nconst _Eventvarianten = {\n\n Kontaktauswahl: 'Kontaktauswahl',\n Mitarbeiterauswahl: 'Mitarbeiterauswahl',\n Kontakteliste: 'Kontakteliste',\n Kontaktaenderung: 'Kontaktaenderung',\n Zeitdatenfavoriten: 'Zeitdatenfavoriten',\n ClearThumbnailmessage: 'ClearThumbnailmessage',\n BaustellenbereichWahl: 'BaustellenbereichWahl',\n BackButtonClicked: 'BackButtonClicked',\n TeamChanged: 'TeamChanged',\n AuthenticationReady: 'AuthenticationReady',\n BesprechungsteilnehmerExtern: 'BesprechungsteilnehmerExtern',\n BesprechungsteilnehmerIntern: 'BesprechungsteilnehmerIntern',\n ZustaendigkeitExtern: 'ZustaendigkeitExtern',\n ZustaendigkeitIntern: 'ZustaendigkeitIntern',\n Emailempfaenger: 'Emailempfaenger',\n Emailkopieempfaenger: 'Emailkopieempfaenger',\n};\n\n const _ZeiterfassungBerichttypen = {\n\n Jahresbericht: 'Jahresbericht',\n Monatsbericht: 'Monatsbericht',\n Wochenbericht: 'Wochenbericht',\n Tagesbericht: 'Tagesbericht',\n };\n\n\nconst _Fehlermeldungtypen = {\n\n Script: 'Script',\n Sql: 'Sql',\n Transaction: 'Transaction',\n Firebase: 'Firebase'\n};\n\n\nconst _Syncstatusvarianten = {\n\n Init: 'Init',\n Running: 'Running',\n Stopped: 'Stopped',\n Finished: 'Finished',\n Deviceeerror: 'Deviceerror',\n Interneterror: 'Interneterror',\n Datenerrror: 'Datenerrror',\n Synchron: 'Synchron',\n Asynchron: 'Asynchron',\n Uptodate: 'Uptodate',\n Servererror: 'Servererror',\n Databaseerror: 'Databaseerror',\n Unvollstaendig: 'Unvollstaendig'\n};\n\nconst _Leistungsverzeichniskeys = {\n\n BoQBody: 'BoQBody', // LV-Hauptteil\n Award: 'Award', // Vergabe,\n AwardInfo: 'AwardInfo', // Informationen zur Vergabe,\n Remark: 'Remark', // Hinweistext\n BoQCtgy: 'BoQCtgy',\n BoQInfo: 'BoQInfo',\n LblTx: 'LblTx', // Bezeichnung des LV-Bereichs\n Itemlist: 'Itemlist',\n Item: 'Item',\n Description: 'Description', // Textorganisation\n CtlgAssign: 'CtlgAssign' // Katalogzuordnung\n};\n\nconst _Screensizekategorien = {\n\n XS_0: 'XS',\n SM_1: 'SM',\n MD_2: 'MD',\n LG_3: 'LG',\n XL_4: 'XL',\n};\n\nconst _Leistungsverzeichnisitemtypen = {\n\n Titel: 'Titel',\n Position: 'Position',\n Hinweistext: 'Hinweistext',\n};\n\nconst _Dokumentersteller = {\n\n Unbekannt: 'Unbekannt',\n Intern: 'Intern',\n Architekt: 'Architekt',\n Hersteller: 'Hersteller',\n Bauherr: 'Bauherr',\n Planungsbuero: 'Planungsbüro'\n};\n\nconst _Projektstatusvarianten = {\n\n Bearbeitung: 'Bearbeitung',\n Abgeschlossen: 'Abgeschlossen',\n Ruht: 'Ruht'\n};\n\nconst _Faelligkeitsstatus = {\n\n Faellig: 'Faellig',\n Ueberfaellig: 'Uberfaellig',\n Nicht_faellig: 'nicht faellig'\n};\n\nconst _Zeitfilter = {\n\n Alle: 'Alle',\n Heute: 'Heute',\n Morgen: 'Morgen',\n Zweitage: '2 Tage',\n Woche: 'Woche',\n Naechstewoche: 'Nächste Woche',\n Zweiwochen: '2 Wochen',\n Vierwochen: '4 Wochen',\n Monat: 'Monat',\n Gestern: 'Gestern',\n Vorgestern: 'Vorgestern',\n ZweitageVorher: 'Letzten 2 Tage',\n WocheVorher: 'Letzte Woche',\n ZweiwochenVorher: 'Letzten 2 Wochen',\n MonatVorher: 'Letzter Monat',\n\n};\n\nconst _Dokumententyp = {\n\n Unbekannt: 'Unbekannt',\n Grundriss: 'Grundriss',\n Verteilerbereiche: 'Verteilerbereiche',\n Elektroinstallation: 'Elektroinstallation',\n Erdung_Blitzschutz: 'Erdung- und Blitzschutzanlage',\n Schema: 'Schema',\n Leerrohrplanung: 'Leerrohrplanung',\n HLS: 'HLS',\n S_und_D: 'Schlitz- und Durchbruchsplanung'\n};\n\nconst _Faelligkeitsspannen = {\n\n Diese_Woche: 'Diese Woche',\n Naechste_Woche: 'Nächste Woche',\n Fuenf_Arbeitstage: '5 Arbeitstage',\n Zehn_Arbeitstage: '10 Arbeitstage',\n Fuenfzehn_Arbeitstage: '15 Arbeitstage'\n};\n\n\n\nconst _Anredevariante = {\n\n 'Herr': 'Herr',\n 'Frau': 'Frau',\n 'Unbekannt': 'Unbekannt'\n};\n\nconst _Zeitansatzeinheitvarianten = {\n\n 'Minuten': 'Minuten',\n 'Stunden': 'Stunden',\n 'Tage': 'Tage'\n};\n\nconst _Projektpunktprioritaetstypen: any = {\n\n Niedrig: {\n\n Statusnummer: 0,\n Name: 'Niedrig',\n Displayname: 'Niedrig',\n Color: '#008000'\n },\n\n Mittel: {\n\n Statusnummer: 1,\n Name: 'Mittel',\n Displayname: 'Mittel',\n Color: 'orange'\n },\n\n Hoch: {\n\n Statusnummer: 2,\n Name: 'Hoch',\n Displayname: 'Hoch',\n Color: 'red'\n },\n\n};\n\nconst _Projektpunktstatustypen: any = {\n\n Offen: {\n\n Statusnummer: 0,\n Name: 'Offen',\n Displayname: 'Offen',\n Color: '#008080',\n LOPColor: 'red'\n },\n\n Protokollpunkt: {\n\n Statusnummer: 0,\n Name: 'Protokollpunkt',\n Displayname: 'Info',\n Color: '#34495E',\n LOPColor: '#307ac1'\n },\n\n Geschlossen: {\n\n Statusnummer: 1,\n Name: 'Geschlossen',\n Displayname: 'Geschlossen',\n Color: '#008000',\n LOPColor: '#008000'\n },\n\n Bearbeitung: {\n\n Statusnummer: 2,\n Name: 'Bearbeitung',\n Displayname: 'Bearbeitung',\n Color: '#616A6B',\n LOPColor: '#616A6B'\n },\n\n Ruecklauf: {\n\n Statusnummer: 3,\n Name: 'Ruecklauf',\n Displayname: 'Rücklauf',\n Color: '#0020C2',\n LOPColor: '#0020C2'\n },\n\n Festlegung: {\n\n Statusnummer: 4,\n Name: 'Festlegung',\n Displayname: 'Festlegung',\n Color: '#FF9333'\n },\n};\n\nconst _Startterminfiltervarianten = {\n\n Nur_diese_Woche: 'Nur diese Woche',\n Nur_diesen_Monat: 'Nur diesen Monat',\n Seit_dem_Zeitpunkt: 'Seit dem Zeitpunkt',\n Bis_zum_Zeitpunkt: 'Bis zum Zeitpunkt',\n Zeitspanne: 'Zeitspanne',\n};\n\nconst _Faelligkeitsterminfiltervarianten = {\n\n Nur_diese_Woche: 'Nur diese Woche',\n Nur_diesen_Monat: 'Nur diesen Monat',\n Seit_dem_Zeitpunkt: 'Seit dem Zeitpunkt',\n Bis_zum_Zeitpunkt: 'Bis zum Zeitpunkt',\n Zeitspanne: 'Zeitspanne',\n};\n\nconst _AufgabenSortiermodusvarianten = {\n\n TermineAbsteigend: 'TermineAbsteigend',\n TermineAufsteigend: 'TermineAufsteigend',\n};\n\n@Injectable({\n\n providedIn: 'root'\n})\nexport class ConstProvider {\n\n /*\n public readonly Editormodusvarianten = _Editormodusvarianten;\n public readonly Eventvarianten = _Eventvarianten;\n public readonly Zeiteintraegetypen = _Zeiteintraegetypen;\n public readonly Tageseditormodus = _Tageseditormodus;\n public readonly Startseitensetupvarianten = _Startseitensetupvarianten;\n public readonly Syncstatusvarianten = _Syncstatusvarianten;\n public readonly Devicenamen = _Devicenamen;\n public readonly Virtualitemvarianten = _Virtualitemvarianten;\n public readonly Orientationvarianten = _Orientationvarianten;\n public readonly Screensizekategorien = _Screensizekategorien;\n public readonly Tagtypen = _Tagtypen;\n public readonly Platformliste = _Platformliste;\n public Mitarbeiterpossitionen = _Mitarbeiterpossitionen;\n public readonly Adressbuchtypen = _Adressbuchtypen;\n public readonly Mitarbeitertypen = _Mitarbeitertypen;\n\n\n\n public readonly DATABASE = 'Database';\n public readonly Nachrichtentypen = _Nachrichtentypen;\n public readonly Nachrichtendirections = _Nachrichtendirections;\n public readonly Playermodus = _Playermodus;\n\n public readonly MitarbeiterdatenKeys = _MitarbeiterdatenKeys;\n public readonly Loginstatusvarianten = _Loginstatusvarianten;\n public readonly ZeiterfassungBerichttypen = _ZeiterfassungBerichttypen;\n public readonly Kartenadressentyp = _Kartenadressentyp;\n public readonly Treeitemtypvarianten = _Treeitemtypvarianten;\n public readonly Planmodusvarianten = _Planmodusvarianten;\n public readonly Leistungsverzeichniskeys = _Leistungsverzeichniskeys;\n public readonly Leistungsverzeichnisitemtypen = _Leistungsverzeichnisitemtypen;\n public readonly Dokumentersteller = _Dokumentersteller;\n public readonly Dokumententyp = _Dokumententyp;\n public readonly Dokumentelementtypen = _Dokumentelementtypen;\n public readonly Planlistentyp = _Planlistentyp;\n\n public readonly Projektpunktdetailtyp = _Projektpunktdetailtyp;\n public readonly Faelligkeitsspannen = _Faelligkeitsspannen;\n\n\n */\n\n\n public readonly NONE = 'none';\n public readonly Pages = _Pages;\n public readonly Fehlermeldungtypen = _Fehlermeldungtypen;\n public readonly Dialogmessages = _Dialogmessages;\n public readonly Projektpunktstatustypen = _Projektpunktstatustypen;\n public readonly Zeitfilter = _Zeitfilter;\n public readonly Projektstatusvarianten = _Projektstatusvarianten;\n public readonly Faelligkeitsstatus = _Faelligkeitsstatus;\n public readonly Beteiligtentypen = _Beteiligtentypen;\n public readonly Fachfirmentypen = _Fachfirmentypen;\n public readonly Beteiligteneintragtypen = _Beteiligteneintragtypen;\n public readonly Anredevariante = _Anredevariante;\n public readonly Zeitansatzeinheitvarianten = _Zeitansatzeinheitvarianten;\n\n public readonly Faelligkeitsterminfiltervarianten = _Faelligkeitsterminfiltervarianten;\n public readonly AufgabenSortiermodusvarianten = _AufgabenSortiermodusvarianten;\n public readonly Projektpunktprioritaetstypen = _Projektpunktprioritaetstypen;\n public readonly Leistungsphasenvarianten = _Leistungsphasenvarianten;\n public readonly Anlagengruppen = _Anlagengruppen;\n\n constructor() {\n\n }\n}\n"," import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\n import * as lodash from \"lodash-es\";\nimport {ConstProvider} from \"../const/const\";\n import {Appeinstellungenstruktur} from \"../../dataclasses/appeinstellungenstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseAppeinstellungenService {\n\n // public Appeinstellungen: Appeinstellungenstruktur;\n private ServerUrl: string;\n\n constructor(private Debug: DebugProvider,\n private Pool: DatabasePoolService,\n private Const: ConstProvider,\n private http: HttpClient) {\n try {\n\n // this.Appeinstellungen = null;\n this.ServerUrl = this.Pool.CockpitdockerURL + '/appeinstellungen';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public ReadAppeinstellungen(): Promise {\n\n try {\n\n let Liste: Appeinstellungenstruktur[] = [];\n let Appeinstellungen: Appeinstellungenstruktur;\n\n this.Debug.ShowMessage('ReadAppeinstellungen', 'Database Appeinstellungen', 'ReadAppeinstellungen', this.Debug.Typen.Service);\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let AppeinstellungenObservable = this.http.get(this.ServerUrl, { headers: headers });\n\n AppeinstellungenObservable.subscribe({\n\n next: (data) => {\n\n Liste = data;\n },\n complete: () => {\n\n if(Liste.length > 0) {\n\n Appeinstellungen = Liste[0];\n }\n else {\n\n Appeinstellungen = this.GetEmptyAppeinstellungen();\n }\n\n if(lodash.isUndefined(Appeinstellungen.Wartungsmodus)) Appeinstellungen.Wartungsmodus = false;\n\n this.Pool.Appeinstellungen = Appeinstellungen;\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyAppeinstellungen(): Appeinstellungenstruktur {\n\n try {\n\n return {\n\n _id: null,\n ShowHomeScreenInfos: true,\n DebugNoExternalEmail: true,\n Wartungsmodus: false,\n AdminStartseite: this.Const.Pages.HomePage\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'GetEmptyAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n\n public async SaveAppeinstellungen(): Promise {\n\n try {\n\n if(this.Pool.Appeinstellungen._id === null) {\n\n await this.AddAppeinstellungen();\n }\n else {\n\n await this.UpdateAppeinstellungen();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'SaveAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n\n public AddAppeinstellungen(): Promise {\n\n try {\n\n let Observer: Observable;\n let Appeinstellungen: Appeinstellungenstruktur;\n\n return new Promise((resove, reject) => {\n\n // POST für neuen Eintrag\n\n Observer = this.http.post(this.ServerUrl, this.Pool.Appeinstellungen);\n\n Observer.subscribe({\n\n next: (result) => {\n\n Appeinstellungen = result.data;\n\n },\n complete: () => {\n\n this.Pool.Appeinstellungen = Appeinstellungen;\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'AddAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n\n\n public UpdateAppeinstellungen(): Promise {\n\n try {\n\n let Observer: Observable;\n let Appeinstellungen: Appeinstellungenstruktur;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.Pool.Appeinstellungen);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n // Appeinstellungen = ne;\n\n },\n complete: () => {\n\n // this.Pool.Appeinstellungen = Appeinstellungen;\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Appeinstellungen', 'UpdateAppeinstellungen', this.Debug.Typen.Service);\n }\n }\n}\n","import {EventEmitter, Inject, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {MSAL_GUARD_CONFIG, MsalGuardConfiguration, MsalService} from \"@azure/msal-angular\";\nimport {\n AccountEntity, AccountInfo, AuthenticationResult, InteractionType, PopupRequest, RedirectRequest, SilentRequest\n} from \"@azure/msal-browser\";\nimport {ConstProvider} from \"../const/const\";\nimport {Route, Router} from \"@angular/router\";\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\nimport {catchError, map, Observable, of} from \"rxjs\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport Cookies from \"js-cookie\";\nimport * as lodash from \"lodash-es\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseAuthenticationService {\n\n public LoginSuccessEvent: EventEmitter = new EventEmitter();\n public ActiveUser: AccountInfo;\n public SecurityEnabled: boolean;\n private DevelopmentUser: AccountInfo;\n public ShowLogin: boolean;\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\n private Debug: DebugProvider,\n private authService: MsalService,\n private Const: ConstProvider,\n private router: Router,\n private MSALService: MsalService\n ) {\n try {\n\n this.SecurityEnabled = true;\n this.ActiveUser = null;\n this.ShowLogin = false;\n\n this.DevelopmentUser = {\n\n environment: \"\",\n homeAccountId: \"\",\n localAccountId: \"\",\n tenantId: \"\",\n username: \"peter.hornburger@b-a-e.eu\",\n name: \"Peter Hornburger\"\n };\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Authentication', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public UnsetActiveUser() {\n\n try {\n\n this.Debug.ShowMessage('Unset Active User', 'Database Authentication', 'UnsetActiveUser', this.Debug.Typen.Service);\n\n this.ActiveUser = null;\n this.ShowLogin = true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'UnsetActiveUser', this.Debug.Typen.Service);\n }\n }\n\n public async SetActiveUser(): Promise {\n\n try {\n\n let Account: any;\n let Accounts: any[];\n\n this.Debug.ShowMessage('Set Active User started', 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service);\n\n return new Promise((resolve) => {\n\n if(this.SecurityEnabled) {\n\n Account = this.MSALService.instance.getActiveAccount();\n Accounts = this.MSALService.instance.getAllAccounts();\n\n if(!lodash.isUndefined(Accounts) && Accounts !== null && Accounts.length > 0) {\n\n for(Account of Accounts) {\n\n console.log(Account.username);\n }\n }\n\n console.log(Account !== null ? Account.username : 'Account ist null');\n\n if(Account === null) {\n\n this.Debug.ShowMessage('Active Account ist null', 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service);\n\n if(!lodash.isUndefined(Accounts) && Accounts !== null && Accounts.length > 0) {\n\n this.Debug.ShowMessage('Accountliste vorhanden', 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service);\n\n Account = Accounts[0];\n }\n else {\n\n this.Debug.ShowMessage('keine Accountlist vorhanden', 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service,);\n }\n }\n\n if(Account !== null) {\n\n this.ActiveUser = Account;\n\n resolve(true);\n }\n else\n {\n this.UnsetActiveUser();\n\n resolve(true);\n }\n }\n else {\n\n this.ActiveUser = this.DevelopmentUser;\n\n resolve(true);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'SetActiveUser', this.Debug.Typen.Service);\n }\n }\n\n public SetShowLoginStatus() {\n\n try {\n\n let message: string = 'nothing';\n let acountliste: any[] = this.MSALService.instance.getAllAccounts();\n\n\n this.Debug.ShowMessage(message, 'SetShowLoginStatus gestartet', 'SetShowLogin', this.Debug.Typen.Service );\n\n if(acountliste.length === 0) {\n\n this.ShowLogin = true;\n\n console.log('Accountliste ist leer. LOGIN anzeigen.');\n }\n else {\n\n this.ShowLogin = false;\n }\n\n if(this.SecurityEnabled === false) this.ShowLogin = false;\n\n message = this.ShowLogin === true ? 'Anmeldung anzeigen' : 'Hauptmenu anzeigen';\n\n this.Debug.ShowMessage(message, 'Database Authentication', 'SetShowLogin', this.Debug.Typen.Service );\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'SetShowLoginStatus', this.Debug.Typen.Service );\n }\n }\n\n public async RequestToken(scope: string): Promise {\n\n try {\n\n const accessTokenRequest: SilentRequest = {\n scopes: [scope],\n account: this.ActiveUser,\n };\n\n // You must call and await the initialize function before attempting to call any other MSAL API. For more visit: aka.ms/msaljs/browser-errors\n\n return new Promise((resolve, reject) => {\n\n this.authService.acquireTokenSilent(accessTokenRequest).pipe(catchError(err => {\n\n if(err) {\n\n debugger;\n\n switch (err.errorCode) {\n\n case 'login_required':\n\n this.Login();\n\n break;\n\n case 'monitor_window_timeout':\n\n this.Login();\n\n break;\n }\n }\n\n return of(err != null);\n\n })).subscribe((response: AuthenticationResult) => {\n\n if(response.accessToken) {\n\n resolve(response.accessToken);\n }\n else resolve(null);\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'RequestToken', this.Debug.Typen.Service);\n }\n }\n\n Login() {\n\n try {\n\n if(this.SecurityEnabled) {\n\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\n if (this.msalGuardConfig.authRequest) {\n this.authService.loginPopup({ ...this.msalGuardConfig.authRequest } as PopupRequest)\n .subscribe((response: AuthenticationResult) => {\n\n this.authService.instance.setActiveAccount(response.account);\n });\n } else {\n this.authService.loginPopup()\n .subscribe((response: AuthenticationResult) => {\n\n // this.SaveAccessToken(response.accessToken);\n this.authService.instance.setActiveAccount(response.account);\n });\n }\n }\n else {\n if (this.msalGuardConfig.authRequest) {\n\n this.authService.loginRedirect({ ...this.msalGuardConfig.authRequest } as RedirectRequest);\n }\n else {\n\n this.authService.loginRedirect();\n }\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Authentication', 'Login', this.Debug.Typen.Service);\n }\n }\n\n public Logout() {\n\n try {\n\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\n this.authService.logoutPopup({\n postLogoutRedirectUri: \"/\",\n mainWindowRedirectUri: \"/\"\n });\n } else {\n this.authService.logoutRedirect({\n postLogoutRedirectUri: \"/\",\n });\n\n }\n\n this.ActiveUser = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Authentication', 'Logout', this.Debug.Typen.Service);\n }\n }\n\n canLoad(route: Route): boolean {\n\n try {\n\n if (this.CheckSecurity() === true) {\n\n this.Debug.ShowMessage('Database Authentication -> can load: ' + route.path, 'Security', 'canLoad', this.Debug.Typen.Service);\n\n return true;\n }\n else {\n\n this.Debug.ShowMessage('Database Authentication -> can not load: ' + route.path, 'Security', 'canLoad', this.Debug.Typen.Service);\n\n this.router.navigate([this.Const.Pages.HomePage]);\n\n return false;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Authentication', 'canLoad', this.Debug.Typen.Service);\n }\n }\n\n public CheckSecurity(): boolean {\n\n try {\n\n return true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Authentication', 'CheckSecurity', this.Debug.Typen.Service);\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {HttpClient, HttpErrorResponse, HttpParams} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport moment, {Moment} from \"moment\";\nimport {ConstProvider} from \"../const/const\";\nimport {Changelogstruktur} from \"../../dataclasses/changelogstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseChangelogService {\n\n private ServerUrl: string;\n public CurrentChangelog: Changelogstruktur;\n\n constructor(private Debug: DebugProvider,\n private Pool: DatabasePoolService,\n private Const: ConstProvider,\n private http: HttpClient) {\n try {\n\n this.ServerUrl = this.Pool.CockpitdockerURL + '/changelog';\n this.CurrentChangelog = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n\n GetChangelog(id):string {\n\n try {\n\n let Changelog: Changelogstruktur;\n\n Changelog = lodash.find(this.Pool.Changlogliste, {_id: id});\n\n if(!lodash.isUndefined(Changelog)) {\n\n return Changelog.Beschreibung;\n }\n else return 'unbekannt';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'GetChangelog', this.Debug.Typen.Component);\n }\n }\n\n public GetEmptyChangelog(): Changelogstruktur {\n\n try {\n\n let Heute: Moment = moment();\n\n return {\n\n _id: null,\n Beschreibung: '',\n Version: '',\n Zeitstempel: Heute.valueOf(),\n Deleted: false\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'GetEmptyChangelog', this.Debug.Typen.Service);\n }\n }\n\n public AddChangelog(): Promise {\n\n try {\n\n let Observer: Observable;\n let Changelog: Changelogstruktur;\n\n debugger;\n\n return new Promise((resove, reject) => {\n\n // POST für neuen Eintrag\n\n Observer = this.http.post(this.ServerUrl, this.CurrentChangelog);\n\n Observer.subscribe({\n\n next: (result) => {\n\n debugger;\n\n Changelog = result.Changelog;\n\n },\n complete: () => {\n\n this.UpdateChangelogliste(Changelog);\n this.Pool.ChangeloglisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'AddChangelog', this.Debug.Typen.Service);\n }\n }\n\n private UpdateChangelogliste(changelog: Changelogstruktur) {\n\n try {\n\n let Index: number;\n\n Index = lodash.findIndex(this.Pool.Changlogliste, {_id : this.CurrentChangelog._id});\n\n if(Index !== -1) {\n\n this.Pool.Changlogliste[Index] = changelog; // aktualisieren\n\n this.Debug.ShowMessage('Changelogliste updated: ' + changelog.Version, 'Database Changelog', 'UpdateChangelogliste', this.Debug.Typen.Service);\n\n }\n else {\n\n this.Debug.ShowMessage('Chnagelog nicht gefunden -> neues Changlog hinzufügen', 'Database Chnagelog', 'UpdateChangelogliste', this.Debug.Typen.Service);\n\n this.Pool.Changlogliste.unshift(changelog); // neuen\n }\n\n // Gelöscht markiert Einträge entfernen\n\n this.Pool.Changlogliste = lodash.filter(this.Pool.Changlogliste, (currentchangelog: Changelogstruktur) => {\n\n return currentchangelog.Deleted === false;\n });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'UpdateChangelogliste', this.Debug.Typen.Service);\n }\n }\n\n\n public UpdateChangelog(): Promise {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams();\n\n Params.set('id', this.CurrentChangelog._id);\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.CurrentChangelog);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n debugger;\n\n },\n complete: () => {\n\n debugger;\n\n this.UpdateChangelogliste(this.CurrentChangelog);\n\n this.Pool.ChangeloglisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'UpdateChangelog', this.Debug.Typen.Service);\n }\n }\n public DeleteChangelog(): Promise {\n\n try {\n\n let Observer: Observable;\n\n this.CurrentChangelog.Deleted = true;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.CurrentChangelog);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n debugger;\n\n },\n complete: () => {\n\n debugger;\n\n this.UpdateChangelogliste(this.CurrentChangelog);\n\n this.Pool.ChangeloglisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Chnagelog', 'DeleteChangelog', this.Debug.Typen.Service);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport moment, {Moment} from \"moment\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {Observable} from \"rxjs\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport {ConstProvider} from \"../const/const\";\nimport {Graphuserstruktur} from \"../../dataclasses/graphuserstruktur\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {Mitarbeiterpositionstruktur} from \"../../dataclasses/mitarbeiterpositionstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseMitarbeiterService {\n\n public CurrentMitarbeiter: Mitarbeiterstruktur;\n public CurrentPosition: Mitarbeiterpositionstruktur;\n private ServerMitarbeiterUrl: string;\n private ServerMitarbeiterpositionUrl: string;\n\n constructor(private Debug: DebugProvider,\n private http: HttpClient,\n private Const: ConstProvider,\n private Pool: DatabasePoolService) {\n try {\n\n this.ServerMitarbeiterUrl = this.Pool.CockpitdockerURL + '/mitarbeiter';\n this.ServerMitarbeiterpositionUrl = this.Pool.CockpitdockerURL + '/mitarbeiterpositionen';\n\n this.CurrentMitarbeiter = null;\n this.CurrentPosition = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public ConvertGraphuserToMitarbeiter(graphuser: Graphuserstruktur) {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur;\n let Jobtitle: string;\n let Mobil: string;\n\n Mitarbeiter = this.GetEmptyMitarbeiter();\n\n if(graphuser.surname === null) graphuser.surname = '';\n if(graphuser.givenName === null) graphuser.givenName = '';\n if(graphuser.jobTitle === null) graphuser.jobTitle = '';\n if(graphuser.officeLocation === null) graphuser.officeLocation = '';\n if(graphuser.mobilePhone === null) graphuser.mobilePhone = '';\n\n\n Jobtitle = lodash.isUndefined(graphuser.jobTitle) ? \"\" : graphuser.jobTitle;\n Mobil = lodash.isUndefined(graphuser.mobilePhone) ? \"\" : graphuser.mobilePhone;\n\n Mitarbeiter.UserID = graphuser.id;\n Mitarbeiter.Email = graphuser.mail;\n Mitarbeiter.Vorname = lodash.isUndefined(graphuser.givenName) ? \"\" : graphuser.givenName;\n Mitarbeiter.Name = lodash.isUndefined(graphuser.surname) ? \"\" : graphuser.surname;\n Mitarbeiter.Mobil = Mobil === null ? \"\" : Mobil;\n Mitarbeiter.Jobtitel = Jobtitle === null ? \"\" : Jobtitle;\n\n if(lodash.isUndefined(graphuser.businessPhones) === false) {\n\n if(graphuser.businessPhones.length > 0) Mitarbeiter.Telefon = graphuser.businessPhones[0];\n }\n\n if (lodash.isUndefined(graphuser.officeLocation) === false && graphuser.officeLocation !== null) {\n\n Mitarbeiter.Location = graphuser.officeLocation !== null ? graphuser.officeLocation : \"\";\n\n for(let Standort of this.Pool.Standorteliste) {\n\n if(graphuser.officeLocation.indexOf(Standort.Ort) !== -1) {\n\n Mitarbeiter.StandortID = Standort._id;\n }\n }\n }\n\n if(Mitarbeiter.StandortID === '') {\n\n let Standort = lodash.find(this.Pool.Standorteliste, {Ort: 'Bamberg'});\n\n if(!lodash.isUndefined(Standort)) {\n\n Mitarbeiter.StandortID = Standort._id;\n }\n }\n\n let A = graphuser.surname !== null ? graphuser.surname.substring(0, 2).toUpperCase() : '';\n let B = graphuser.givenName !== null ? graphuser.givenName.substring(0, 1).toUpperCase() : '';\n\n Mitarbeiter.Kuerzel = A + '' + B;\n\n\n return Mitarbeiter;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'ConvertGraphuserToMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public GetMeinewocheStunden(tag: string): string {\n\n try {\n\n let Stunden: number = 0;\n let Minuten: number = 0;\n\n for(let Eintrag of this.Pool.Mitarbeiterdaten.Meinewocheliste) {\n\n switch (tag) {\n\n case 'Montag':\n\n if(Eintrag.Montagseinsatz) {\n\n Stunden += Eintrag.Montagsstunden;\n Minuten += Eintrag.Montagsminuten;\n }\n\n break;\n\n case 'Dienstag':\n\n if(Eintrag.Dienstagseinsatz) {\n\n Stunden += Eintrag.Dienstagsstunden;\n Minuten += Eintrag.Dienstagsminuten;\n }\n\n break;\n\n\n case 'Mittwoch':\n\n if(Eintrag.Mittwochseinsatz) {\n\n Stunden += Eintrag.Mittwochsstunden;\n Minuten += Eintrag.Mittwochsminuten;\n }\n\n break;\n\n case 'Donnerstag':\n\n if(Eintrag.Donnerstagseinsatz) {\n\n Stunden += Eintrag.Donnerstagsstunden;\n Minuten += Eintrag.Donnerstagsminuten;\n }\n\n break;\n\n case 'Freitag':\n\n if(Eintrag.Freitagseinsatz) {\n\n Stunden += Eintrag.Freitagsstunden;\n Minuten += Eintrag.Freitagsminuten;\n }\n\n break;\n }\n }\n\n Minuten = Minuten + 60 * Stunden;\n\n if(Minuten === 0) return '';\n else return '[' + (Minuten / 60).toFixed(2) + ' Std]';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'GetMeinewocheStunden', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyMitarbeiterposition() : Mitarbeiterpositionstruktur {\n\n try {\n\n return {\n\n _id: null,\n Bezeichnung: ''\n };\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Mitarbeiter', 'GetEmptyMitarbeiterposition', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyMitarbeiter(): Mitarbeiterstruktur {\n\n try {\n\n let Zeit: Moment = moment();\n\n return {\n\n _id: null,\n UserID: null,\n PositionID: null,\n Anrede: this.Const.NONE,\n Urlaub: 30,\n Resturlaub: 0,\n Location: \"\",\n Jobtitel: \"\",\n Vorname: \"\",\n Name: \"\",\n Kuerzel: \"\",\n Fachbereich: \"Unbekannt\",\n StandortID: \"\",\n Email: \"\",\n Mobil: \"\",\n SettingsID: null,\n Telefon: \"\",\n Zeitstring: Zeit.format('HH:mm DD.MM.YYYY'),\n Zeitstempel: Zeit.valueOf(),\n Deleted: false,\n Planeradministrator: false,\n Homeofficefreigaben: false,\n Homeofficefreigabestandorte: [],\n Urlaubsfreigabeorte: [],\n Urlaubsfreigaben: false,\n Favoritenliste: [],\n Meintagliste: [],\n Meinewocheliste: [],\n Archiviert: false,\n Urlaubsliste: [],\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'GetEmptyMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n GetMitarbeitername(id: string): string {\n\n try {\n\n let Mitarbeiter: Mitarbeiterstruktur = lodash.find(this.Pool.Mitarbeiterliste, {_id: id});\n\n if(lodash.isUndefined(Mitarbeiter)) return 'Unbekannt';\n else {\n\n return Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'GetMitarbeitername', this.Debug.Typen.Service);\n }\n }\n\n public InitService() {\n\n try {\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter.StandortID === this.Pool.Mitarbeiterdaten.StandortID) Mitarbeiter.ShowInGesamtuebersicht = true;\n else Mitarbeiter.ShowInGesamtuebersicht = false;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'InitService', this.Debug.Typen.Service);\n }\n }\n\n public FinishService() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'FinishService', this.Debug.Typen.Service);\n }\n }\n\n public UpdateMitarbeiter(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Observer: Observable;\n let Merker: Mitarbeiterstruktur;\n // let Params = new HttpParams();\n\n delete mitarbeiter.__v;\n\n // Params.set('id', mitarbeiter._id);\n\n for(let Urlaubsliste of mitarbeiter.Urlaubsliste) {\n\n Urlaubsliste.Urlaubzeitspannen.sort((a: Urlauzeitspannenstruktur, b:Urlauzeitspannenstruktur) => {\n\n if (a.Startstempel < b.Startstempel) return -1;\n if (a.Startstempel > b.Startstempel) return 1;\n return 0;\n });\n }\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerMitarbeiterUrl, mitarbeiter);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n Merker = ne.Mitarbeiter;\n },\n complete: () => {\n\n if(Merker !== null) {\n\n\n this.CurrentMitarbeiter = Merker;\n // this.Pool.Mitarbeiterdaten = Merker;\n // this.Pool.MitarbeiterdatenChanged.emit();\n\n this.UpdateMitarbeiterliste(this.CurrentMitarbeiter);\n this.Pool.MitarbeiterlisteChanged.emit();\n }\n else {\n\n reject(new Error('Mitarbeiter auf Server nicht gefunden.'));\n }\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiter', this.Debug.Typen.Page);\n }\n }\n\n\n public GetPositionsbezeichnung(id: string): string {\n\n try {\n\n let Mitarbeiterposition: Mitarbeiterpositionstruktur;\n\n if(id !== null) {\n\n Mitarbeiterposition = lodash.find(this.Pool.Mitarbeiterpositionenliste, {_id: id});\n\n if(!lodash.isUndefined(Mitarbeiterposition)) {\n\n return Mitarbeiterposition.Bezeichnung;\n }\n\n }\n else return 'Unbekannt';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Mitarbeiter', 'GetPosition', this.Debug.Typen.Service);\n }\n }\n\n public UpdateMitarbeiterposition(mitarbeiterposition: Mitarbeiterpositionstruktur) {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams();\n let Merker: Mitarbeiterpositionstruktur;\n\n delete mitarbeiterposition.__v;\n\n Params.set('id', mitarbeiterposition._id);\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerMitarbeiterpositionUrl, mitarbeiterposition);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n Merker = ne.Mitarbeiterposition;\n },\n complete: () => {\n\n if(Merker !== null) {\n\n this.CurrentPosition = Merker;\n\n this.UpdateMitarbeiterpositionliste(this.CurrentPosition);\n this.Pool.MitarbeiterpositionenlisteChanged.emit();\n }\n else {\n\n reject(new Error('Mitarbeiterposition auf Server nicht gefunden.'));\n }\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiterposition', this.Debug.Typen.Page);\n }\n }\n\n public UpdateMitarbeiterUrlaub(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams();\n let Merker: Mitarbeiterstruktur;\n\n delete mitarbeiter.__v;\n\n Params.set('id', mitarbeiter._id);\n\n for(let Urlaubsliste of mitarbeiter.Urlaubsliste) {\n\n Urlaubsliste.Urlaubzeitspannen.sort((a: Urlauzeitspannenstruktur, b:Urlauzeitspannenstruktur) => {\n\n if (a.Startstempel < b.Startstempel) return -1;\n if (a.Startstempel > b.Startstempel) return 1;\n return 0;\n });\n }\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerMitarbeiterUrl, mitarbeiter);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n Merker = ne.Mitarbeiter;\n },\n complete: () => {\n\n if(Merker !== null) {\n\n this.UpdateMitarbeiterliste(Merker);\n this.Pool.MitarbeiterlisteChanged.emit();\n\n resove(true);\n }\n else {\n\n reject(new Error('Mitarbeiter auf Server nicht gefunden.'));\n }\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiterUrlaub', this.Debug.Typen.Page);\n }\n }\n\n\n private UpdateMitarbeiterliste(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Index: number;\n\n Index = lodash.findIndex(this.Pool.Mitarbeiterliste, {_id : mitarbeiter._id});\n\n if(Index !== -1) {\n\n this.Pool.Mitarbeiterliste[Index] = mitarbeiter; // aktualisieren\n\n this.Debug.ShowMessage('Mitarbeiterliste updated: ' + mitarbeiter.Name, 'Database Mitarbeiter', 'UpdateMitarbeiter', this.Debug.Typen.Service);\n }\n else {\n\n this.Debug.ShowMessage('Mitarbeiter nicht gefunden -> neuen Mitarbeiter hinzufügen', 'Database Mitarbeiter', 'UpdateMitarbeiter', this.Debug.Typen.Service);\n\n this.Pool.Mitarbeiterliste.push(mitarbeiter); // neuen\n }\n\n // Gelöscht markiert Einträge entfernen\n\n this.Pool.Mitarbeiterliste = lodash.filter(this.Pool.Mitarbeiterliste, (currentmitarbeiter: Mitarbeiterstruktur) => {\n\n return currentmitarbeiter.Deleted === false;\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiterliste', this.Debug.Typen.Service);\n }\n }\n\n private UpdateMitarbeiterpositionliste(mitarbeiterposition: Mitarbeiterpositionstruktur) {\n\n try {\n\n let Index: number;\n\n Index = lodash.findIndex(this.Pool.Mitarbeiterpositionenliste, {_id : mitarbeiterposition._id});\n\n if(Index !== -1) {\n\n this.Pool.Mitarbeiterpositionenliste[Index] = mitarbeiterposition; // aktualisieren\n\n this.Debug.ShowMessage('Mitarbeiterliste updated: ' + mitarbeiterposition.Bezeichnung, 'Database Mitarbeiter', 'UpdateMitarbeiterpositionliste', this.Debug.Typen.Service);\n }\n else {\n\n this.Debug.ShowMessage('Mitarbeiterposition nicht gefunden -> neuen Mitarbeiter hinzufügen', 'Database Mitarbeiter', 'UpdateMitarbeiterpositionliste', this.Debug.Typen.Service);\n\n this.Pool.Mitarbeiterpositionenliste.push(mitarbeiterposition); // neuen\n }\n\n this.Pool.Mitarbeiterpositionenliste.sort((a: Mitarbeiterpositionstruktur, b: Mitarbeiterpositionstruktur) => {\n\n if (a.Bezeichnung < b.Bezeichnung) return -1;\n if (a.Bezeichnung > b.Bezeichnung) return 1;\n return 0;\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'UpdateMitarbeiterpositionliste', this.Debug.Typen.Service);\n }\n }\n\n public AddMitarbeiter(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n let Observer: Observable;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n return new Promise((resolve, reject) => {\n\n // POST für neuen Eintrag\n\n\n console.log('POST new Mitarbeiter:');\n console.log(mitarbeiter);\n\n Observer = this.http.post(this.ServerMitarbeiterUrl, mitarbeiter);\n\n Observer.subscribe({\n\n next: (result) => {\n\n Mitarbeiter = result.Mitarbeiter;\n\n },\n complete: () => {\n\n\n this.UpdateMitarbeiterliste(Mitarbeiter);\n this.Pool.MitarbeiterlisteChanged.emit();\n\n resolve(Mitarbeiter);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'AddMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public AddMitarbeiterposition(mitarbeiterposition: Mitarbeiterpositionstruktur) {\n\n try {\n\n let Observer: Observable;\n let Mitarbeiterposition: Mitarbeiterpositionstruktur;\n\n return new Promise((resolve, reject) => {\n\n // POST für neuen Eintrag\n\n console.log('POST new Mitarbeiterposition:');\n console.log(mitarbeiterposition);\n\n Observer = this.http.post(this.ServerMitarbeiterpositionUrl, mitarbeiterposition);\n\n Observer.subscribe({\n\n next: (result) => {\n\n Mitarbeiterposition = result.Mitarbeiterposition;\n\n },\n complete: () => {\n\n\n this.UpdateMitarbeiterpositionliste(Mitarbeiterposition);\n this.Pool.MitarbeiterpositionenlisteChanged.emit();\n\n resolve(Mitarbeiterposition);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'AddMitarbeiterposition', this.Debug.Typen.Service);\n }\n }\n\n public CheckMitarbeiterExists(email: string): boolean {\n\n try {\n\n let Index: number = lodash.findIndex(this.Pool.Mitarbeiterliste, { Email: email});\n\n return Index !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeiter', 'CheckMitarbeiterExists', this.Debug.Typen.Service);\n }\n }\n\n public GetMitarbeiterByEmail(email: string): Mitarbeiterstruktur {\n\n try {\n\n let Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {Email: email });\n\n return lodash.isUndefined(Mitarbeiter) ? null : Mitarbeiter;\n\n }\n catch(error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Mitarbeiter', 'GetMitarbeiterByEmail', this.Debug.Typen.Service);\n }\n }\n\n\n public GetMitarbeiterByID(id: string): Mitarbeiterstruktur {\n\n try {\n\n let Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: id });\n\n return lodash.isUndefined(Mitarbeiter) ? null : Mitarbeiter;\n\n }\n catch(error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Mitarbeiter', 'GetMitarbeiterByEmail', this.Debug.Typen.Service);\n }\n }\n\n public GetMitarbeiterByGraph(email: string): Promise {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams({fromObject: {email: email}});\n let Daten: any;\n\n return new Promise((resove, reject) => {\n\n Observer = this.http.get(this.ServerMitarbeiterUrl, { params: Params });\n\n Observer.subscribe({\n\n next: (result) => {\n\n Daten = result;\n },\n complete: () => {\n\n resove(Daten);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'SaveMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public DeleteMitarbeiter(mitarbeiter: Mitarbeiterstruktur): Promise {\n\n try {\n\n mitarbeiter.Deleted = true;\n\n return this.UpdateMitarbeiter(mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'DeleteMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n GetHomeofficefreigeberliste(_id: string): Mitarbeiterstruktur[] {\n\n try {\n\n let Freigeberliste: Mitarbeiterstruktur[] = lodash.filter(this.Pool.Mitarbeiterliste, (mitarbeiter: Mitarbeiterstruktur) => {\n\n return mitarbeiter.Homeofficefreigaben === true;\n });\n\n Freigeberliste = lodash.filter(Freigeberliste, (mitarbeiter: Mitarbeiterstruktur) => {\n\n return mitarbeiter.Homeofficefreigabestandorte.indexOf(_id) !== -1;\n });\n\n return Freigeberliste;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'GetHomeofficefreigeberliste', this.Debug.Typen.Service);\n }\n }\n\n GetUrlausbsfreigeberliste(_id: string): Mitarbeiterstruktur[] {\n\n try {\n\n let Freigeberliste: Mitarbeiterstruktur[] = lodash.filter(this.Pool.Mitarbeiterliste, (mitarbeiter: Mitarbeiterstruktur) => {\n\n return mitarbeiter.Urlaubsfreigaben === true;\n });\n\n Freigeberliste = lodash.filter(Freigeberliste, (mitarbeiter: Mitarbeiterstruktur) => {\n\n return mitarbeiter.Urlaubsfreigabeorte.indexOf(_id) !== -1;\n });\n\n return Freigeberliste;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Standorteliste', 'GetUrlausbsfreigeberliste', this.Debug.Typen.Component);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {Observable} from \"rxjs\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport {Mitarbeitersettingsstruktur} from \"../../dataclasses/mitarbeitersettingsstruktur\";\nimport {Aufgabenansichtstruktur} from \"../../dataclasses/aufgabenansichtstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseMitarbeitersettingsService {\n\n private ServerSettingsUrl: string;\n\n constructor(private Debug: DebugProvider,\n private http: HttpClient,\n private Pool: DatabasePoolService) {\n try {\n\n this.ServerSettingsUrl = this.Pool.CockpitdockerURL + '/settings/';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n\n public InitService() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'InitService', this.Debug.Typen.Service);\n }\n }\n\n public FinishService() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'FinishService', this.Debug.Typen.Service);\n }\n }\n\n SaveMitarbeitersettings() {\n\n let Observer: Observable;\n\n return new Promise((resolve, reject) => {\n\n if(this.Pool.Mitarbeitersettings._id === null) {\n\n // POST für neue Settings\n\n Observer = this.http.post(this.ServerSettingsUrl, this.Pool.Mitarbeitersettings);\n\n Observer.subscribe({\n\n next: (result) => {\n\n this.Pool.Mitarbeitersettings = result.Settings;\n\n },\n complete: () => {\n\n this.Pool.MitarbeitersettingslisteChanged.emit();\n\n resolve(this.Pool.Mitarbeitersettings);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n\n }\n else {\n\n // PUT für update Settings\n\n delete this.Pool.Mitarbeitersettings.__v;\n\n Observer = this.http.put(this.ServerSettingsUrl, this.Pool.Mitarbeitersettings);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n this.Pool.Mitarbeitersettings = ne.Settings;\n },\n complete: () => {\n\n this.Pool.MitarbeitersettingslisteChanged.emit();\n\n resolve(this.Pool.Mitarbeitersettings);\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'SaveMitarbeitersettings', this.Debug.Typen.Service);\n }\n\n public UpdateMitarbeitersettings(settings: Mitarbeitersettingsstruktur, ansicht: Aufgabenansichtstruktur) {\n\n try {\n\n let Observer: Observable;\n let Params = new HttpParams();\n let Index: number;\n\n Params.set('id', settings._id);\n\n if(ansicht !== null) {\n\n if(ansicht.ProjektID !== null) {\n\n Index = lodash.findIndex(settings.Aufgabenansicht, { ProjektID: ansicht.ProjektID });\n\n if(Index === -1) settings.Aufgabenansicht.push(ansicht);\n }\n }\n\n delete settings.__v;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerSettingsUrl, settings);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n this.Pool.Mitarbeitersettings = ne.Settings;\n\n },\n complete: () => {\n\n this.Pool.MitarbeitersettingsChanged.emit();\n\n this.UpdateMitarbeitersettingsliste(settings);\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'UpdateMitarbeiter', this.Debug.Typen.Page);\n }\n }\n\n\n private UpdateMitarbeitersettingsliste(settings: Mitarbeitersettingsstruktur) {\n\n try {\n\n let Index: number;\n\n\n Index = lodash.findIndex(this.Pool.Mitarbeitersettingsliste, {_id : settings._id});\n\n if(Index !== -1) {\n\n this.Pool.Mitarbeitersettingsliste[Index] = settings; // aktualisieren\n\n this.Debug.ShowMessage('Mitarbeitersettingsliste updated: ' + settings.MitarbeiterID, 'Database Mitarbeitersettings', 'UpdateMitarbeitersettingsliste', this.Debug.Typen.Service);\n\n }\n else {\n\n this.Debug.ShowMessage('Mitarbeitersetting nicht gefunden -> neuen Mitarbeiter hinzufügen', 'Database Mitarbeitersettings', 'UpdateMitarbeitersettingsliste', this.Debug.Typen.Service);\n\n this.Pool.Mitarbeitersettingsliste.push(settings); // neuen\n }\n\n // Gelöscht markiert Einträge entfernen\n\n this.Pool.Mitarbeitersettingsliste = lodash.filter(this.Pool.Mitarbeitersettingsliste, (currentsetting: Mitarbeitersettingsstruktur) => {\n\n return currentsetting.Deleted === false;\n });\n\n this.Pool.MitarbeitersettingslisteChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'UpdateMitarbeiterliste', this.Debug.Typen.Service);\n }\n }\n\n public AddMitarbeitersetting(setting: Mitarbeitersettingsstruktur) {\n\n try {\n\n let Observer: Observable;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n return new Promise((resolve, reject) => {\n\n // POST für neuen Eintrag\n\n Observer = this.http.post(this.ServerSettingsUrl, setting);\n\n Observer.subscribe({\n\n next: (result) => {\n\n debugger;\n\n setting = result.Setting;\n\n },\n complete: () => {\n\n\n this.UpdateMitarbeitersettingsliste(setting);\n this.Pool.MitarbeitersettingslisteChanged.emit();\n\n resolve(Mitarbeiter);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'AddMitarbeiter', this.Debug.Typen.Page);\n }\n }\n\n /*\n public DeleteMitarbeitersetting(setting: Mitarbeitersettingsstruktur): Promise {\n\n try {\n\n setting.Deleted = true;\n\n return this.UpdateMitarbeitersettings(setting);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Mitarbeitersettings', 'DeleteMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n */\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {ConstProvider} from \"../const/const\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport { v4 as uuidv4 } from 'uuid';\nimport * as lodash from \"lodash-es\";\nimport {Mitarbeitersettingsstruktur} from \"../../dataclasses/mitarbeitersettingsstruktur\";\nimport {Changelogstruktur} from \"../../dataclasses/changelogstruktur\";\nimport {environment} from \"../../../environments/environment\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {BasicsProvider} from \"../basics/basics\";\nimport {Mitarbeiterpositionstruktur} from \"../../dataclasses/mitarbeiterpositionstruktur\";\nimport {Appeinstellungenstruktur} from \"../../dataclasses/appeinstellungenstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabasePoolService {\n\n public Standorteliste: Standortestruktur[];\n public Mitarbeiterliste: Mitarbeiterstruktur[];\n public Mitarbeiterpositionenliste: Mitarbeiterpositionstruktur[];\n public Mitarbeitersettingsliste: Mitarbeitersettingsstruktur[];\n public CockpitserverURL: string;\n public CockpitdockerURL: string;\n public Mitarbeiterdaten: Mitarbeiterstruktur;\n public Mitarbeiterstandort: Standortestruktur;\n public Mitarbeitersettings: Mitarbeitersettingsstruktur;\n public ShowProgress: boolean;\n public MaxProgressValue: number;\n public CurrentProgressValue: number;\n public ProgressMessage: string;\n public Changlogliste: Changelogstruktur[];\n public MitarbeiterdatenHasError:boolean;\n public Emailcontent: string;\n // public Outlookkatekorien: Outlookkategoriesstruktur[];\n // public Fachbereich: Fachbereiche;\n // public Festlegungskategorienliste: Festlegungskategoriestruktur[][];\n public ProjektdatenLoaded: boolean;\n public Emailcontentvarinaten: any;\n public Appeinstellungen: Appeinstellungenstruktur;\n\n // public Simontabellenliste: Simontabellestruktur[][];\n\n public StandortelisteChanged: EventEmitter = new EventEmitter();\n public MitarbeiterlisteChanged: EventEmitter = new EventEmitter();\n public MitarbeiterpositionenlisteChanged: EventEmitter = new EventEmitter();\n public MitarbeiterdatenChanged: EventEmitter = new EventEmitter();\n public MitarbeitersettingslisteChanged: EventEmitter = new EventEmitter();\n public MitarbeitersettingsChanged: EventEmitter = new EventEmitter();\n public LoadingAllDataFinished: EventEmitter = new EventEmitter();\n public ChangeloglisteChanged: EventEmitter = new EventEmitter();\n public Signatur: string;\n public ApplicationURL: string;\n\n constructor(private Debug: DebugProvider,\n private Const: ConstProvider,\n private Basics: BasicsProvider,\n private Http: HttpClient) {\n try {\n\n this.Emailcontentvarinaten = {\n\n NONE: this.Const.NONE,\n Protokoll: 'Protokoll',\n Bautagebuch: 'Bautagebuch',\n Festlegungen: 'Festlegungen',\n LOPListe: 'LOPListe',\n Aufgabenliste: 'Aufgabenliste',\n Simontabelle: 'Simontabelle'\n };\n\n this.Mitarbeiterdaten = null;\n this.MitarbeiterdatenHasError = true;\n this.Mitarbeitersettings = null;\n this.Mitarbeiterpositionenliste = [];\n this.Mitarbeiterstandort = null;\n this.ShowProgress = false;\n this.Mitarbeitersettingsliste = [];\n this.MaxProgressValue = 0;\n this.CurrentProgressValue = 0;\n this.Standorteliste = [];\n this.Mitarbeiterliste = [];\n this.Changlogliste = [];\n\n this.CockpitserverURL = environment.production === true || environment.useonlinedb === true ? 'https://bae-urlaubsplaner-server.azurewebsites.net' : 'http://localhost:8080';\n this.CockpitdockerURL = environment.production === true || environment.useonlinedb === true ? 'https://bae-urlaubsplaner-docker.azurewebsites.net' : 'http://localhost:80';\n this.ApplicationURL = environment.production === true ? 'https://nice-glacier-0c9ec7703.3.azurestaticapps.net' : 'http://localhost:4200';\n this.Emailcontent = this.Emailcontentvarinaten.NONE;\n\n this.ProjektdatenLoaded = false;\n this.Appeinstellungen = null;\n\n this.Signatur =\n `\n Beste Grüße,

\n [Name]
\n [Jobtitel]

\n
\n \n BAE-GmbH
\n Ein Unternehmen der BAE GROUP\n
\n \n \n \n \n \n \n \n
[Strasse]
[Ort]
Telefon:[Telefon]
Mobil:[Mobil]
Email:[Email]
Web:www.bae-group.eu
\n

\n \n BAE GmbH, Sitz: Coburg, Amtsgericht Coburg, HRB 6357.
\n Geschäftsführer Jürgen Kerscher, Michael Hölzle
\n Standorte BAE GROUP: Frankfurt, Berlin, München, Coburg, Bamberg, Deggendorf, Sofia, Varna
\n
\n
\n \n \n \n \n \n \n \n
\n Der Inhalt dieser E-Mail ist ausschließlich für den bezeichneten Adressaten bestimmt. Wenn Sie nicht der vorgesehene Adressat dieser E-Mail oder dessen\n Vertreter sein sollten, so beachten Sie, dass jede Form der Kenntnis- und Vorteilsnahme, Veröffentlichung, Vervielfältigung oder Weitergabe des\n Inhalts dieser Mail unzulässig ist. Wir bitten Sie, sich in diesem Fall mit dem Absender der E-Mail in Verbindung zu setzen. Aussagen gegenüber\n dem Adressaten unterliegen den Regelungen des zugrundeliegenden Angebotes bzw. Auftrags, insbesondere den Allgemeinen Auftragsbedingungen und der\n individuellen Haftungsvereinbarung. Der Inhalt der E-Mail ist nur rechtsverbindlich, wenn er unsererseits durch einen Brief entsprechend bestätigt wird.\n Die Versendung von E-Mails an uns hat keine fristwahrende Wirkung. Wir möchten Sie außerdem darauf hinweisen, dass die Kommunikation per E-Mail über das\n Internet unsicher ist, da für unberechtigte Dritte grundsätzlich die Möglichkeit der Kenntnisnahme und Manipulation besteht.\n
\n The information contained in this email is intended exclusively for the addressee. Access to this email by anyone else is unauthorized. If you are not\n the intended recipient or his representative, any form of disclosure, reproduction, distribution or any action taken or refrained from in reliance on it,\n is prohibited. Please notify the sender immediately. All statements directed via this email to our clients are subject to the conditions of the submitted\n offer respectively order, in particular to the General Terms and Conditions and to the individual liability agreement between the parties. The content of\n this email is not legally binding unless confirmed by letter. The sending of emails to us will not constitute compliance with any time limits or deadlines.\n Please note that communication via email over the internet is insecure because third parties generally have the possibility to access and manipulate emails.\n
\n \n \n \n \n \n
PThink about Nature before you print!
\n `;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public GetFilledSignatur(Mitarbeiterdaten: Mitarbeiterstruktur, local: boolean): string {\n\n try {\n\n let Signatur: string = this.Signatur;\n let Telefon: string = Mitarbeiterdaten.Telefon;\n let Mobil: string = Mitarbeiterdaten.Mobil;\n let Email: string = Mitarbeiterdaten.Email;\n let Name: string = Mitarbeiterdaten.Vorname + ' ' + Mitarbeiterdaten.Name;\n let Jobtitel: string = Mitarbeiterdaten.Jobtitel;\n let Standort: Standortestruktur = lodash.find(this.Standorteliste, {_id: Mitarbeiterdaten.StandortID });\n let Strasse: string;\n let Ort: string;\n\n if(!lodash.isUndefined(Standort)) {\n\n Strasse = Standort.Strasse;\n Ort = Standort.PLZ + ' ' + Standort.Ort;\n\n Signatur = Signatur.replace('[Strasse]', Strasse);\n Signatur = Signatur.replace('[Ort]', Ort);\n }\n\n Signatur = Signatur.replace('[Name]', Name);\n Signatur = Signatur.replace('[Jobtitel]', Jobtitel);\n Signatur = Signatur.replace('[Telefon]', Telefon);\n Signatur = Signatur.replace('[Mobil]', Mobil);\n\n\n Signatur = Signatur.split('[Email]').join(Email);\n\n // debugger;\n\n if(local) {\n\n Signatur = Signatur.split('[Image]').join(this.Basics.WebAppUrl + '/assets/images/group_logo.png');\n }\n else {\n\n Signatur = Signatur.split('[Image]').join(this.Basics.WebAppUrl + '/assets/images/group_logo.png');\n debugger;\n }\n\n return Signatur;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Pool', 'GetFilledSignatur', this.Debug.Typen.Service);\n }\n }\n\n /*\n\n\n public ReadProjektpunkteliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let ProjektpunkteObservable: Observable;\n\n this.Projektpunkteliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey, deleted: false }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n ProjektpunkteObservable = this.Http.get(this.CockpitserverURL + '/projektpunkte', { headers: Headers, params: Params } );\n\n ProjektpunkteObservable.subscribe({\n\n next: (data) => {\n\n this.Projektpunkteliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n this.Debug.ShowMessage('Read Projektpunkte liste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadProjektpunkteliste', this.Debug.Typen.Service);\n\n this.Projektpunkteliste[projekt.Projektkey].forEach((Projektpunkt: Projektpunktestruktur) => {\n\n if(lodash.isUndefined(Projektpunkt.Zeitansatz)) Projektpunkt.Zeitansatz = 30;\n if(lodash.isUndefined(Projektpunkt.Zeitansatz)) Projektpunkt.Zeitansatz = 30;\n if(lodash.isUndefined(Projektpunkt.Zeitansatzeinheit)) Projektpunkt.Zeitansatzeinheit = this.Const.Zeitansatzeinheitvarianten.Minuten;\n if(lodash.isUndefined(Projektpunkt.Geschlossenzeitstempel)) Projektpunkt.Geschlossenzeitstempel = null;\n if(lodash.isUndefined(Projektpunkt.Geschlossenzeitstring)) Projektpunkt.Geschlossenzeitstring = null;\n if(lodash.isUndefined(Projektpunkt.EndeKalenderwoche)) Projektpunkt.EndeKalenderwoche = null;\n if(lodash.isUndefined(Projektpunkt.LOPListeID)) Projektpunkt.LOPListeID = null;\n if(lodash.isUndefined(Projektpunkt.Prioritaet)) Projektpunkt.Prioritaet = null;\n if(lodash.isUndefined(Projektpunkt.Thematik)) Projektpunkt.Thematik = '';\n if(lodash.isUndefined(Projektpunkt.EmailID)) Projektpunkt.EmailID = null;\n if(lodash.isUndefined(Projektpunkt.Leistungsphase)) Projektpunkt.Leistungsphase = this.Const.Leistungsphasenvarianten.LPH3;\n if(lodash.isUndefined(Projektpunkt.OutlookkatgorieID)) Projektpunkt.OutlookkatgorieID = this.Const.NONE;\n if(lodash.isUndefined(Projektpunkt.PlanungsmatrixID)) Projektpunkt.PlanungsmatrixID = null;\n if(lodash.isUndefined(Projektpunkt.AufgabenbereichID)) Projektpunkt.AufgabenbereichID = null;\n if(lodash.isUndefined(Projektpunkt.AufgabenteilbereichID)) Projektpunkt.AufgabenteilbereichID = null;\n if(lodash.isUndefined(Projektpunkt.Matrixanwendung)) Projektpunkt.Matrixanwendung = false;\n if(lodash.isUndefined(Projektpunkt.Bilderliste)) Projektpunkt.Bilderliste = [];\n if(lodash.isUndefined(Projektpunkt.ProtokollShowBilder)) Projektpunkt.ProtokollShowBilder = true;\n if(lodash.isUndefined(Projektpunkt.Thumbnailsize)) Projektpunkt.Thumbnailsize = 'small';\n if(lodash.isUndefined(Projektpunkt.Ruecklaufreminderliste)) Projektpunkt.Ruecklaufreminderliste = [];\n if(lodash.isUndefined(Projektpunkt.LV_relevant)) Projektpunkt.LV_relevant = true;\n if(lodash.isUndefined(Projektpunkt.Planung_relevant)) Projektpunkt.Planung_relevant = true;\n if(lodash.isUndefined(Projektpunkt.LV_Eintrag)) Projektpunkt.LV_Eintrag = false;\n if(lodash.isUndefined(Projektpunkt.Planung_Eintrag)) Projektpunkt.Planung_Eintrag = false;\n\n Projektpunkt.Anmerkungenliste.forEach((Anmerkung: Projektpunktanmerkungstruktur) => {\n\n Anmerkung.LiveEditor = false;\n });\n });\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadProjektpunkteliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadDeletedProjektpunkteliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let ProjektpunkteObservable: Observable;\n\n this.DeletedProjektpunkteliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey, deleted: true }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n ProjektpunkteObservable = this.Http.get(this.CockpitserverURL + '/projektpunkte', { headers: Headers, params: Params } );\n\n ProjektpunkteObservable.subscribe({\n\n next: (data) => {\n\n\n this.DeletedProjektpunkteliste[projekt.Projektkey] = data;\n },\n complete: () => {\n\n this.Debug.ShowMessage('Read gelöschte Projektpunkte liste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadDeletedProjektpunkteliste', this.Debug.Typen.Service);\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadDeletedProjektpunkteliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadProtokollliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let ProtokollObservable: Observable;\n\n this.Protokollliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n ProtokollObservable = this.Http.get(this.CockpitserverURL + '/protokolle', { headers: Headers, params: Params } );\n\n ProtokollObservable.subscribe({\n\n next: (data) => {\n\n // debugger;\n\n this.Protokollliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n\n // debugger;\n\n this.Debug.ShowMessage('Read Protokollliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadProtokollliste', this.Debug.Typen.Service);\n\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadProtokollliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadLOPListe(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let LOPListeObservable: Observable;\n\n this.LOPListe[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n LOPListeObservable = this.Http.get(this.CockpitserverURL + '/lopliste', { headers: Headers, params: Params } );\n\n LOPListeObservable.subscribe({\n\n next: (data) => {\n\n // debugger;\n\n this.LOPListe[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n\n // debugger;\n\n this.Debug.ShowMessage('Read LOP Liste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadLOPListe', this.Debug.Typen.Service);\n\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadLOPListe', this.Debug.Typen.Service);\n }\n }\n\n public ReadNotizenkapitelliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let NotizenkapitelObservable: Observable;\n\n // debugger;\n\n this.Notizenkapitelliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n NotizenkapitelObservable = this.Http.get(this.CockpitserverURL + '/notizenkapitel', { headers: Headers, params: Params } );\n\n NotizenkapitelObservable.subscribe({\n\n next: (data) => {\n\n // debugger\n\n this.Notizenkapitelliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n this.Notizenkapitelliste[projekt.Projektkey].sort((a: Notizenkapitelstruktur, b: Notizenkapitelstruktur) => {\n\n if (a.Titel < b.Titel) return -1;\n if (a.Titel > b.Titel) return 1;\n return 0;\n });\n\n // debugger;\n\n this.Debug.ShowMessage('Read Notizenliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'NotizenkReadNotizenkapitellisteapitelroutsClass', this.Debug.Typen.Service);\n\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadNotizenkapitelliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadFestlegungskategorieliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let FestlegungskategorieObservable: Observable;\n\n // debugger;\n\n this.Festlegungskategorienliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n FestlegungskategorieObservable = this.Http.get(this.CockpitserverURL + '/festlegungskategorie', { headers: Headers, params: Params } );\n\n FestlegungskategorieObservable.subscribe({\n\n next: (data) => {\n\n this.Festlegungskategorienliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n\n\n\n this.Debug.ShowMessage('Read Festlegungskategorieliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadFestlegungskategorieliste', this.Debug.Typen.Service);\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadFestlegungskategorieliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadSimontabellen(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let Tabelle: Simontabellestruktur;\n let SimontabellenObservable: Observable;\n\n this.Simontabellenliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n SimontabellenObservable = this.Http.get(this.CockpitserverURL + '/simontabellen', { headers: Headers, params: Params } );\n\n SimontabellenObservable.subscribe({\n\n next: (data) => {\n\n this.Simontabellenliste[projekt.Projektkey] = data;\n },\n complete: () => {\n\n for(Tabelle of this.Simontabellenliste[projekt.Projektkey] ) {\n\n if(lodash.isUndefined(Tabelle.Sicherheitseinbehalt)) Tabelle.Sicherheitseinbehalt = 5;\n\n for(let Rechnung of Tabelle.Rechnungen) {\n\n if(lodash.isUndefined(Rechnung.Verfasser)) Rechnung.Verfasser = {\n\n Name: this.Mitarbeiterdaten.Name,\n Vorname: this.Mitarbeiterdaten.Vorname,\n Email: this.Mitarbeiterdaten.Email\n };\n\n\n if(lodash.isUndefined(Rechnung.GesendetZeitstempel)) Rechnung.GesendetZeitstempel = null;\n if(lodash.isUndefined(Rechnung.EmpfaengerInternIDListe))\n {\n\n Rechnung.EmpfaengerInternIDListe = [];\n Rechnung.EmpfaengerInternIDListe.push(this.Mitarbeiterdaten._id);\n }\n if(lodash.isUndefined(Rechnung.EmpfaengerExternIDListe)) Rechnung.EmpfaengerExternIDListe = [];\n if(lodash.isUndefined(Rechnung.GesendetZeitstring)) Rechnung.GesendetZeitstring = null;\n }\n }\n\n this.Debug.ShowMessage('Read Simontabellenliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadSimontabellen', this.Debug.Typen.Service);\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadSimontabellen', this.Debug.Typen.Service);\n }\n }\n\n public ReadBautagebuchliste(projekt: Projektestruktur): Promise {\n\n try {\n\n let Params: HttpParams;\n let Headers: HttpHeaders;\n let BautagebuchObservable: Observable;\n\n this.Bautagebuchliste[projekt.Projektkey] = [];\n\n return new Promise((resolve, reject) => {\n\n Params = new HttpParams({ fromObject: { projektkey: projekt.Projektkey }} );\n Headers = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n BautagebuchObservable = this.Http.get(this.CockpitserverURL + '/bautagebuch', { headers: Headers, params: Params } );\n\n BautagebuchObservable.subscribe({\n\n next: (data) => {\n\n this.Bautagebuchliste[projekt.Projektkey] = data;\n\n },\n complete: () => {\n\n\n this.Bautagebuchliste[projekt.Projektkey].forEach((Tagebuch: Bautagebuchstruktur) => {\n\n if(lodash.isUndefined(Tagebuch.GesendetZeitstring)) Tagebuch.GesendetZeitstring = this.Const.NONE;\n if(lodash.isUndefined(Tagebuch.GesendetZeitstempel)) Tagebuch.GesendetZeitstempel = null;\n if(lodash.isUndefined(Tagebuch.BeteiligtInternIDListe)) Tagebuch.BeteiligtInternIDListe = [this.Mitarbeiterdaten._id];\n\n });\n\n // Tagebücher absteigend mit letztem Eintrag zuerst sortieren\n\n this.Bautagebuchliste[projekt.Projektkey].sort((a: Bautagebuchstruktur, b: Bautagebuchstruktur) => {\n\n if (a.Zeitstempel > b.Zeitstempel) return -1;\n if (a.Zeitstempel < b.Zeitstempel) return 1;\n return 0;\n });\n\n this.Debug.ShowMessage('Read Bautagebuchliste von ' + projekt.Projektkurzname + ' fertig.', 'Database Pool', 'ReadBautagebuchliste', this.Debug.Typen.Service);\n\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadProtokollliste', this.Debug.Typen.Service);\n }\n }\n\n\n\n */\n\n public ReadMitarbeiterliste(): Promise {\n\n try {\n\n this.Mitarbeiterliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let MitarbeiterObservable = this.Http.get(this.CockpitdockerURL + '/mitarbeiter', { headers: headers } );\n\n MitarbeiterObservable.subscribe({\n\n\n next: (data) => {\n\n this.Mitarbeiterliste = data;\n\n },\n complete: () => {\n\n for(let Mitarbeiter of this.Mitarbeiterliste) {\n\n Mitarbeiter = this.InitMitarbeiter(Mitarbeiter);\n }\n\n this.MitarbeiterlisteChanged.emit();\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n console.log(error.message);\n console.log('Mitarbeiterliste lesen war fehlerhaft.');\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadMitarbeiterliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadMitarbeiterpositionenliste(): Promise {\n\n try {\n\n this.Mitarbeiterpositionenliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let MitarbeiterpositionnObservable = this.Http.get(this.CockpitdockerURL + '/mitarbeiterpositionen', { headers: headers } );\n\n MitarbeiterpositionnObservable.subscribe({\n\n next: (data) => {\n\n this.Mitarbeiterpositionenliste = data;\n\n },\n complete: () => {\n\n this.MitarbeiterpositionenlisteChanged.emit();\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n console.log('Error: ' + error.message);\n console.log('Mitarbeiterpositionenliste lesen war fehlerhaft.');\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadMitarbeiterpositionenliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadChangelogliste(): Promise {\n\n try {\n\n this.Changlogliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let ChangelogObservable = this.Http.get(this.CockpitdockerURL + '/changelog', { headers: headers } );\n\n ChangelogObservable.subscribe({\n\n next: (data) => {\n\n this.Changlogliste = data;\n\n },\n complete: () => {\n\n this.Changlogliste.sort((a: Changelogstruktur, b: Changelogstruktur) => {\n\n if (a.Zeitstempel > b.Zeitstempel) return -1;\n if (a.Zeitstempel < b.Zeitstempel) return 1;\n return 0;\n });\n\n this.ChangeloglisteChanged.emit();\n\n // debugger;\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadChangelogliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadStandorteliste(): Promise {\n\n try {\n\n this.Standorteliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let StandortObservable = this.Http.get(this.CockpitdockerURL + '/standorte', { headers: headers });\n\n StandortObservable.subscribe({\n\n next: (data) => {\n\n // ;\n\n this.Standorteliste = data;\n },\n complete: () => {\n\n // debugger;\n\n for(let Standort of this.Standorteliste) {\n\n if(lodash.isUndefined(Standort.Konfession)) Standort.Konfession = 'RK';\n if(lodash.isUndefined(Standort.Bundesland)) Standort.Bundesland = 'DE-BY';\n if(lodash.isUndefined(Standort.Land)) Standort.Land = 'DE';\n\n if(lodash.isUndefined(Standort.Homeofficefreigabepersonen)) Standort.Homeofficefreigabepersonen = [];\n if(lodash.isUndefined(Standort.Urlaubfreigabepersonen)) Standort.Urlaubfreigabepersonen = [];\n }\n\n\n this.StandortelisteChanged.emit();\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadStandorteliste', this.Debug.Typen.Service);\n }\n }\n\n public ReadSettingsliste(): Promise {\n\n try {\n\n this.Mitarbeitersettingsliste = [];\n\n let headers: HttpHeaders = new HttpHeaders({\n\n 'content-type': 'application/json',\n });\n\n return new Promise((resolve, reject) => {\n\n let SettingsObservable = this.Http.get(this.CockpitdockerURL + '/settings', { headers: headers });\n\n SettingsObservable.subscribe({\n\n next: (data) => {\n\n this.Mitarbeitersettingsliste = data;\n },\n complete: () => {\n\n this.MitarbeitersettingslisteChanged.emit();\n\n resolve(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadStandorteliste', this.Debug.Typen.Service);\n }\n }\n\n\n public InitMitarbeiter(mitarbeiter: Mitarbeiterstruktur): Mitarbeiterstruktur {\n\n try {\n\n if(lodash.isUndefined(mitarbeiter.SettingsID)) {\n\n mitarbeiter.SettingsID = null;\n }\n if(lodash.isUndefined(mitarbeiter.Archiviert)) {\n\n mitarbeiter.Archiviert = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Meintagliste)) {\n\n mitarbeiter.Meintagliste = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.Meinewocheliste)) {\n\n mitarbeiter.Meinewocheliste = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.Anrede)) {\n\n mitarbeiter.Anrede = this.Const.NONE;\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaub)) {\n\n mitarbeiter.Urlaub = 30;\n }\n\n if(lodash.isUndefined(mitarbeiter.Resturlaub)) {\n\n mitarbeiter.Resturlaub = 0;\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaubsliste)) {\n\n mitarbeiter.Urlaubsliste = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaubsfreigaben)) {\n\n mitarbeiter.Urlaubsfreigaben = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Planeradministrator)) {\n\n mitarbeiter.Planeradministrator = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaubsfreigaben)) {\n\n mitarbeiter.Urlaubsfreigaben = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Homeofficefreigaben)) {\n\n mitarbeiter.Homeofficefreigaben = false;\n }\n\n if(lodash.isUndefined(mitarbeiter.Homeofficefreigabestandorte)) {\n\n mitarbeiter.Homeofficefreigabestandorte = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.Urlaubsfreigabeorte)) {\n\n mitarbeiter.Urlaubsfreigabeorte = [];\n }\n\n if(lodash.isUndefined(mitarbeiter.PositionID)) {\n\n mitarbeiter.PositionID = null;\n }\n\n for(let Eintrag of mitarbeiter.Meinewocheliste) {\n\n if(lodash.isUndefined(Eintrag.Kalenderwoche)) Eintrag.Kalenderwoche = 0;\n }\n\n mitarbeiter.Urlaubsliste.sort((a: Urlaubsstruktur, b: Urlaubsstruktur) => {\n\n if (a.Jahr < b.Jahr) return -1;\n if (a.Jahr > b.Jahr) return 1;\n return 0;\n });\n\n return mitarbeiter;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'InitMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public CheckMitarbeiterdaten(): boolean {\n\n try {\n\n if(this.Mitarbeiterdaten !== null) {\n\n this.MitarbeiterdatenHasError = false;\n }\n else this.MitarbeiterdatenHasError = true;\n\n return this.MitarbeiterdatenHasError;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Pool', 'CheckMItarbeiterdaten', this.Debug.Typen.Service);\n }\n }\n\n /*\n\n public async ReadProjektdaten(projektliste: Projektestruktur[]): Promise {\n\n try {\n\n let Steps: number = 9;\n this.ShowProgress = true;\n this.MaxProgressValue = projektliste.length * Steps;\n this.CurrentProgressValue = 0;\n this.Projektpunkteliste = [];\n this.Protokollliste = [];\n this.Bautagebuchliste = [];\n this.LOPListe = [];\n\n try {\n\n this.ProgressMessage = 'Projektpunkte Musterprojekt';\n\n for(let Projekt of projektliste) {\n\n this.ProgressMessage = 'Projektpunkte ' + Projekt.Projektkurzname;\n\n await this.ReadProjektpunkteliste(Projekt);\n\n this.CurrentProgressValue++;\n\n await this.ReadDeletedProjektpunkteliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Protokolle ' + Projekt.Projektkurzname;\n\n await this.ReadProtokollliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Bautagebücher ' + Projekt.Projektkurzname;\n\n await this.ReadBautagebuchliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'LOP Liste ' + Projekt.Projektkurzname;\n\n await this.ReadLOPListe(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Notizenkapitel Liste ' + Projekt.Projektkurzname;\n\n await this.ReadNotizenkapitelliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Festlegungskategorien Liste ' + Projekt.Projektkurzname;\n\n await this.ReadFestlegungskategorieliste(Projekt);\n\n this.CurrentProgressValue++;\n\n this.ProgressMessage = 'Simontabellen Liste ' + Projekt.Projektkurzname;\n\n await this.ReadSimontabellen(Projekt);\n\n this.CurrentProgressValue++;\n }\n } catch (error) {\n\n this.ShowProgress = false;\n\n return Promise.reject(error);\n }\n\n this.ProjektpunktelisteChanged.emit();\n this.ProtokolllisteChanged.emit();\n this.BautagebuchlisteChanged.emit();\n this.LOPListeChanged.emit();\n this.NotizenkapitellisteChanged.emit();\n this.SimontabellenlisteChanged.emit();\n\n this.CurrentProgressValue = this.MaxProgressValue;\n this.ShowProgress = false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'ReadProjektdaten', this.Debug.Typen.Service);\n }\n }\n\n */\n\n\n public GetNewUniqueID(): string {\n\n try {\n\n return uuidv4();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'GetNewUniqueID', this.Debug.Typen.Service);\n }\n }\n\n public GetNewMitarbeitersettings(): Mitarbeitersettingsstruktur {\n\n try {\n\n return {\n\n _id: null,\n MitarbeiterID: null,\n FavoritenID: null,\n ProjektID: null,\n Favoritprojektindex: null,\n Zoomfaktor: 100,\n Textsize: 14,\n StandortFilter: null,\n LeistungsphaseFilter: this.Const.Leistungsphasenvarianten.UNBEKANNT,\n Aufgabenansicht: [],\n Deleted: false,\n HeadermenueMaxFavoriten: 6,\n\n AufgabenSortiermodus: this.Const.AufgabenSortiermodusvarianten.TermineAufsteigend,\n\n AufgabenMeilensteineNachlauf: 2,\n\n AufgabenShowMeilensteine: true,\n AufgabenShowNummer: false,\n AufgabenShowStartdatum: false,\n AufgabenShowAufgabe: true,\n AufgabenShowBemerkung: true,\n AufgabenShowTage: true,\n AufgabenShowTermin: true,\n AufgabenShowStatus: true,\n AufgabenShowFortschritt: false,\n AufgabenShowZustaendig: true,\n AufgabenShowMeintag: true,\n AufgabenShowZeitansatz: false,\n AufgabenShowMeinewoche: true,\n\n UrlaubShowBeantragt: true,\n UrlaubShowVertreterfreigabe: true,\n UrlaubShowGenehmigt: true,\n UrlaubShowAbgelehnt: true,\n UrlaubShowMeinenUrlaub: true,\n UrlaubShowFerien_DE: false,\n UrlaubShowFeiertage_DE: false,\n UrlaubShowFerien_BG: false,\n UrlaubShowFeiertage_BG: false,\n\n ShowHomeoffice: true,\n\n OberkostengruppeFilter: null,\n HauptkostengruppeFilter: null,\n UnterkostengruppeFilter: null,\n\n AufgabenTerminfiltervariante: null,\n AufgabenTerminfilterStartwert: null,\n AufgabenTerminfilterEndewert: null,\n\n LOPListeGeschlossenZeitfilter: 14\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'GetNewMitarbeitersettings', this.Debug.Typen.Service);\n }\n }\n\n public InitMitarbeitersettings(): Mitarbeitersettingsstruktur {\n\n try {\n\n\n let Settings: Mitarbeitersettingsstruktur;\n\n if(this.Mitarbeiterdaten.SettingsID === null) {\n\n return this.GetNewMitarbeitersettings();\n }\n else {\n\n Settings = lodash.find(this.Mitarbeitersettingsliste, {_id: this.Mitarbeiterdaten.SettingsID});\n\n if(lodash.isUndefined(Settings)) {\n\n return this.GetNewMitarbeitersettings();\n }\n else {\n\n if(lodash.isUndefined(Settings.Favoritprojektindex)) Settings.Favoritprojektindex = 3000;\n if(lodash.isUndefined(Settings.HeadermenueMaxFavoriten)) Settings.HeadermenueMaxFavoriten = 6;\n if(lodash.isUndefined(Settings.Zoomfaktor)) Settings.Zoomfaktor = 100;\n if(lodash.isUndefined(Settings.Textsize)) Settings.Textsize = 14;\n if(lodash.isUndefined(Settings.Deleted)) Settings.Deleted = false;\n if(lodash.isUndefined(Settings.AufgabenShowNummer)) Settings.AufgabenShowNummer = true;\n if(lodash.isUndefined(Settings.AufgabenShowStartdatum)) Settings.AufgabenShowStartdatum = true;\n if(lodash.isUndefined(Settings.AufgabenShowAufgabe)) Settings.AufgabenShowAufgabe = true;\n if(lodash.isUndefined(Settings.AufgabenShowBemerkung)) Settings.AufgabenShowBemerkung = true;\n if(lodash.isUndefined(Settings.AufgabenShowTage)) Settings.AufgabenShowTage = true;\n if(lodash.isUndefined(Settings.AufgabenShowTermin)) Settings.AufgabenShowTermin = true;\n if(lodash.isUndefined(Settings.AufgabenShowStatus)) Settings.AufgabenShowStatus = true;\n if(lodash.isUndefined(Settings.AufgabenShowFortschritt)) Settings.AufgabenShowFortschritt = true;\n if(lodash.isUndefined(Settings.AufgabenShowZustaendig)) Settings.AufgabenShowZustaendig = true;\n if(lodash.isUndefined(Settings.AufgabenShowMeintag)) Settings.AufgabenShowMeintag = true;\n if(lodash.isUndefined(Settings.AufgabenShowZeitansatz)) Settings.AufgabenShowZeitansatz = true;\n if(lodash.isUndefined(Settings.AufgabenShowMeinewoche)) Settings.AufgabenShowMeinewoche = true;\n if(lodash.isUndefined(Settings.Aufgabenansicht)) Settings.Aufgabenansicht = [];\n\n\n if(lodash.isUndefined(Settings.AufgabenTerminfiltervariante)) Settings.AufgabenTerminfiltervariante = null;\n if(lodash.isUndefined(Settings.AufgabenTerminfilterStartwert)) Settings.AufgabenTerminfilterStartwert = null;\n if(lodash.isUndefined(Settings.AufgabenTerminfilterEndewert)) Settings.AufgabenTerminfilterEndewert = null;\n if(lodash.isUndefined(Settings.AufgabenSortiermodus)) Settings.AufgabenSortiermodus = this.Const.AufgabenSortiermodusvarianten.TermineAufsteigend;\n\n if(lodash.isUndefined(Settings.AufgabenMeilensteineNachlauf)) Settings.AufgabenMeilensteineNachlauf = 2;\n\n if(lodash.isUndefined(Settings.LOPListeGeschlossenZeitfilter)) Settings.LOPListeGeschlossenZeitfilter = 14;\n\n if(lodash.isUndefined(Settings.LeistungsphaseFilter)) Settings.LeistungsphaseFilter = this.Const.Leistungsphasenvarianten.UNBEKANNT;\n\n if(lodash.isUndefined(Settings.OberkostengruppeFilter)) Settings.OberkostengruppeFilter = null;\n if(lodash.isUndefined(Settings.UnterkostengruppeFilter)) Settings.UnterkostengruppeFilter = null;\n if(lodash.isUndefined(Settings.HauptkostengruppeFilter)) Settings.HauptkostengruppeFilter = null;\n\n if(lodash.isUndefined(Settings.UrlaubShowBeantragt)) Settings.UrlaubShowBeantragt = true;\n if(lodash.isUndefined(Settings.UrlaubShowVertreterfreigabe)) Settings.UrlaubShowVertreterfreigabe = true;\n if(lodash.isUndefined(Settings.UrlaubShowGenehmigt)) Settings.UrlaubShowGenehmigt = true;\n if(lodash.isUndefined(Settings.UrlaubShowAbgelehnt)) Settings.UrlaubShowAbgelehnt = true;\n if(lodash.isUndefined(Settings.UrlaubShowFerien_DE)) Settings.UrlaubShowFerien_DE = false;\n if(lodash.isUndefined(Settings.UrlaubShowFerien_BG)) Settings.UrlaubShowFerien_BG = false;\n if(lodash.isUndefined(Settings.UrlaubShowFeiertage_DE)) Settings.UrlaubShowFeiertage_DE = false;\n if(lodash.isUndefined(Settings.UrlaubShowFeiertage_BG)) Settings.UrlaubShowFeiertage_BG = false;\n if(lodash.isUndefined(Settings.UrlaubShowMeinenUrlaub)) Settings.UrlaubShowMeinenUrlaub = true;\n if(lodash.isUndefined(Settings.ShowHomeoffice)) Settings.ShowHomeoffice = true;\n\n return Settings;\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Pool', 'InitMitarbeitersettings', this.Debug.Typen.Service);\n }\n }\n\n\n\n}\n"," import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {HttpClient, HttpErrorResponse, HttpParams} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport moment, {Moment} from \"moment\";\nimport { v4 as uuidv4 } from 'uuid';\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseStandorteService {\n\n public CurrentStandort: Standortestruktur;\n public CurrentStandortfilter: Standortestruktur;\n public StandortfilterChanged = new EventEmitter();\n private ServerUrl: string;\n\n constructor(private Debug: DebugProvider,\n private Pool: DatabasePoolService,\n private Const: ConstProvider,\n private http: HttpClient) {\n try {\n\n this.CurrentStandort = null;\n this.CurrentStandortfilter = null;\n this.ServerUrl = this.Pool.CockpitdockerURL + '/standorte';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public InitService() {\n\n try {\n\n let Standort: Standortestruktur;\n\n if(this.Pool.Mitarbeiterdaten !== null && this.Pool.Mitarbeitersettings.StandortFilter !== this.Const.NONE) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.Pool.Mitarbeitersettings.StandortFilter });\n\n if(Standort) this.CurrentStandortfilter = lodash.cloneDeep(Standort);\n }\n else {\n\n this.CurrentStandortfilter = null;\n }\n\n if(this.Pool.Mitarbeiterdaten !== null) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.Pool.Mitarbeiterdaten.StandortID });\n\n if(lodash.isUndefined(Standort) === false) this.Pool.Mitarbeiterstandort = Standort;\n }\n else {\n\n this.Pool.Mitarbeiterstandort = null;\n }\n\n for(let Standort of this.Pool.Standorteliste) {\n\n if(Standort._id === this.Pool.Mitarbeiterdaten.StandortID) Standort.ShowInGesamtuebersicht = true;\n else {\n\n Standort.ShowInGesamtuebersicht = false;\n }\n }\n\n\n this.StandortfilterChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'InitService', this.Debug.Typen.Service);\n }\n }\n\n public FinishService() {\n\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'FinishService', this.Debug.Typen.Service);\n }\n }\n\n GetStandort(standortid):string {\n\n try {\n\n let Standort: Standortestruktur;\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: standortid});\n\n if(!lodash.isUndefined(Standort)) {\n\n return Standort.Kuerzel + ' - ' + Standort.Ort;\n }\n else return 'unbekannt';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Mitarbeiter Editor', 'GetStandort', this.Debug.Typen.Component);\n }\n }\n\n public GetEmptyStandort(): Standortestruktur {\n\n try {\n\n let Heute: Moment = moment();\n\n return {\n\n _id: null,\n Standort: \"\",\n Kuerzel: \"\",\n Strasse: \"\",\n PLZ: \"\",\n Ort: \"\",\n Telefon: \"\",\n Email: \"\",\n Deleted: false,\n Bundesland: 'DE-BY',\n Konfession: 'RK',\n Land: 'DE',\n Homeofficefreigabepersonen: [],\n Urlaubfreigabepersonen: [],\n Zeitstempel: Heute.valueOf(),\n Zeitpunkt: Heute.format('DD.MM.YYYY')\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'GetEmptyStandort', this.Debug.Typen.Service);\n }\n }\n\n public GetUniqueStandortID(): string {\n\n try {\n\n let StandortID: string = this.CurrentStandort.Kuerzel;\n\n StandortID = StandortID.replace(/ /g, '_');\n StandortID = StandortID.replace(/-/g, '_');\n StandortID = StandortID.replace(/./g, '_');\n\n return StandortID + '_' + uuidv4();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'GetUniqueStandortID', this.Debug.Typen.Service);\n }\n }\n\n public AddStandort(): Promise {\n\n try {\n\n let Observer: Observable;\n let Standort: Standortestruktur;\n\n return new Promise((resove, reject) => {\n\n // POST für neuen Eintrag\n\n Observer = this.http.post(this.ServerUrl, this.CurrentStandort);\n\n Observer.subscribe({\n\n next: (result) => {\n\n debugger;\n\n Standort = result.data;\n\n },\n complete: () => {\n\n this.UpdateStandortliste(Standort);\n this.Pool.StandortelisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'AddStandort', this.Debug.Typen.Service);\n }\n }\n\n private UpdateStandortliste(standort: Standortestruktur) {\n\n try {\n\n let Index: number;\n\n Index = lodash.findIndex(this.Pool.Standorteliste, {_id : this.CurrentStandort._id});\n\n if(Index !== -1) {\n\n this.Pool.Standorteliste[Index] = standort;\n\n this.Debug.ShowMessage('Standortliste updated: ' + standort.Standort, 'Database Standorte', 'UpdateStandortliste', this.Debug.Typen.Service);\n\n }\n else {\n\n this.Debug.ShowMessage('Standort nicht gefunden -> neuen Standort hinzufügen', 'Database Standorte', 'UpdateStandortliste', this.Debug.Typen.Service);\n\n this.Pool.Standorteliste.push(standort); // neuen\n }\n\n // Gelöscht markiert Einträge entfernen\n\n this.Pool.Standorteliste = lodash.filter(this.Pool.Standorteliste, (currentstandort: Standortestruktur) => {\n\n return currentstandort.Deleted === false;\n });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'UpdateStandortliste', this.Debug.Typen.Service);\n }\n }\n\n\n public UpdateStandort(): Promise {\n\n try {\n\n let Observer: Observable;\n // let Params = new HttpParams();\n\n // Params.set('id', this.CurrentStandort._id);\n\n delete this.CurrentStandort.__v;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.CurrentStandort);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n\n },\n complete: () => {\n\n\n this.UpdateStandortliste(this.CurrentStandort);\n\n this.Pool.StandortelisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'UpdateStandort', this.Debug.Typen.Service);\n }\n }\n\n\n public DeleteStandort(): Promise {\n\n try {\n\n let Observer: Observable;\n\n this.CurrentStandort.Deleted = true;\n\n return new Promise((resove, reject) => {\n\n // PUT für update\n\n Observer = this.http.put(this.ServerUrl, this.CurrentStandort);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n debugger;\n\n },\n complete: () => {\n\n debugger;\n\n this.UpdateStandortliste(this.CurrentStandort);\n\n this.Pool.StandortelisteChanged.emit();\n\n resove(true);\n\n },\n error: (error: HttpErrorResponse) => {\n\n debugger;\n\n reject(error);\n }\n });\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'DeleteStandort', this.Debug.Typen.Service);\n }\n }\n\n GetStandortfiller(): string{\n\n try {\n\n if(this.CurrentStandortfilter === null) return 'kein Standortfilter';\n else return this.CurrentStandortfilter.Kuerzel + ' / ' + this.CurrentStandortfilter.Ort;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Standorte', 'GetStandortfiller', this.Debug.Typen.Service);\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport * as lodash from \"lodash-es\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders, HttpParams} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport moment, {Moment} from \"moment\";\nimport {ConstProvider} from \"../const/const\";\nimport {Urlaubsstruktur} from \"../../dataclasses/urlaubsstruktur\";\nimport {Feiertagestruktur, FeiertagsubdevisionsStruktur} from \"../../dataclasses/feiertagestruktur\";\nimport {Ferienstruktur} from \"../../dataclasses/ferienstruktur\";\nimport {Regionenstruktur} from \"../../dataclasses/regionenstruktur\";\nimport {Standortestruktur} from \"../../dataclasses/standortestruktur\";\nimport {Urlauzeitspannenstruktur} from \"../../dataclasses/urlauzeitspannenstruktur\";\nimport {Kalendertagestruktur} from \"../../dataclasses/kalendertagestruktur\";\nimport {Mitarbeiterstruktur} from \"../../dataclasses/mitarbeiterstruktur\";\nimport {Urlaubprojektbeteiligtestruktur} from \"../../dataclasses/urlaubprojektbeteiligtestruktur\";\nimport {Graphservice} from \"../graph/graph\";\nimport {Outlookemailadressstruktur} from \"../../dataclasses/outlookemailadressstruktur\";\nimport {BasicsProvider} from \"../basics/basics\";\nimport {DatabaseMitarbeiterService} from \"../database-mitarbeiter/database-mitarbeiter.service\";\nimport {Homeofficezeitspannenstruktur} from \"../../dataclasses/homeofficezeitspannenstruktur\";\nimport {Urlaubsvertretungkonversationstruktur} from \"../../dataclasses/urlaubsvertretungkonversationstruktur\";\nimport {indexOf} from \"lodash-es\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatabaseUrlaubService {\n\n public PlanungsmonateChanged: EventEmitter = new EventEmitter();\n public ExterneUrlaubeChanged: EventEmitter = new EventEmitter();\n public ExterneHomeofficeChanged: EventEmitter = new EventEmitter();\n public UrlaubStatusChanged: EventEmitter = new EventEmitter();\n public HomeofficeStatusChanged: EventEmitter = new EventEmitter();\n public AddUrlaubCancelEvent: EventEmitter = new EventEmitter();\n public UpdateKalenderRequestEvent: EventEmitter = new EventEmitter();\n\n public CurrentHomeofficecounter: number;\n public Bundeslandkuerzel: string;\n public Bundesland: string;\n public Regionenliste: Regionenstruktur[];\n public CurrentJahr: number;\n public Jahr: number;\n public Startjahr: number;\n public Feiertageliste: Feiertagestruktur[];\n public Ferienliste: Ferienstruktur[];\n public CurrentUrlaub: Urlaubsstruktur;\n public UrlaublisteExtern: Urlaubsstruktur[];\n public CurrentMonatindex: number;\n public LastMonatIndex: number;\n public FirstMonatIndex: number;\n public Laendercode: string;\n public ShowFeiertage_DE: boolean;\n public ShowFeiertage_BG: boolean;\n public ShowFerientage_DE: boolean;\n public ShowFerientage_BG: boolean;\n public Ferienfarbe_DE: string;\n public Ferienfarbe_BG: string;\n public Feiertagefarbe_DE: string;\n public Feiertagefarbe_BG: string;\n public CurrentUrlaubzeitspanne: Urlauzeitspannenstruktur;\n public CurrentHomeofficezeitspanne: Homeofficezeitspannenstruktur;\n public Monateliste: string[];\n private ServerReadfeiertageUrl: string;\n private ServerReadRegionenUrl: string;\n private ServerReadFerienUrl: string;\n public Vertretrungliste: Mitarbeiterstruktur[];\n public Urlaubfreigabenliste: Mitarbeiterstruktur[];\n public Homeofficefreigabenliste: Mitarbeiterstruktur[];\n public Vertretungsanfragenanzahl: number;\n public Vertretungsantwortenanzahl: number;\n public Freigabenanfragenanzahl: number;\n public Freigabenantwortenanzahl: number;\n public Urlaubsanfragenanzahl: number;\n public Homeofficeanfragenanzahl: number;\n public Homeofficantwortenanzahl: number;\n public Antwortenanzahl: number;\n public CorrectSetup: boolean;\n public Officeemailadress: string;\n public CurrentMitarbeiter: Mitarbeiterstruktur;\n public Kalenderwochenhoehenliste: string[][][];\n\n public Urlaubstatusvarianten = {\n\n Geplant: 'Geplant',\n Vertreterablehnung: 'Vertreterablehnung',\n Vertreteranfrage: 'Vertreteranfrage',\n Vertreterfreigabe: 'Vertreterfreigabe',\n Abgelehnt: 'Abgelehnt',\n Genehmigt: 'Genehmigt',\n Feiertag: 'Feiertag',\n Ferientag: 'Ferientag'\n };\n\n public GesamtuebersichtSetting = {\n\n ShowGeplant: true,\n ShowVertreteranfragen: true,\n ShowVertreterfreigaben: true,\n ShowVertreterablehnungen: false,\n ShowUrlaubsgenehmigungen: true,\n ShowUrlaubsablehnungen: false,\n ShowHomeofficeGeplant: true,\n ShowHomeofficeGenehmigt: true,\n ShowHomeofficeAnfrage: true,\n };\n\n public Homeofficestatusvarianten = {\n\n Geplant: 'Geplant',\n Freigabeanfrage: 'Freigabeanfrage',\n Abgelehnt: 'Abgelehnt',\n Genehmigt: 'Genehmigt',\n Feiertag: 'Feiertag',\n Ferientag: 'Ferientag'\n };\n\n public Urlaubsfaben = {\n\n Geplant: '#307ac1',\n Vertreterfreigabe: 'orange',\n Vertreteranfrage: '#04B4AE',\n Vertreterablehnung: '#8A0886',\n Abgelehnt: 'red',\n Genehmigt: 'green',\n Ferien_DE: '#999999',\n Ferien_BG: '#999999',\n Feiertage_DE: '#454545',\n Feiertage_BG: '#454545',\n Wochenende: '#34495E'\n };\n\n public Homeofficefarben = {\n\n Geplant: '#307ac1',\n Freigabeanfrage: '#04B4AE',\n Abgelehnt: 'red',\n Genehmigt: 'green',\n };\n\n constructor(private Debug: DebugProvider,\n private Pool: DatabasePoolService,\n private Const: ConstProvider,\n private Graph: Graphservice,\n private DBMitarbeiter: DatabaseMitarbeiterService,\n private Basics: BasicsProvider,\n private http: HttpClient) {\n try {\n\n this.ServerReadfeiertageUrl = this.Pool.CockpitdockerURL + '/readfeiertage';\n this.ServerReadFerienUrl = this.Pool.CockpitdockerURL + '/readferien';\n this.ServerReadRegionenUrl = this.Pool.CockpitdockerURL + '/readregionen';\n this.CurrentUrlaub = null;\n this.CurrentJahr = moment().year();\n this.Jahr = moment().year();\n this.Bundeslandkuerzel = 'DE-BY';\n this.Bundesland = '';\n this.Feiertageliste = [];\n this.Ferienliste = [];\n this.Urlaubfreigabenliste = [];\n this.Homeofficefreigabenliste = [];\n this.CurrentMonatindex = moment().month();\n this.FirstMonatIndex = this.CurrentMonatindex - 1;\n this.LastMonatIndex = this.CurrentMonatindex + 1;\n this.CurrentUrlaubzeitspanne = null;\n this.CurrentUrlaubzeitspanne = null;\n this.Laendercode = 'DE';\n this.ShowFeiertage_DE = false;\n this.ShowFeiertage_BG = false;\n this.ShowFerientage_DE = false;\n this.ShowFerientage_BG = false;\n this.Ferienfarbe_DE = this.Const.NONE;\n this.Feiertagefarbe_DE = this.Const.NONE;\n this.UrlaublisteExtern = [];\n this.Vertretrungliste = [];\n this.Urlaubsanfragenanzahl = 0;\n this.Antwortenanzahl = 0;\n this.Vertretungsanfragenanzahl = 0;\n this.Vertretungsantwortenanzahl = 0;\n this.Freigabenanfragenanzahl = 0;\n this.Freigabenantwortenanzahl = 0;\n this.Homeofficeanfragenanzahl = 0;\n this.Homeofficantwortenanzahl = 0;\n this.CurrentHomeofficecounter = 0;\n this.CurrentMitarbeiter = null;\n this.Startjahr = 2024;\n\n this.CorrectSetup = false;\n this.Officeemailadress = 'office@b-a-e.eu';\n this.Monateliste = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Urlaub', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public SetMitarbeiter(mitarbeiter: Mitarbeiterstruktur) {\n\n try {\n\n this.CurrentMitarbeiter = lodash.cloneDeep(mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SetMitarbeiter', this.Debug.Typen.Service);\n }\n }\n\n public CheckSetup() {\n\n try {\n\n let Standort: Standortestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n let Urlaubsfreigeberanzahl: number = 0;\n let Homeofficefreigeberanzahl: number = 0;\n\n if(this.CurrentMitarbeiter !== null) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n\n for(let MitarbeterID of Standort.Urlaubfreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) Urlaubsfreigeberanzahl++;\n }\n\n for(let MitarbeterID of Standort.Homeofficefreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) Homeofficefreigeberanzahl++;\n }\n\n this.CorrectSetup = Urlaubsfreigeberanzahl > 0 && Homeofficefreigeberanzahl > 0 && this.CurrentUrlaub.Projektbeteiligteliste.length > 0;\n }\n else this.CorrectSetup = false;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckSetup', this.Debug.Typen.Service);\n }\n }\n\n private GetFreigabenliste() {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n let CountAnfrage: boolean;\n let CountAntwort: boolean;\n let Standort: Standortestruktur;\n let PersonOk: boolean;\n\n this.Freigabenanfragenanzahl = 0;\n this.Freigabenantwortenanzahl = 0;\n this.Urlaubfreigabenliste = [];\n this.Homeofficefreigabenliste = [];\n\n if(this.CurrentMitarbeiter !== null) {\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n // Urlaub Freigabeanfragen\n\n /*\n if(Mitarbeiter.Name === 'Enzensberger') {\n\n debugger;\n }\n */\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, (urlaub: Urlaubsstruktur) => {\n\n return urlaub.Jahr === this.CurrentJahr;\n });\n\n if(!lodash.isUndefined(Urlaub)) {\n\n CountAnfrage = false;\n CountAntwort = false;\n\n for (let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Zeitspanne = this.InitUrlaubzeitspanne(Zeitspanne);\n PersonOk = Standort.Urlaubfreigabepersonen.indexOf(this.CurrentMitarbeiter._id) !== -1 && this.CurrentMitarbeiter.Urlaubsfreigaben;\n\n if (PersonOk && this.CheckUrlaubFreigabeanwortAge(Zeitspanne) === true &&\n (Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterfreigabe ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt)) {\n\n if(lodash.isUndefined(lodash.find(this.Urlaubfreigabenliste, {_id: Mitarbeiter._id}))) {\n\n this.Urlaubfreigabenliste.push(Mitarbeiter);\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterfreigabe) {\n\n CountAnfrage = true;\n }\n else {\n\n CountAntwort = true;\n }\n }\n }\n }\n\n if(CountAnfrage === true) {\n\n this.Urlaubsanfragenanzahl++;\n this.Freigabenanfragenanzahl++;\n }\n\n if(CountAntwort === true) {\n\n this.Freigabenantwortenanzahl++;\n }\n }\n\n // Homeoffice Freigabeanfragen\n\n if(!lodash.isUndefined(Urlaub)) {\n\n for (let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n CountAnfrage = false;\n CountAntwort = false;\n PersonOk = Standort.Homeofficefreigabepersonen.indexOf(this.CurrentMitarbeiter._id) !== -1 && this.CurrentMitarbeiter.Homeofficefreigaben;\n\n if (PersonOk && this.CheckHomeofficeFreigabeanwortAge(Zeitspanne) === true &&\n ( Zeitspanne.Status === this.Homeofficestatusvarianten.Freigabeanfrage ||\n Zeitspanne.Status === this.Homeofficestatusvarianten.Abgelehnt ||\n Zeitspanne.Status === this.Homeofficestatusvarianten.Genehmigt)) {\n\n if(lodash.isUndefined(lodash.find(this.Homeofficefreigabenliste, {_id: Mitarbeiter._id}))) {\n\n this.Homeofficefreigabenliste.push(Mitarbeiter);\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Freigabeanfrage) CountAnfrage = true; // nur offene Anfragen zaehlen\n else {\n\n CountAntwort = true;\n }\n }\n }\n\n if(CountAnfrage === true) {\n\n this.Homeofficeanfragenanzahl++;\n }\n\n if(CountAntwort === true) {\n\n this.Homeofficantwortenanzahl++;\n }\n }\n }\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFreigabenliste', this.Debug.Typen.Service);\n }\n }\n\n public GetVertretungkonversation(Mitarbeiter: Mitarbeiterstruktur, Zeitspanne: Urlauzeitspannenstruktur): Urlaubsvertretungkonversationstruktur {\n\n try {\n\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: Mitarbeiter._id });\n\n if(lodash.isUndefined(Konversation)) return null;\n else return Konversation;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetVertretungkonversation', this.Debug.Typen.Service);\n }\n }\n\n public CheckVertretungsanwortAge(Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Datum: Moment;\n let Dauer: number;\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.CurrentMitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.VertreterantwortSended === true) {\n\n // Wenn Freigabe oder Ablehnung Alter der Antwort prüfen\n\n if(Konversation.Vertretungantwortzeitstempel === null) {\n\n return false;\n }\n else {\n\n // Alter prüfen\n\n Datum = moment(Konversation.Vertretungantwortzeitstempel).locale('de');\n Dauer = moment.duration(Heute.diff(Datum)).asMinutes();\n\n return Dauer <= 5;\n\n }\n }\n else return true;\n }\n else return true;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckVertretungsanwortAge', this.Debug.Typen.Service);\n }\n }\n\n public CheckUrlaubFreigabeanwortAge(Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Datum: Moment;\n let Dauer: number;\n\n if(Zeitspanne.FreigabeantwortSended === true &&\n (Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt)) {\n\n // Wenn Freigabe oder Ablehnung Alter der Antwort prüfen\n\n if(Zeitspanne.Freigabeantwortzeitstempel === null) {\n\n return false;\n }\n else {\n\n // Alter prüfen\n\n Datum = moment(Zeitspanne.Freigabeantwortzeitstempel).locale('de');\n Dauer = moment.duration(Heute.diff(Datum)).asMinutes();\n\n return Dauer <= 5;\n\n }\n }\n else return true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckUrlaubFreigabeanwortAge', this.Debug.Typen.Service);\n }\n }\n\n public CheckHomeofficeFreigabeanwortAge(Zeitspanne: Homeofficezeitspannenstruktur): boolean {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Datum: Moment;\n let Dauer: number;\n\n if(Zeitspanne.FreigabeantwortSended === true &&\n (Zeitspanne.Status === this.Homeofficestatusvarianten.Genehmigt ||\n Zeitspanne.Status === this.Homeofficestatusvarianten.Abgelehnt)) {\n\n if(Zeitspanne.Freigabeantwortzeitstempel === null) {\n\n return false;\n }\n else {\n\n // Alter prüfen\n\n Datum = moment(Zeitspanne.Freigabeantwortzeitstempel).locale('de');\n Dauer = moment.duration(Heute.diff(Datum)).asMinutes();\n\n return Dauer <= 5;\n\n }\n }\n else return true;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckHomeofficeFreigabeanwortAge', this.Debug.Typen.Service);\n }\n }\n\n public GetVertretungsanwortAge(Zeitspanne: Urlauzeitspannenstruktur): number {\n\n try {\n\n let Heute: Moment = moment().locale('de');\n let Datum: Moment;\n let Dauer: number;\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.CurrentMitarbeiter._id });\n\n if((Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe ||\n Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung) && Konversation.VertreterantwortSended === true) {\n\n // Wenn Freigabe oder Ablehnung Alter der Antwort prüfen\n\n if(Konversation.Vertretungantwortzeitstempel === null) {\n\n return 0;\n }\n else {\n\n // Alter prüfen\n\n Datum = moment(Konversation.Vertretungantwortzeitstempel).locale('de');\n Dauer = moment.duration(Heute.diff(Datum)).asMinutes();\n\n return Dauer;\n\n }\n }\n else return 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetVertretungsanwortAge', this.Debug.Typen.Service);\n }\n }\n\n public CheckMitarbeiterIsVertretung(Mitarbeiter: Mitarbeiterstruktur, Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Ergo: boolean = false;\n\n\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: Mitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.VertreteranfrageSended) {\n\n Ergo = true;\n }\n }\n\n return Ergo;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'ChechMitarbeiterIsVertretung', this.Debug.Typen.Service);\n }\n }\n\n public CheckMitarbeiterIsOffeneVertretung(Mitarbeiter: Mitarbeiterstruktur, Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Ergo: boolean = false;\n\n\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: Mitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.VertreteranfrageSended === true && Konversation.VertreterantwortSended === false) {\n\n Ergo = true;\n }\n }\n\n return Ergo;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckMitarbeiterIsOffeneVertretung', this.Debug.Typen.Service);\n }\n }\n\n private GetVertretungenliste() {\n\n try {\n\n let Urlaub: Urlaubsstruktur;\n let Vertretung: Mitarbeiterstruktur;\n let CountAnfrage: boolean;\n let CountAntworten: boolean;\n\n this.Vertretrungliste = [];\n this.Vertretungsantwortenanzahl = 0;\n this.Vertretungsanfragenanzahl = 0;\n\n if(this.CurrentMitarbeiter !== null) {\n\n for(let Mitarbeiter of this.Pool.Mitarbeiterliste) {\n\n if(Mitarbeiter._id !== this.CurrentMitarbeiter._id) {\n\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n if(!lodash.isUndefined(Urlaub)) {\n\n CountAnfrage = false;\n CountAntworten = false;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Zeitspanne = this.InitUrlaubzeitspanne(Zeitspanne);\n\n if(Mitarbeiter.Name === 'Hornburger') {\n\n // debugger;\n }\n\n if(this.CheckMitarbeiterIsVertretung(this.CurrentMitarbeiter, Zeitspanne) === true && this.CheckVertretungsanwortAge(Zeitspanne) === true &&\n (Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreteranfrage ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterfreigabe ||\n Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterablehnung)) {\n\n CountAnfrage = this.CheckMitarbeiterIsOffeneVertretung(this.CurrentMitarbeiter, Zeitspanne);\n CountAntworten = !this.CheckMitarbeiterIsOffeneVertretung(this.CurrentMitarbeiter, Zeitspanne);\n Vertretung = lodash.find(this.Vertretrungliste, {_id: Mitarbeiter._id});\n\n if(lodash.isUndefined(Vertretung)) {\n\n this.Vertretrungliste.push(Mitarbeiter);\n }\n }\n }\n\n if(CountAnfrage === true) {\n\n this.Vertretungsanfragenanzahl++;\n this.Urlaubsanfragenanzahl++;\n }\n\n if(CountAntworten === true) {\n\n this.Vertretungsantwortenanzahl++;\n }\n }\n }\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetVertretungenliste', this.Debug.Typen.Service);\n }\n }\n\n public GetUrlaubStatuscolor(Zeitspanne: Urlauzeitspannenstruktur): string {\n\n try {\n\n let Color: string = 'none';\n let Freigabe: boolean;\n\n switch (Zeitspanne.Status) {\n\n case this.Urlaubstatusvarianten.Geplant:\n\n Color = this.Urlaubsfaben.Geplant;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Color = this.Urlaubsfaben.Vertreterfreigabe;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterablehnung:\n\n Color = this.Urlaubsfaben.Vertreterablehnung;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreteranfrage:\n\n // Blau für Planung\n\n Color = this.Urlaubsfaben.Vertreteranfrage;\n\n /*\n\n // Lila wenn eine Vertretungsablehnung vorliegt\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreterantwortSended === true && Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung) {\n\n Color = this.Urlaubsfaben.Vertreterablehnung;\n }\n }\n\n // Orange wenn nur Vertretunszusagen vorliegen\n\n Freigabe = true;\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreterantwortSended !== true || (Konversation.VertreterantwortSended === true && Konversation.Status !== this.Urlaubstatusvarianten.Vertreterfreigabe)) Freigabe = false;\n }\n\n if(Freigabe) Color = this.Urlaubsfaben.Vertreterfreigabe;\n\n */\n\n break;\n\n case this.Urlaubstatusvarianten.Genehmigt:\n\n Color = this.Urlaubsfaben.Genehmigt;\n\n break;\n\n case this.Urlaubstatusvarianten.Abgelehnt:\n\n Color = this.Urlaubsfaben.Abgelehnt;\n\n break;\n\n default:\n\n Color = '#00FFFF';\n\n break;\n }\n\n\n return Color;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetUrlaubStatuscolor', this.Debug.Typen.Page);\n }\n }\n\n public GetUrlaubStatuscolorSplit(Zeitspanne: Urlauzeitspannenstruktur, checkanfragesended: boolean): string {\n\n try {\n\n let Color: string = 'none';\n let Anfrage: boolean;\n\n switch (Zeitspanne.Status) {\n\n case this.Urlaubstatusvarianten.Geplant:\n\n Color = this.Urlaubsfaben.Geplant;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterfreigabe:\n\n Color = this.Urlaubsfaben.Vertreterfreigabe;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterablehnung:\n\n Color = this.Urlaubsfaben.Vertreterablehnung;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreteranfrage:\n\n Anfrage = false;\n\n for(let Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if((Konversation.VertreteranfrageSended === true || checkanfragesended === false) && Konversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage) {\n\n Anfrage = true;\n }\n }\n\n if(Anfrage) Color = this.Urlaubsfaben.Vertreteranfrage;\n else Color = this.Urlaubsfaben.Vertreterablehnung\n\n break;\n\n case this.Urlaubstatusvarianten.Genehmigt:\n\n Color = this.Urlaubsfaben.Genehmigt;\n\n break;\n\n case this.Urlaubstatusvarianten.Abgelehnt:\n\n Color = this.Urlaubsfaben.Abgelehnt;\n\n break;\n\n default:\n\n Color = '#00FFFF';\n\n break;\n }\n\n\n return Color;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetUrlaubStatuscolorSplit', this.Debug.Typen.Page);\n }\n }\n\n public GetHomeofficeStatuscolor(status: string): string {\n\n try {\n\n let Color: string = 'none';\n\n switch (status) {\n\n case this.Homeofficestatusvarianten.Geplant:\n\n Color = this.Homeofficefarben.Geplant;\n\n break;\n\n case this.Homeofficestatusvarianten.Freigabeanfrage:\n\n Color = this.Homeofficefarben.Freigabeanfrage;\n\n break;\n\n\n case this.Homeofficestatusvarianten.Genehmigt:\n\n Color = this.Homeofficefarben.Genehmigt;\n\n break;\n\n case this.Homeofficestatusvarianten.Abgelehnt:\n\n Color = this.Homeofficefarben.Abgelehnt;\n\n break;\n\n default:\n\n Color = '#00FFFF';\n\n break;\n }\n\n\n return Color;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetHomeofficeStatuscolor', this.Debug.Typen.Page);\n }\n }\n\n public async UpdateVertreteranfragen() {\n\n try {\n\n let Vertretung: Mitarbeiterstruktur;\n let Heute: Moment = moment();\n let VertreterIDListe: string[] = [];\n let CurrentUrlaubzeitspannen: Urlauzeitspannenstruktur[] = [];\n let UpdatedZeitspannen: Urlauzeitspannenstruktur[] = [];\n let Index: number = 0;\n let Empfaengerliste: Outlookemailadressstruktur[] = [];\n let Freigebender: Mitarbeiterstruktur;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n let Empfaengerlistetext: string = '';\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigebender = lodash.find(this.Pool.Mitarbeiterliste, {_id: FreigeberID});\n\n if(!lodash.isUndefined(Freigebender)) {\n\n Empfaengerliste.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n\n Empfaengerlistetext += Freigebender.Vorname + ' ' + Freigebender.Name;\n if(Index < Standort.Urlaubfreigabepersonen.length - 1) Empfaengerlistetext += ', ';\n Index++;\n }\n }\n\n\n\n for(let Zeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant) {\n\n for (let CurrentVertreterID of Zeitspanne.UrlaubsvertreterIDListe) {\n\n if (lodash.indexOf(VertreterIDListe, CurrentVertreterID) === -1) {\n\n VertreterIDListe.push(CurrentVertreterID);\n }\n }\n }\n }\n\n\n for(let VertreterID of VertreterIDListe) {\n\n CurrentUrlaubzeitspannen = [];\n Vertretung = lodash.find(this.Pool.Mitarbeiterliste, {_id: VertreterID});\n\n\n if(!lodash.isUndefined(Vertretung)) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant && Zeitspanne.UrlaubsvertreterIDListe.indexOf(VertreterID) !== -1) {\n\n CurrentUrlaubzeitspannen.push(Zeitspanne);\n\n // Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreteranfrage;\n\n\n // Zeitspanne.Planungmeldung = Heute.format('DD.MM.YYYY') + ' Vertretungsanfrage wurde an ' + Vertretung.Vorname + ' ' + Vertretung.Name + ' gesendet.';\n }\n }\n\n CurrentUrlaubzeitspannen = await this.SendVertreteranfragen(this.CurrentMitarbeiter, Vertretung, CurrentUrlaubzeitspannen);\n UpdatedZeitspannen = UpdatedZeitspannen.concat(CurrentUrlaubzeitspannen);\n }\n }\n\n for(let Zeitspanne of UpdatedZeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant) {\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreteranfrage;\n }\n }\n\n for(let Zeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Betriebsurlaub === true && Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant &&\n Zeitspanne.FreigabeanfrageSended === false) {\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreterfreigabe;\n Zeitspanne.Planungmeldung = Heute.format('DD.MM.YYYY') + ' Betrieburlaub Freigabe Anfrage wurde an ' + Empfaengerlistetext + ' gesendet.';\n Zeitspanne.Freigabemeldung = 'Anfrage Betriebsurlaub';\n\n await this.SendBetriebsurlaubFreigabeanfrage(this.CurrentMitarbeiter, this.CurrentUrlaub);\n\n UpdatedZeitspannen.push(Zeitspanne);\n }\n }\n\n for(let Zeitspanne of UpdatedZeitspannen) {\n\n Index = lodash.findIndex(this.CurrentUrlaub.Urlaubzeitspannen, {ZeitspannenID: Zeitspanne.ZeitspannenID});\n\n this.CurrentUrlaub.Urlaubzeitspannen[Index] = Zeitspanne;\n }\n\n let Urlaubindex = lodash.findIndex(this.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n this.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.CurrentMitarbeiter);\n\n this.UrlaubStatusChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'UpdateVertreteranfragen', this.Debug.Typen.Service);\n }\n }\n\n public async UpdateHomeofficefreigabeanfragen() {\n\n try {\n\n let Freigeberliste: Mitarbeiterstruktur[];\n let CurrentHomeofficezeitspannen: Homeofficezeitspannenstruktur[] = [];\n let UpdatedHomeofficezeitspannen: Homeofficezeitspannenstruktur[] = [];\n let Index;\n let Standort: Standortestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n\n // Vertretung = lodash.find(this.Pool.Mitarbeiterliste, {_id: this.CurrentUrlaub.UrlaubsfreigeberID});\n CurrentHomeofficezeitspannen = [];\n Freigeberliste = [];\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n\n for(let MitarbeiterID of Standort.Homeofficefreigabepersonen) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: MitarbeiterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) Freigeberliste.push(Mitarbeiter);\n }\n\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Geplant) {\n\n Zeitspanne.Status = this.Homeofficestatusvarianten.Freigabeanfrage;\n\n UpdatedHomeofficezeitspannen.push(Zeitspanne);\n }\n else {\n\n CurrentHomeofficezeitspannen.push(Zeitspanne);\n }\n }\n\n UpdatedHomeofficezeitspannen = await this.SendHomeofficefreigabeanfrage(this.CurrentMitarbeiter, Freigeberliste, UpdatedHomeofficezeitspannen);\n CurrentHomeofficezeitspannen = CurrentHomeofficezeitspannen.concat(UpdatedHomeofficezeitspannen);\n\n\n for(let Zeitspanne of CurrentHomeofficezeitspannen) {\n\n Index = lodash.findIndex(this.CurrentUrlaub.Homeofficezeitspannen, {ZeitspannenID: Zeitspanne.ZeitspannenID});\n\n this.CurrentUrlaub.Homeofficezeitspannen[Index] = Zeitspanne;\n }\n\n let Urlaubindex = lodash.findIndex(this.CurrentMitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n\n\n this.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.CurrentMitarbeiter);\n\n this.HomeofficeStatusChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'UpdateHomeofficefreigabeanfragen', this.Debug.Typen.Service);\n }\n }\n\n public CheckUrlaubsfreigeberAvailable(Mitarbeiter: Mitarbeiterstruktur): boolean {\n\n try {\n\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n return Standort.Urlaubfreigabepersonen.indexOf(this.CurrentMitarbeiter._id) !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckUrlaubsfreigeberAvailable', this.Debug.Typen.Service);\n }\n }\n\n public CheckHomeofficefreigeberAvailable(Mitarbeiter: Mitarbeiterstruktur): boolean {\n\n try {\n\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n if(this.Pool.Mitarbeiterdaten.Planeradministrator === true) return true;\n else return Standort.Homeofficefreigabepersonen.indexOf(this.Pool.Mitarbeiterdaten._id) !== -1;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckHomeofficefreigeberAvailable', this.Debug.Typen.Service);\n }\n }\n\n public CountUrlaubsvertretungen(Mitarbeiter: Mitarbeiterstruktur): number {\n\n try {\n\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n return Standort.Urlaubfreigabepersonen.length; //\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountUrlaubsvertretungen', this.Debug.Typen.Service);\n }\n }\n\n async UpdateVertreterantworten(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n let Gesamtanzahl: number = 1;\n let Heute: Moment = moment().locale('de');\n let Freigebender: Mitarbeiterstruktur;\n let Freigeberlistetext: string = '';\n let Index: number = 0;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let FreigabeReady: boolean;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.CurrentMitarbeiter._id });\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung && Konversation.VertreterantwortSended === false) Gesamtanzahl += 1;\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe && Konversation.VertreterantwortSended === false) Gesamtanzahl += 2;\n }\n }\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigebender = lodash.find(this.Pool.Mitarbeiterliste, {_id: FreigeberID});\n\n if(!lodash.isUndefined(Freigebender)) {\n\n Freigeberlistetext += Freigebender.Vorname + ' ' + Freigebender.Name;\n if(Index < Standort.Urlaubfreigabepersonen.length - 1) Freigeberlistetext += ', ';\n Index++;\n }\n }\n\n debugger;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.CurrentMitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.Status !== this.Urlaubstatusvarianten.Vertreteranfrage && Konversation.VertreterantwortSended === false) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe) {\n\n Zeitspanne.Planungmeldung = this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name + ' hat der Urlausvertretung am ' + Heute.format('DD.MM.YYYY') + ' zugestimmt.';\n Zeitspanne.Planungmeldung += '
Urlaubsfreigabe Anfrage wurde an ' + Freigeberlistetext + ' gesendet.';\n }\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung) {\n\n Konversation.Vertretungmeldung = this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name + ' hat die Vertretung am ' + Heute.format('DD.MM.YYYY') + ' abgelehnt';\n }\n }\n }\n }\n\n Urlaub = await this.SendVertreterzusage(Mitarbeiter, Urlaub);\n Urlaub = await this.SendVertreterabsage(Mitarbeiter, Urlaub);\n\n FreigabeReady = false;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n for(Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.VertreterantwortSended === true && Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe) {\n\n FreigabeReady = true;\n }\n }\n }\n\n if (FreigabeReady) Urlaub = await this.SendFreigabeanfrage(Mitarbeiter, Urlaub);\n\n let Urlaubindex = lodash.findIndex(Mitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n Mitarbeiter.Urlaubsliste[Urlaubindex] = Urlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(Mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'UpdateVertreterantworten', this.Debug.Typen.Service);\n }\n }\n\n private SendVertreteranfragen(Mitarbeiter: Mitarbeiterstruktur, Vertretung: Mitarbeiterstruktur, Urlaubzeitspannen: Urlauzeitspannenstruktur[]): Promise {\n\n try {\n\n let Betreff: string = 'Urlaubsvertretungsanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendMail: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let Zeitspannenanzahl: number = 0;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Vertretung.Vorname + \",

bitte prüfen, ob du für folgende Zeiträume:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: Vertretung._id});\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Geplant && Konversation.VertreteranfrageSended === false) {\n\n SendMail = true;\n Konversation.Vertretunganfragezeitstempel = Heute.valueOf();\n Konversation.VertreteranfrageSended = true;\n Konversation.Status = this.Urlaubstatusvarianten.Vertreteranfrage;\n Konversation.Vertretungmeldung = 'Vertretungsanfrage wurde am ' + Heute.format('DD.MM.YY') + ' an ' + Vertretung.Vorname + ' ' + Vertretung.Name + ' gesendet.';\n\n Zeitspanne.Planungmeldung = Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' hat dir am ' + Heute.format('DD.MM.YY') + ' eine Vertretungsanfrage gesendet.';\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n Zeitspannenanzahl++;\n }\n }\n\n console.log('Vertreteranfrage an: ' + Vertretung.Name + ' | ' + Zeitspannenanzahl + ' Stück');\n\n Nachricht += '
VonBis
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '
';\n\n Nachricht += '
Die Urlaubsvertretung für mich übernehmen kannst.

';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Mitarbeiter, true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Vertretung.Email,\n name: Vertretung.Vorname + ' ' + Vertretung.Name\n }\n });\n\n if(SendMail) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Vertretungsanfrage wurde an ' + Vertretung.Vorname + ' ' + Vertretung.Name + ' gesendet.');\n\n resolve(Urlaubzeitspannen);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n } else {\n\n console.log('Es wurde keine Vertretungsanfrage gesendet.');\n\n resolve(Urlaubzeitspannen);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendVertreteranfragen', this.Debug.Typen.Service);\n }\n }\n\n public SendVertreterreminder(Vertretung: Mitarbeiterstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Vertretungsanfragen in der Urlaubsplaner App';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Vertretung.Vorname + \",

es gibt neue Vertretungsanfragen für dich.
\";\n Nachricht += \"Bitte prüfe die Anfragen in der App.\";\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(this.Pool.Mitarbeiterdaten, true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Vertretung.Email,\n name: Vertretung.Vorname + ' ' + Vertretung.Name\n }\n });\n\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Vertretungserinnerung wurde an ' + Vertretung.Vorname + ' ' + Vertretung.Name + ' gesendet.');\n\n resolve(true);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendVertreterreminder', this.Debug.Typen.Service);\n }\n }\n\n public SendFreigabereminder(Freigeber: Mitarbeiterstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Urlaubsfreigaben Anfragen in der Urlaubsplaner App';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Freigeber.Vorname + \",

es gibt neue Anfragen für Urlaubsfreigaben.
\";\n Nachricht += \"Bitte prüfe die Anfragen in der App.\";\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(this.Pool.Mitarbeiterdaten, true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigeber.Email,\n name: Freigeber.Vorname + ' ' + Freigeber.Name\n }\n });\n\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Freigebererinnerung wurde an ' + Freigeber.Vorname + ' ' + Freigeber.Name + ' gesendet.');\n\n resolve(true);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendFreigabereminder', this.Debug.Typen.Service);\n }\n }\n\n private SendHomeofficefreigabeanfrage(Mitarbeiter: Mitarbeiterstruktur, Freigeberliste: Mitarbeiterstruktur[], Urlaubzeitspannen: Homeofficezeitspannenstruktur[]): Promise {\n\n try {\n\n let Betreff: string = 'Homeofficefreigabeanfrage von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n let Nachricht: string = '';\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendMail: boolean = false;\n\n return new Promise((resolve, reject) => {\n\n for(let Freigabe of Freigeberliste) {\n\n Nachricht += \"Hallo \" + Freigabe.Vorname + \",
\";\n }\n\n Nachricht += '
bitte folgende Homeofficetage freigeben:

';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '
';\n\n\n for(let Zeitspanne of Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Freigabeanfrage && Zeitspanne.FreigabeanfrageSended === false) {\n\n SendMail = true;\n Zeitspanne.FreigabeanfrageSended = true;\n\n Nachricht += '';\n Nachricht += Zeitspanne.Startstring + ', ';\n Nachricht += '';\n }\n }\n\n Nachricht += '
';\n\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Mitarbeiter, true);\n\n for(let Freigeber of Freigeberliste) {\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigeber.Email,\n name: Freigeber.Vorname + ' ' + Freigeber.Name\n }\n });\n }\n\n if(SendMail) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n for(let Freigeber of Freigeberliste) {\n\n console.log('Homeofficefreigabeanfrage wurde an ' + Freigeber.Vorname + ' ' + Freigeber.Name + ' gesendet.');\n }\n\n resolve(Urlaubzeitspannen);\n\n }).catch((error: any) => {\n\n\n reject(error);\n });\n } else {\n\n console.log('Es wurden keine Homeofficefreigabeanfragen gesendet.');\n\n resolve(Urlaubzeitspannen);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendHomeofficefreigabeanfrage', this.Debug.Typen.Service);\n }\n }\n\n public SendVertreterzusage(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Vertretungszusage von ' + this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name;\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \",

nachfolgende Urlaubsvertretungen kann ich gerne wahrnehmen:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, { VertreterID: this.CurrentMitarbeiter._id });\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe &&\n Konversation.VertreterantwortSended === false) {\n\n SendAntwort = true;\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreterfreigabe;\n\n Konversation.VertreterantwortSended = true;\n Konversation.Vertretungmeldung = this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name + ' hat der Vertretung am ' + Heute.format('DD.MM.YY') + ' zugestimmt.';\n Konversation.Vertretungantwortzeitstempel = Heute.valueOf();\n\n // Alle anderen Konversationen herausfiltern\n\n Zeitspanne.Vertretungskonversationliste = [Konversation];\n Zeitspanne.UrlaubsvertreterIDListe = [Konversation.VertreterID];\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n }\n\n Nachricht += '
VonBisVertretung
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + 'Zusage
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(this.CurrentMitarbeiter,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Mitarbeiter.Email,\n name: Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Vertretungszusage wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Vertretungszusage gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendVertreterzusage', this.Debug.Typen.Service);\n }\n }\n\n async SendHomeofficeFreigabeantworten(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n let Freigebender: Mitarbeiterstruktur = lodash.cloneDeep(this.Pool.Mitarbeiterdaten); // lodash.find(this.Pool.Mitarbeiterliste, {_id: Urlaub.HomeofficefreigeberID});\n\n Urlaub = await this.SendMitarbeiterHomeofficeFreigabeablehnung(Mitarbeiter, Freigebender, Urlaub);\n Urlaub = await this.SendMitarbeiterHomeofficeFreigabezusage(Mitarbeiter, Freigebender, Urlaub);\n\n let Urlaubindex = lodash.findIndex(Mitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n Mitarbeiter.Urlaubsliste[Urlaubindex] = Urlaub;\n\n if(Mitarbeiter._id === this.CurrentMitarbeiter._id) this.CurrentMitarbeiter = Mitarbeiter;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(Mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendHomeofficeFreigabeantworten', this.Debug.Typen.Service);\n }\n\n }\n\n async UpdateFreigabenantworten(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur) {\n\n try {\n\n let Gesamtanzahl: number = 1;\n let Heute: Moment = moment().locale('de');\n let Freigebender: Mitarbeiterstruktur;\n\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt && Zeitspanne.FreigabeantwortSended === false) Gesamtanzahl += 1;\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt && Zeitspanne.FreigabeantwortSended === false) Gesamtanzahl += 2;\n }\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt || Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt) {\n\n Freigebender = lodash.cloneDeep(this.Pool.Mitarbeiterdaten); // lodash.find(this.Pool.Mitarbeiterliste, { _id: Urlaub.UrlaubsfreigeberID });\n // Vertretung = lodash.find(this.Pool.Mitarbeiterliste, { _id: Zeitspanne.UrlaubsvertreterID });\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt) {\n\n Zeitspanne.Planungmeldung = Heute.format('DD.MM.YYYY') + ' Der Urlaub wurde durch ' + Freigebender.Vorname + ' ' + Freigebender.Name + ' genehmigt.';\n Zeitspanne.Freigabemeldung = Heute.format('DD.MM.YYYY') + ' Urlaubsfreigabe wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.';\n Zeitspanne.Freigabemeldung += '
' + Heute.format('DD.MM.YYYY') + ' Urlaubsfreigabe wurde an das Office gesendet.';\n }\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt) {\n\n\n Zeitspanne.Planungmeldung = Heute.format('DD.MM.YYYY') + ' Der Urlaub wurde durch ' + Freigebender.Vorname + ' ' + Freigebender.Name + ' abgelehnt.';\n Zeitspanne.Freigabemeldung = Heute.format('DD.MM.YYYY') + ' Urlaubsablehnung wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.';\n }\n }\n }\n\n Urlaub = await this.SendMitarbeiterFreigabeablehnung(Mitarbeiter, Freigebender, Urlaub);\n Urlaub = await this.SendMitarbeiterFreigabezusage(Mitarbeiter, Freigebender, Urlaub);\n Urlaub = await this.SendOfficeFreigabezusage(Mitarbeiter, Freigebender, Urlaub);\n\n let Urlaubindex = lodash.findIndex(Mitarbeiter.Urlaubsliste, { Jahr: this.CurrentJahr });\n\n Mitarbeiter.Urlaubsliste[Urlaubindex] = Urlaub;\n\n this.CurrentUrlaub = Urlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(Mitarbeiter);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'UpdateFreigabenantworten', this.Debug.Typen.Service);\n }\n }\n\n public SendVertreterabsage(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Vertretungsabsage von ' + this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name;\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let NextKonversation: Urlaubsvertretungkonversationstruktur;\n let NextMitarbeiter: Mitarbeiterstruktur;\n let Color: string;\n let Status: string;\n let GoOn: boolean;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \",

nachfolgende Urlaubsvertretungen kann ich leider nicht wahrnehmen:

\";\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.CurrentMitarbeiter._id});\n\n debugger;\n\n if(!lodash.isUndefined(Konversation)) {\n\n // Zeitspanne.UrlaubsvertreterID === Vertretung._id &&\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung &&\n Konversation.VertreterantwortSended === false) {\n\n SendAntwort = true;\n\n Konversation.VertreterantwortSended = true;\n Konversation.Vertretungmeldung = this.CurrentMitarbeiter.Vorname + ' ' + this.CurrentMitarbeiter.Name + ' hat die Vertretung am ' + Heute.format('DD.MM.YY') + ' abgelehnt.';\n Konversation.Vertretungantwortzeitstempel = Heute.valueOf();\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n\n GoOn = false;\n\n for(NextKonversation of Zeitspanne.Vertretungskonversationliste) {\n\n NextMitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: NextKonversation.VertreterID });\n\n Color = NextKonversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage ? 'green' : 'red';\n Status = NextKonversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage ? 'offen' : 'abgelehnt';\n\n if(NextKonversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage) {\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreteranfrage;\n }\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n GoOn = false;\n\n debugger;\n\n /*\n\n for(Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage) GoOn = true;\n }\n\n if(GoOn === false) {\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreterablehnung;\n }\n\n */\n }\n\n Nachricht += '
VonBis
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '
VertretungStatus
' + NextMitarbeiter.Vorname + ' ' + NextMitarbeiter.Name + '' + Status + '
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(this.CurrentMitarbeiter,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Mitarbeiter.Email,\n name: Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name\n }\n });\n\n GoOn = false;\n\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Vertretungsabsage wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Vertretungsabsage gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendVertreterabsage', this.Debug.Typen.Service);\n }\n }\n\n public SendFreigabeanfrage(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Anfrage Urlaubsfreigabe von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n let Nachricht: string;\n let Empfaengerliste: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Vertreter: Mitarbeiterstruktur;\n let Heute: Moment = moment().locale('de');\n let Freigebender: Mitarbeiterstruktur;\n let Index: number;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigebender = lodash.find(this.Pool.Mitarbeiterliste, {_id: FreigeberID});\n\n if(!lodash.isUndefined(Freigebender)) {\n\n Empfaengerliste.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n }\n }\n\n\n return new Promise((resolve, reject) => {\n\n Nachricht = '';\n\n for(let Eintrag of Empfaengerliste) {\n\n Nachricht += \"Hallo \" + Eintrag.emailAddress.name + \",
\";\n }\n\n Nachricht += \"
\";\n Nachricht += \"es liegen neue Anfragen zur Urlaufsfreigabe von \";\n Nachricht += Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \" vor:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n for(Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n Konversation.Vertretungmeldung = '';\n }\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, { Status: this.Urlaubstatusvarianten.Vertreterfreigabe });\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Zeitspanne.FreigabeanfrageSended === false) {\n\n SendAntwort = true;\n\n Zeitspanne.Status = this.Urlaubstatusvarianten.Vertreterfreigabe;\n Zeitspanne.FreigabeanfrageSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n }\n\n Nachricht += '
VonBisVertretung
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '';\n\n Konversation.Vertretungmeldung = 'Urlaubsfreigabe Anfrage wurde am ' + Heute.format('DD.MM.YY') + ' an ';\n\n Index = 0;\n\n for(let Empfaenger of Empfaengerliste) {\n\n Konversation.Vertretungmeldung += Empfaenger.emailAddress.name;\n\n if(Index < Empfaengerliste.length - 1) Konversation.Vertretungmeldung += ', ';\n Index++;\n }\n\n Konversation.Vertretungmeldung += ' gesendet.';\n\n Vertreter = lodash.find(this.Pool.Mitarbeiterliste, {_id: Konversation.VertreterID});\n if(!lodash.isUndefined(Vertreter)) {\n\n Nachricht += Vertreter.Vorname + ' ' + Vertreter.Name + '
';\n }\n\n Nachricht += '
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Mitarbeiter,true);\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaengerliste, Betreff, Nachricht).then(() => {\n\n console.log('Freigabe Anfrage wurde versendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Freigabe Anfrage versendet.');\n\n resolve(Urlaub);\n }\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendFreigabeanfrage', this.Debug.Typen.Service);\n }\n }\n\n public SendBetriebsurlaubFreigabeanfrage(Mitarbeiter: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Anfrage Betriebsurlaubfreigabe von ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n let Nachricht: string;\n let Empfaengerliste: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Freigebender: Mitarbeiterstruktur;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: Mitarbeiter.StandortID});\n\n for(let FreigeberID of Standort.Urlaubfreigabepersonen) {\n\n Freigebender = lodash.find(this.Pool.Mitarbeiterliste, {_id: FreigeberID});\n\n if(!lodash.isUndefined(Freigebender)) {\n\n Empfaengerliste.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n }\n }\n\n return new Promise((resolve, reject) => {\n\n Nachricht = '';\n\n for(let Eintrag of Empfaengerliste) {\n\n Nachricht += \"Hallo \" + Eintrag.emailAddress.name + \",
\";\n }\n\n Nachricht += \"
\";\n Nachricht += \"es liegen neue Anfragen zur Betriebsurlaubfreigabe von \";\n Nachricht += Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \" vor:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Vertreterfreigabe && Zeitspanne.FreigabeanfrageSended === false) {\n\n SendAntwort = true;\n\n // Zeitspanne.VertreteranfrageSended = true;\n // Zeitspanne.VertreterantwortSended = true;\n Zeitspanne.FreigabeanfrageSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
VonBis
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Mitarbeiter,true);\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaengerliste, Betreff, Nachricht).then(() => {\n\n console.log('Urlaubsfreigabe Anfrage wurde versendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Urlaubsfreigabe Anfrage versendet.');\n\n resolve(Urlaub);\n }\n\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendBetriebsurlaubFreigabeanfrage', this.Debug.Typen.Service);\n }\n }\n\n public SendMitarbeiterFreigabezusage(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Urlaubsfreigabe';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Vertretung: Mitarbeiterstruktur;\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \",

anbei meine Urlaubsfreigabe für folgende Zeiträume:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt && Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.FreigabeantwortSended = true;\n Zeitspanne.UrlaubsfreigeberID = Freigebender._id;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {Status: this.Urlaubstatusvarianten.Vertreterfreigabe});\n\n if (!lodash.isUndefined(Konversation)) {\n\n if (!Zeitspanne.Betriebsurlaub) Vertretung = this.DBMitarbeiter.GetMitarbeiterByID(Konversation.VertreterID);\n else Vertretung = null;\n }\n else Vertretung = null;\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n if(!lodash.isUndefined(Vertretung) && Vertretung !== null) {\n\n Nachricht += '';\n }\n else {\n\n if(!Zeitspanne.Betriebsurlaub) Nachricht += '';\n else Nachricht += '';\n }\n\n Nachricht += '';\n }\n }\n\n Nachricht += '
VonBisVertretungStatus
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '' + Vertretung.Vorname + ' ' + Vertretung.Name + 'unbekanntBUFreigabe';\n Nachricht += '
';\n Nachricht += '

';\n Nachricht += 'Deine Urlaubsfreigabe wurde zur Eintragung in \"untermStrich\" dem Büro mitgeteilt.';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Mitarbeiter.Email,\n name: Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Urlaubsfreigabe wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Urlaubsfreigabe gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendMitarbeiterFreigabezusage', this.Debug.Typen.Service);\n }\n }\n\n public SendOfficeFreigabezusage(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Urlaubsfreigabe und EIntragung in untermStrich';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Vertretung: Mitarbeiterstruktur;\n let Konversation: Urlaubsvertretungkonversationstruktur;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo Office,

anbei eine Urlaubsfreigabe für \" + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + \" mit folgenden Zeiträumen:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Genehmigt && Zeitspanne.FreigabeantwortOfficeSended === false) {\n\n Zeitspanne.FreigabeantwortOfficeSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n Konversation = lodash.find(Zeitspanne.Vertretungskonversationliste, {Status: this.Urlaubstatusvarianten.Vertreterfreigabe});\n\n if (!lodash.isUndefined(Konversation)) {\n\n if (!Zeitspanne.Betriebsurlaub) Vertretung = this.DBMitarbeiter.GetMitarbeiterByID(Konversation.VertreterID);\n else Vertretung = null;\n }\n else Vertretung = null;\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n if(!lodash.isUndefined(Vertretung) && Vertretung !== null) {\n\n Nachricht += '';\n }\n else {\n\n if(!Zeitspanne.Betriebsurlaub) Nachricht += '';\n else Nachricht += '';\n }\n\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
VonBisVertretungStatus
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '' + Vertretung.Vorname + ' ' + Vertretung.Name + 'unbekanntBUFreigabe
';\n Nachricht += '

';\n Nachricht += 'Bitte Urlaub in untermStrich eintragen.';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: this.Officeemailadress,\n name: 'Office'\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Urlaubsfreigabe wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Urlaubsfreigabe gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendOfficeFreigabezusage', this.Debug.Typen.Service);\n }\n }\n\n public SendMitarbeiterFreigabeablehnung(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Ablehnung deiner Urlaubsanfrage';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n let Vertretung: Mitarbeiterstruktur;\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \",

leider muss ich deine Urlaubsanfrage für nachfolgende Zeiträume ablehnen:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status === this.Urlaubstatusvarianten.Abgelehnt && Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.FreigabeantwortSended = true;\n Zeitspanne.UrlaubsfreigeberID = Freigebender._id;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n Vertretung = this.DBMitarbeiter.GetMitarbeiterByID(Zeitspanne.UrlaubsvertreterID);\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n if(!lodash.isUndefined(Vertretung)) {\n\n Nachricht += '';\n }\n else {\n\n if(!Zeitspanne.Betriebsurlaub) Nachricht += '';\n else Nachricht += '';\n }\n\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
VonBisVertretungStatus
' + Zeitspanne.Startstring + '' + Zeitspanne.Endestring + '' + Vertretung.Vorname + ' ' + Vertretung.Name + 'unbekanntBUAbgelehnt
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Urlaubsablehung wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Urlaubsablehnung gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendMitarbeiterFreigabeablehnung', this.Debug.Typen.Service);\n }\n }\n\n public SendMitarbeiterHomeofficeFreigabeablehnung(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Ablehnung deiner Homeofficeabfrage';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \",

leider muss ich deine Homeofficeanfrage für nachfolgende Tage ablehnen:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Abgelehnt && Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.FreigabeantwortSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
DatumStatus
' + Zeitspanne.Startstring + 'Abgelehnt
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Homeofficeablehnung wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Homeofficeablehnung gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendMitarbeiterHomeofficeFreigabeablehnung', this.Debug.Typen.Service);\n }\n }\n\n public SendMitarbeiterHomeofficeFreigabezusage(Mitarbeiter: Mitarbeiterstruktur, Freigebender: Mitarbeiterstruktur, Urlaub: Urlaubsstruktur): Promise {\n\n try {\n\n let Betreff: string = 'Genehmigung deiner Homeofficeanfrage';\n let Nachricht: string;\n let Empfaenger: Outlookemailadressstruktur[] = [];\n let SendAntwort: boolean = false;\n let Heute: Moment = moment().locale('de');\n\n return new Promise((resolve, reject) => {\n\n Nachricht = \"Hallo \" + Mitarbeiter.Vorname + \" \" + Mitarbeiter.Name + \",

nachfolgende Homeofficetage sind genehmigt:

\";\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n\n for(let Zeitspanne of Urlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Genehmigt && Zeitspanne.FreigabeantwortSended === false) {\n\n Zeitspanne.FreigabeantwortSended = true;\n Zeitspanne.Freigabeantwortzeitstempel = Heute.valueOf();\n\n SendAntwort = true;\n\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n Nachricht += '';\n }\n }\n\n Nachricht += '
DatumStatus
' + Zeitspanne.Startstring + 'Genehmigt
';\n Nachricht += '

';\n Nachricht += 'Urlaub - Homeoffice - Planung jetzt öffnen';\n Nachricht += '

' + this.Pool.GetFilledSignatur(Freigebender,true);\n\n Empfaenger.push({\n\n emailAddress: {\n\n address: Freigebender.Email,\n name: Freigebender.Vorname + ' ' + Freigebender.Name\n }\n });\n\n if(SendAntwort === true) {\n\n this.Graph.SendMail(Empfaenger, Betreff, Nachricht).then(() => {\n\n console.log('Homeofficegenehmigung wurde an ' + Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name + ' gesendet.');\n\n resolve(Urlaub);\n\n }).catch((error: any) => {\n\n reject(error);\n });\n }\n else {\n\n console.log('Es wurde keine Homeofficegenehmigung gesendet.');\n\n resolve(Urlaub);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SendMitarbeiterHomeofficeFreigabezusage', this.Debug.Typen.Service);\n }\n }\n\n public ReadRegionen(landcode: string) {\n\n try {\n\n return new Promise((resolve, reject)=> {\n\n let Daten = {\n\n Landcode: landcode\n };\n\n let RegionenObserver = this.http.put(this.ServerReadRegionenUrl, Daten);\n\n RegionenObserver.subscribe({\n\n next: (data: any) => {\n\n this.Regionenliste = data.Regionenliste;\n },\n complete: () => {\n\n this.Regionenliste = lodash.filter(this.Regionenliste, (region: Regionenstruktur) => {\n\n return region.isoCode !== '';\n });\n\n for(let Region of this.Regionenliste) {\n\n Region.Name = Region.name[0].text;\n }\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n this.Regionenliste = [];\n\n console.log('Read Regionen ist fehlgeschlagen.');\n\n resolve(true);\n\n // reject(error);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'ReadRegionen', this.Debug.Typen.Service);\n }\n }\n\n public ReadFeiertage(landcode: string): Promise {\n\n try {\n\n let Observer: Observable;\n let Standort: Standortestruktur = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n\n if(lodash.isUndefined(Standort)) Standort = null;\n\n let Daten = {\n\n Standort: Standort,\n Jahr: this.CurrentJahr,\n Bundeslandkuerzel: this.Bundeslandkuerzel,\n Landcode: landcode\n };\n\n return new Promise((resolve, reject)=> {\n\n this.Feiertageliste[landcode] = [];\n\n Observer = this.http.put(this.ServerReadfeiertageUrl, Daten);\n\n Observer.subscribe({\n\n next: (ne) => {\n\n this.Feiertageliste[landcode] = ne.Feiertageliste;\n },\n complete: () => {\n\n resolve(true);\n },\n error: (error: HttpErrorResponse) => {\n\n this.Feiertageliste[landcode] = [];\n\n console.log('Read Feiertage ist fehlgeschlagen.');\n\n resolve(true);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'ReadFeiertage', this.Debug.Typen.Service);\n }\n }\n\n public ReadFerien(landcode: string): Promise {\n\n try {\n\n let FerienObserver: Observable;\n let Daten = {\n\n Jahr: this.CurrentJahr,\n Bundeslandkuerzel: this.Bundeslandkuerzel,\n Landcode: landcode\n };\n\n this.Ferienliste[landcode] = [];\n\n return new Promise((resolve, reject)=> {\n\n FerienObserver = this.http.put(this.ServerReadFerienUrl, Daten);\n\n FerienObserver.subscribe({\n\n next: (data: any) => {\n\n this.Ferienliste[landcode] = data.Ferienliste;\n },\n complete: () => {\n\n resolve(true);\n },\n\n error: (error: HttpErrorResponse) => {\n\n this.Ferienliste[landcode] = [];\n\n console.log('Read Ferien ist fehlgeschlagen.');\n\n\n resolve(true);\n }\n });\n });\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'ReadFerien', this.Debug.Typen.Service);\n }\n }\n\n public CountAnfragenanzahlen() {\n\n try {\n\n this.Urlaubsanfragenanzahl = 0;\n this.Antwortenanzahl = 0;\n this.Vertretungsanfragenanzahl = 0;\n this.Vertretungsantwortenanzahl = 0;\n this.Freigabenanfragenanzahl = 0;\n this.Freigabenantwortenanzahl = 0;\n this.Homeofficantwortenanzahl = 0;\n this.Homeofficeanfragenanzahl = 0;\n\n if(this.CurrentMitarbeiter !== null) {\n\n this.GetVertretungenliste();\n this.GetFreigabenliste();\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountAnfragenanzahlen', this.Debug.Typen.Service);\n\n return 0;\n }\n }\n\n public Init() {\n\n try {\n\n let Standort: Standortestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n let Urlaub: Urlaubsstruktur;\n let Gesamturlaub: number;\n let Urlaubstage: number;\n\n this.Urlaubsanfragenanzahl = 0;\n this.Homeofficeanfragenanzahl = 0;\n this.Vertretungsanfragenanzahl = 0;\n this.Vertretungsantwortenanzahl = 0;\n this.Freigabenanfragenanzahl = 0;\n this.Freigabenantwortenanzahl = 0;\n this.Kalenderwochenhoehenliste = [];\n\n // Land einstellen\n\n if(this.CurrentMitarbeiter === null) {\n\n this.CurrentMitarbeiter = lodash.cloneDeep(this.Pool.Mitarbeiterdaten);\n }\n else {\n\n this.CurrentMitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: this.CurrentMitarbeiter._id});\n }\n\n if(this.CurrentMitarbeiter !== null) {\n\n Standort = lodash.find(this.Pool.Standorteliste, {_id: this.CurrentMitarbeiter.StandortID});\n\n if (lodash.isUndefined(Standort)) this.Laendercode = 'DE';\n else {\n\n this.Laendercode = Standort.Land;\n }\n }\n\n this.ShowFerientage_DE = this.Pool.Mitarbeitersettings.UrlaubShowFerien_DE;\n this.ShowFeiertage_DE = this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_DE;\n this.Ferienfarbe_DE = this.Urlaubsfaben.Ferien_DE;\n this.Feiertagefarbe_DE = this.Urlaubsfaben.Feiertage_DE;\n\n this.ShowFerientage_BG = this.Pool.Mitarbeitersettings.UrlaubShowFerien_BG;\n this.ShowFeiertage_BG = this.Pool.Mitarbeitersettings.UrlaubShowFeiertage_BG;\n this.Ferienfarbe_BG = this.Urlaubsfaben.Ferien_BG;\n this.Feiertagefarbe_BG = this.Urlaubsfaben.Feiertage_BG;\n\n // Urlaub initialisieren\n\n if(this.CurrentMitarbeiter !== null) {\n\n this.CurrentUrlaub = lodash.find(this.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n if(lodash.isUndefined(this.CurrentUrlaub)) {\n\n this.CurrentUrlaub = this.GetEmptyUrlaub(this.CurrentJahr);\n this.CurrentUrlaubzeitspanne = null;\n\n this.CurrentMitarbeiter.Urlaubsliste.push(this.CurrentUrlaub);\n }\n else {\n\n this.CurrentUrlaubzeitspanne = null;\n }\n\n if(lodash.isUndefined(this.CurrentUrlaub.Projektbeteiligteliste)) this.CurrentUrlaub.Projektbeteiligteliste = [];\n if(lodash.isUndefined(this.CurrentUrlaub.Ferienblockerliste)) this.CurrentUrlaub.Ferienblockerliste = [];\n if(lodash.isUndefined(this.CurrentUrlaub.Feiertageblockerliste)) this.CurrentUrlaub.Feiertageblockerliste = [];\n // if(lodash.isUndefined(this.CurrentUrlaub.UrlaubsfreigeberID)) this.CurrentUrlaub.UrlaubsfreigeberID = null;\n // if(lodash.isUndefined(this.CurrentUrlaub.HomeofficefreigeberID)) this.CurrentUrlaub.HomeofficefreigeberID = null;\n }\n\n for(let Urlaubzeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n Urlaubzeitspanne = this.InitUrlaubzeitspanne(Urlaubzeitspanne);\n }\n\n for(let Homeofficezeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n Homeofficezeitspanne = this.InitHomeofficezeitspanne(Homeofficezeitspanne);\n\n }\n\n // Fremde Urlaube zur Einsicht vorbereiten\n\n this.UrlaublisteExtern = [];\n\n // Mitarbeiter aus Projektbeteiligtenliste einfügen\n\n for(let Eintrag of this.CurrentUrlaub.Projektbeteiligteliste) {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: Eintrag.MitarbeiterID});\n\n if(!lodash.isUndefined(Mitarbeiter)) {\n\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n if(!lodash.isUndefined(Urlaub)) {\n\n Urlaub = lodash.cloneDeep(Urlaub);\n\n Urlaub.MitarbeiterIDExtern = Mitarbeiter._id;\n Urlaub.NameExtern = Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n Urlaub.NameKuerzel = Mitarbeiter.Kuerzel;\n Urlaub.Urlaubzeitspannen = lodash.filter(Urlaub.Urlaubzeitspannen, (spanne: Urlauzeitspannenstruktur) => {\n\n return spanne.Status !== this.Urlaubstatusvarianten.Abgelehnt;\n });\n\n }\n else {\n\n Urlaub = this.GetEmptyUrlaub(this.CurrentJahr);\n\n Urlaub.MitarbeiterIDExtern = Mitarbeiter._id;\n Urlaub.NameExtern = Mitarbeiter.Vorname + ' ' + Mitarbeiter.Name;\n Urlaub.NameKuerzel = Mitarbeiter.Kuerzel;\n }\n\n Gesamturlaub = 0;\n Gesamturlaub += Mitarbeiter.Urlaub;\n Gesamturlaub += Mitarbeiter.Resturlaub;\n Urlaubstage = 0;\n\n for(let Zeitspanne of Urlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status !== this.Urlaubstatusvarianten.Abgelehnt) Urlaubstage += Zeitspanne.Tageanzahl;\n }\n\n if(this.CurrentMitarbeiter !== null && this.CurrentMitarbeiter.Urlaubsfreigaben === true) Urlaub.Text = '[' + Urlaubstage + ' von ' + Gesamturlaub + ']';\n else Urlaub.Text = '[' + Urlaubstage + ']';\n\n this.UrlaublisteExtern.push(Urlaub);\n }\n }\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'Init', this.Debug.Typen.Service);\n }\n }\n\n\n\n private InitHomeofficezeitspanne(Homeoffizezeitspanne: Homeofficezeitspannenstruktur): Homeofficezeitspannenstruktur {\n\n try {\n\n if(lodash.isUndefined(Homeoffizezeitspanne.Checked)) Homeoffizezeitspanne.Checked = false;\n\n return Homeoffizezeitspanne;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'InitHomeofficezeitspanne', this.Debug.Typen.Service);\n }\n }\n\n\n\n private InitUrlaubzeitspanne(Zeitspanne: Urlauzeitspannenstruktur): Urlauzeitspannenstruktur {\n\n try {\n\n if(lodash.isUndefined(Zeitspanne.UrlaubsvertreterID) || Zeitspanne.UrlaubsvertreterID === '') Zeitspanne.UrlaubsvertreterID = null;\n if(lodash.isUndefined(Zeitspanne.UrlaubsfreigeberID) || Zeitspanne.UrlaubsfreigeberID === '') Zeitspanne.UrlaubsfreigeberID = null;\n\n if(lodash.isUndefined(Zeitspanne.Planungmeldung)) Zeitspanne.Planungmeldung = '';\n if(lodash.isUndefined(Zeitspanne.Freigabemeldung)) Zeitspanne.Freigabemeldung = '';\n\n if(lodash.isUndefined(Zeitspanne.FreigabeanfrageSended)) Zeitspanne.FreigabeanfrageSended = false;\n if(lodash.isUndefined(Zeitspanne.FreigabeantwortSended)) Zeitspanne.FreigabeantwortSended = false;\n if(lodash.isUndefined(Zeitspanne.FreigabeantwortOfficeSended)) Zeitspanne.FreigabeantwortOfficeSended = false;\n\n if(lodash.isUndefined(Zeitspanne.Freigabeantwortzeitstempel)) Zeitspanne.Freigabeantwortzeitstempel = null;\n if(lodash.isUndefined(Zeitspanne.FreigabeantwortOfficezeitstempel)) Zeitspanne.FreigabeantwortOfficezeitstempel = null;\n if(lodash.isUndefined(Zeitspanne.Checked)) Zeitspanne.Checked = false;\n if(lodash.isUndefined(Zeitspanne.Halbertag)) Zeitspanne.Halbertag = false;\n if(lodash.isUndefined(Zeitspanne.Betriebsurlaub)) Zeitspanne.Betriebsurlaub = false;\n\n if(lodash.isUndefined(Zeitspanne.UrlaubsvertreterIDListe)) {\n\n if(!lodash.isUndefined(Zeitspanne.UrlaubsvertreterID) && Zeitspanne.UrlaubsvertreterID !== null) {\n\n Zeitspanne.UrlaubsvertreterIDListe = [Zeitspanne.UrlaubsvertreterID];\n }\n else {\n\n Zeitspanne.UrlaubsvertreterIDListe = [];\n }\n }\n\n if(lodash.isUndefined(Zeitspanne.Vertretungskonversationliste)) Zeitspanne.Vertretungskonversationliste = [];\n\n this.InitVertreterkonversationen(Zeitspanne, false);\n\n\n /*\n Was soll das hier unten ?\n\n Zeitspanne.Vertretungskonversationliste = lodash.filter(Zeitspanne.Vertretungskonversationliste, (Eintrag: Urlaubsvertretungkonversationstruktur) => {\n\n return Zeitspanne.UrlaubsvertreterIDListe.indexOf(Eintrag.VertreterID) !== -1;\n });\n\n */\n\n if(Zeitspanne.Status === 'Beantragt') Zeitspanne.Status = this.Urlaubstatusvarianten.Geplant;\n\n\n return Zeitspanne;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'InitUrlaubzeitspanne', this.Debug.Typen.Service);\n }\n }\n\n public InitVertreterkonversationen(Zeitspanne: Urlauzeitspannenstruktur, Reset: boolean) {\n\n try {\n\n let Index: number;\n\n\n for(let MitarbeiterID of Zeitspanne.UrlaubsvertreterIDListe) {\n\n Index = lodash.findIndex(Zeitspanne.Vertretungskonversationliste, {VertreterID: MitarbeiterID});\n\n if(Index === -1) {\n\n Zeitspanne.Vertretungskonversationliste.push({\n VertreterID: MitarbeiterID,\n Status: this.Const.NONE,\n VertreteranfrageSended: false,\n VertreterantwortSended: false,\n Vertretunganfragezeitstempel: 0,\n Vertretungantwortzeitstempel: 0,\n Vertretungmeldung: \"\"\n });\n }\n else {\n\n\n if(Reset === true && Zeitspanne.Vertretungskonversationliste[Index].Status !== this.Urlaubstatusvarianten.Vertreterfreigabe) {\n\n Zeitspanne.Vertretungskonversationliste[Index] = {\n\n VertreterID: MitarbeiterID,\n Status: this.Const.NONE,\n VertreteranfrageSended: false,\n VertreterantwortSended: false,\n Vertretunganfragezeitstempel: 0,\n Vertretungantwortzeitstempel: 0,\n Vertretungmeldung: \"\"\n };\n }\n }\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'InitVertreterkonversationen', this.Debug.Typen.Service);\n }\n }\n\n public SetPlanungsmonate() {\n\n try {\n\n if(this.CurrentMonatindex === 0) {\n\n this.FirstMonatIndex = 0;\n this.CurrentMonatindex = 1;\n this.LastMonatIndex = 2;\n }\n else if(this.CurrentMonatindex === 11) {\n\n this.FirstMonatIndex = 9;\n this.CurrentMonatindex = 10;\n this.LastMonatIndex = 11;\n }\n else {\n\n this.FirstMonatIndex = this.CurrentMonatindex - 1;\n this.LastMonatIndex = this.CurrentMonatindex + 1;\n }\n\n\n // this.PlanungsmonateChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'SetPlanungsmonate', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyUrlaub(jahr): Urlaubsstruktur {\n\n try {\n\n let Urlaub: Urlaubsstruktur = {\n Jahr: jahr,\n Urlaubzeitspannen: [],\n Homeofficezeitspannen: [],\n // UrlaubsfreigeberID: null,\n // HomeofficefreigeberID: null,\n Projektbeteiligteliste: [],\n Ferienblockerliste: [],\n Feiertageblockerliste: []\n };\n\n if(this.CurrentMitarbeiter !== null && !lodash.isUndefined(this.CurrentMitarbeiter.Urlaubsliste[0])) {\n\n Urlaub.Projektbeteiligteliste = this.CurrentMitarbeiter.Urlaubsliste[0].Projektbeteiligteliste;\n Urlaub.Ferienblockerliste = this.CurrentMitarbeiter.Urlaubsliste[0].Ferienblockerliste;\n Urlaub.Feiertageblockerliste = this.CurrentMitarbeiter.Urlaubsliste[0].Feiertageblockerliste;\n }\n\n return Urlaub;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Urlaub', 'GetEmptyUrlaub', this.Debug.Typen.Service);\n }\n }\n\n CheckIsFerientag(Tag: Kalendertagestruktur, landcode: string): boolean {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Starttag: Moment;\n let Endetag: Moment;\n let IsFerientag: boolean = false;\n\n if(!lodash.isUndefined(this.Ferienliste[landcode])) {\n\n for(let Eintrag of this.Ferienliste[landcode]) {\n\n Starttag = moment(Eintrag.Anfangstempel);\n Endetag = moment(Eintrag.Endestempel);\n\n if(CurrentTag.isSameOrAfter(Starttag, 'day') && CurrentTag.isSameOrBefore(Endetag, 'day')) {\n\n IsFerientag = true;\n\n break;\n }\n }\n }\n\n return IsFerientag;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckIsFerientag', this.Debug.Typen.Service);\n }\n }\n\n public CheckIsUrlaubstag(Mitarbeiter: Mitarbeiterstruktur, Tag: Kalendertagestruktur): Urlauzeitspannenstruktur {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Starttag: Moment;\n let Endetag: Moment;\n let IsUrlaubstag: boolean = false;\n let Urlaub: Urlaubsstruktur;\n let Index: number = lodash.findIndex(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n let Merker: Urlauzeitspannenstruktur;\n\n if(Index !== -1) {\n\n Urlaub = Mitarbeiter.Urlaubsliste[Index];\n\n for(let Eintrag of Urlaub.Urlaubzeitspannen) {\n\n Starttag = moment(Eintrag.Startstempel);\n Endetag = moment(Eintrag.Endestempel);\n\n if(CurrentTag.isSameOrAfter(Starttag, 'day') && CurrentTag.isSameOrBefore(Endetag, 'day') && Eintrag.Status !== this.Urlaubstatusvarianten.Abgelehnt) {\n\n switch (Eintrag.Status) {\n\n case this.Urlaubstatusvarianten.Geplant:\n\n if(this.GesamtuebersichtSetting.ShowGeplant === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreteranfrage:\n\n if(this.GesamtuebersichtSetting.ShowVertreteranfragen === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterfreigabe:\n\n if(this.GesamtuebersichtSetting.ShowVertreterfreigaben === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Vertreterablehnung:\n\n if(this.GesamtuebersichtSetting.ShowVertreterablehnungen === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Genehmigt:\n\n if(this.GesamtuebersichtSetting.ShowUrlaubsgenehmigungen === true) return Eintrag;\n\n break;\n\n case this.Urlaubstatusvarianten.Abgelehnt:\n\n if(this.GesamtuebersichtSetting.ShowUrlaubsablehnungen === true) return Eintrag;\n\n break;\n }\n }\n }\n }\n\n return null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckIsUrlaubstag', this.Debug.Typen.Service);\n }\n }\n\n public CheckIsHomeofficetag(Mitarbeiter: Mitarbeiterstruktur, Tag: Kalendertagestruktur): Homeofficezeitspannenstruktur {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Starttag: Moment;\n let Endetag: Moment;\n let Homeoffice: Urlaubsstruktur;\n let Index: number = lodash.findIndex(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n if(Index !== -1) {\n\n Homeoffice = Mitarbeiter.Urlaubsliste[Index];\n\n for(let Eintrag of Homeoffice.Homeofficezeitspannen) {\n\n Starttag = moment(Eintrag.Startstempel);\n Endetag = moment(Eintrag.Endestempel);\n\n if(CurrentTag.isSameOrAfter(Starttag, 'day') && CurrentTag.isSameOrBefore(Endetag, 'day') && Eintrag.Status !== this.Homeofficestatusvarianten.Abgelehnt) {\n\n switch (Eintrag.Status) {\n\n case this.Homeofficestatusvarianten.Geplant:\n\n if(this.GesamtuebersichtSetting.ShowHomeofficeGeplant === true) return Eintrag;\n\n break;\n\n case this.Homeofficestatusvarianten.Genehmigt:\n\n if(this.GesamtuebersichtSetting.ShowHomeofficeGenehmigt === true) return Eintrag;\n\n break;\n\n case this.Homeofficestatusvarianten.Freigabeanfrage:\n\n if(this.GesamtuebersichtSetting.ShowHomeofficeAnfrage === true) return Eintrag;\n\n break;\n }\n }\n }\n }\n\n return null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckIsHomeofficetag', this.Debug.Typen.Service);\n }\n }\n\n GetFeriennamen(ferientag: Ferienstruktur, laendercode: string) {\n\n try {\n\n let Name: string = laendercode + ': Unbekannt';\n\n for(let name of ferientag.name) {\n\n if(name.language === laendercode) Name = name.text;\n }\n\n return Name;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFeriennamen', this.Debug.Typen.Service);\n }\n }\n\n GetFeiertagnamen(feiertag: Ferienstruktur, laendercode: string) {\n\n try {\n\n let Name: string = laendercode + ': Unbekannt';\n\n for(let name of feiertag.name) {\n\n if(name.language === laendercode) Name = name.text;\n }\n\n return Name;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFeiertagnamen', this.Debug.Typen.Service);\n }\n }\n\n GetFerientag(Tag: Kalendertagestruktur, landcode: string): Kalendertagestruktur {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Starttag: Moment;\n let Endetag: Moment;\n let Ferientag: Kalendertagestruktur;\n let Eintrag: Ferienstruktur;\n\n if(!lodash.isUndefined(this.Ferienliste[landcode])) {\n\n for(Eintrag of this.Ferienliste[landcode]) {\n\n Starttag = moment(Eintrag.Anfangstempel);\n Endetag = moment(Eintrag.Endestempel);\n\n if(CurrentTag.isSameOrAfter(Starttag, 'day') && CurrentTag.isSameOrBefore(Endetag, 'day')) {\n\n Ferientag = {\n Tagnummer: 0,\n Hauptmonat: false,\n Kalenderwoche: 0,\n Tag: \"\",\n Tagstempel: Eintrag.Anfangstempel,\n Ferienname_DE: this.GetFeriennamen(Eintrag, 'DE'),\n Ferienname_BG: this.GetFeriennamen(Eintrag, 'EN'),\n };\n\n return Ferientag;\n\n break;\n }\n }\n }\n\n return null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFerientag', this.Debug.Typen.Service);\n }\n }\n\n CheckIsFeiertag(Tag: Kalendertagestruktur, landcode: string): boolean {\n\n try {\n\n let CurrentTag: Moment = moment(Tag.Tagstempel);\n let Feiertag: Moment;\n let IsFeiertag: boolean = false;\n let Blockerdatum: Moment;\n\n if(!lodash.isUndefined(this.Feiertageliste[landcode])) {\n\n for (let Eintrag of this.Feiertageliste[landcode]) {\n\n Feiertag = moment(Eintrag.Anfangstempel);\n\n if (Feiertag.isSame(CurrentTag, 'day')) {\n\n IsFeiertag = true;\n\n for (let Eintrag of this.CurrentUrlaub.Feiertageblockerliste) {\n\n Blockerdatum = moment(Eintrag);\n\n if (Blockerdatum.isSame(CurrentTag, 'day')) {\n\n IsFeiertag = false;\n }\n }\n }\n }\n }\n\n return IsFeiertag;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckIsFeiertag', this.Debug.Typen.Service);\n }\n }\n\n GetFeiertag(currenttag: Kalendertagestruktur, landcode: string): Kalendertagestruktur {\n\n try {\n\n let CurrentTag: Moment = moment(currenttag.Tagstempel);\n let Feiertagdatum: Moment;\n let Feiertag: Kalendertagestruktur;\n let Tag: Ferienstruktur;\n\n if(!lodash.isUndefined(this.Feiertageliste[landcode])) {\n\n for(Tag of this.Feiertageliste[landcode]) {\n\n Feiertagdatum = moment(Tag.Anfangstempel);\n\n if(Feiertagdatum.isSame(CurrentTag, 'day')) {\n\n Feiertag = {\n Tagnummer: 0,\n Hauptmonat: false,\n Kalenderwoche: 0,\n Tag: \"\",\n Tagstempel: Tag.Anfangstempel,\n Feiertagname_DE: this.GetFeiertagnamen(Tag, 'DE'),\n Feiertagname_BG: this.GetFeiertagnamen(Tag, 'EN'),\n };\n\n return Feiertag;\n\n break;\n }\n }\n }\n\n return null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetFeiertag', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyUrlaubszeitspanne(): Urlauzeitspannenstruktur {\n\n try {\n\n return {\n\n ZeitspannenID: this.Pool.GetNewUniqueID(),\n Startstempel: null,\n Endestempel: null,\n Startstring: \"\",\n Endestring: \"\",\n UrlaubsvertreterID: null,\n UrlaubsvertreterIDListe: [],\n Vertretungskonversationliste: [],\n UrlaubsfreigeberID: null,\n Status: this.Urlaubstatusvarianten.Geplant,\n Planungmeldung: '',\n Freigabemeldung: '',\n Halbertag: false,\n Betriebsurlaub: false,\n Tageanzahl: 0,\n FreigabeanfrageSended: false,\n FreigabeantwortSended: false,\n FreigabeantwortOfficeSended: false,\n Freigabeantwortzeitstempel: null,\n FreigabeantwortOfficezeitstempel: null\n };\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Urlaub', 'GetEmptyZeitspanne', this.Debug.Typen.Service);\n }\n }\n\n public GetEmptyHomeofficezeitspanne(): Homeofficezeitspannenstruktur {\n\n try {\n\n return {\n\n ZeitspannenID: this.Pool.GetNewUniqueID(),\n Startstempel: null,\n Endestempel: null,\n Startstring: \"\",\n Endestring: \"\",\n Status: this.Homeofficestatusvarianten.Geplant,\n Planungmeldung: '',\n Vertretungmeldung: '',\n Freigabemeldung: '',\n Tageanzahl: 0,\n FreigabeanfrageSended: false,\n FreigabeantwortSended: false,\n Freigabeantwortzeitstempel: null,\n };\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Database Urlaub', 'GetEmptyHomeofficezeitspanne', this.Debug.Typen.Service);\n }\n }\n\n public CountResturlaub(): number {\n\n try {\n\n let Gesamturlaub: number = 0;\n\n if(this.CurrentUrlaub !== null && this.CurrentMitarbeiter !== null) {\n\n Gesamturlaub += this.CurrentMitarbeiter.Urlaub;\n Gesamturlaub += this.CurrentMitarbeiter.Resturlaub;\n\n for(let Zeitspanne of this.CurrentUrlaub.Urlaubzeitspannen) {\n\n if(Zeitspanne.Status !== this.Urlaubstatusvarianten.Abgelehnt) Gesamturlaub -= Zeitspanne.Tageanzahl;\n }\n\n return Gesamturlaub;\n }\n else return 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountResturlaub', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeoffice(): number {\n\n try {\n\n let Gesamthomeoffice: number = 210;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status !== this.Homeofficestatusvarianten.Abgelehnt) Gesamthomeoffice -= Zeitspanne.Tageanzahl;\n }\n\n return Gesamthomeoffice;\n }\n else return 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeoffice', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeGeplant(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Geplant) Anzahl++;\n }\n }\n\n return Anzahl;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeGeplant', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeFreigbeanfragen(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Freigabeanfrage) Anzahl++;\n }\n }\n\n return Anzahl;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeFreigbeanfragen', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeGenehmigt(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Genehmigt) Anzahl++;\n }\n }\n\n return Anzahl;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeGenehmigt', this.Debug.Typen.Service);\n }\n }\n\n public CountHomeAbgelehnt(): number {\n\n try {\n\n let Anzahl: number = 0;\n\n if(this.CurrentUrlaub !== null && this.Pool.Mitarbeiterdaten !== null) {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(Zeitspanne.Status === this.Homeofficestatusvarianten.Abgelehnt) Anzahl++;\n }\n }\n\n return Anzahl;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CountHomeAbgelehnt', this.Debug.Typen.Service);\n }\n }\n\n public CheckDisplayExternenUrlaub(mitrbeiterid: string):boolean {\n\n try {\n\n let Beteiligt: Urlaubprojektbeteiligtestruktur;\n let Mitarbeiter: Mitarbeiterstruktur;\n let Urlaub: Urlaubsstruktur;\n\n if(this.CurrentUrlaub !== null) {\n\n Beteiligt = lodash.find(this.CurrentUrlaub.Projektbeteiligteliste, {MitarbeiterID: mitrbeiterid});\n\n if(lodash.isUndefined(Beteiligt)) return false;\n else {\n\n Mitarbeiter = lodash.find(this.Pool.Mitarbeiterliste, {_id: Beteiligt.MitarbeiterID});\n Urlaub = lodash.find(Mitarbeiter.Urlaubsliste, {Jahr: this.CurrentUrlaub.Jahr});\n\n if(lodash.isUndefined(Urlaub)) return false;\n else {\n\n return Beteiligt.Display && Urlaub.Urlaubzeitspannen.length > 0;\n }\n\n }\n }\n else return false;\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckDisplayExternenUrlaub', this.Debug.Typen.Service);\n }\n }\n\n async HomeofficeLoeschen(Status: string) {\n\n try {\n\n for(let Zeitspanne of this.CurrentUrlaub.Homeofficezeitspannen) {\n\n if(lodash.isUndefined(Zeitspanne.Checked) === true) Zeitspanne.Checked = false;\n }\n\n let Homeofficeliste: Homeofficezeitspannenstruktur[] = lodash.filter(this.CurrentUrlaub.Homeofficezeitspannen, (eintrag: Homeofficezeitspannenstruktur) => {\n\n return eintrag.Status === Status && eintrag.Checked === false || eintrag.Status !== Status;\n });\n\n this.CurrentUrlaub = lodash.find(this.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n this.CurrentUrlaub.Homeofficezeitspannen = Homeofficeliste;\n\n let Urlaubindex = lodash.findIndex(this.CurrentMitarbeiter.Urlaubsliste, {Jahr: this.CurrentJahr});\n\n this.CurrentMitarbeiter.Urlaubsliste[Urlaubindex] = this.CurrentUrlaub;\n\n await this.DBMitarbeiter.UpdateMitarbeiterUrlaub(this.CurrentMitarbeiter);\n\n this.ExterneHomeofficeChanged.emit();\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'HomeofficeLoeschen', this.Debug.Typen.Service);\n }\n }\n\n GetHomeofficezeitspannenByStataus(Status: string): Homeofficezeitspannenstruktur[][] {\n\n try {\n\n let Liste: Homeofficezeitspannenstruktur[] = lodash.filter(this.CurrentUrlaub.Homeofficezeitspannen, {Status: Status});\n let Gesamtliste: Homeofficezeitspannenstruktur[][] = [];\n let Datum: Moment;\n\n Liste.sort((a: Homeofficezeitspannenstruktur, b: Homeofficezeitspannenstruktur) => {\n\n if (a.Startstempel < b.Startstempel) return -1;\n if (a.Startstempel > b.Startstempel) return 1;\n return 0;\n });\n\n for(let Monatindex = 0; Monatindex < this.Monateliste.length; Monatindex++) {\n\n Gesamtliste[Monatindex] = [];\n Gesamtliste[Monatindex] = lodash.filter(Liste, (eintrag: Homeofficezeitspannenstruktur) => {\n\n Datum = moment(eintrag.Startstempel);\n\n return Datum.month() === Monatindex;\n });\n }\n\n return Gesamtliste;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'GetHomeofficezeitspannenByStataus', this.Debug.Typen.Service);\n }\n }\n\n CheckVertretungIsAbgelehnt(Zeitspanne: Urlauzeitspannenstruktur): boolean {\n\n try {\n\n let Konversation: Urlaubsvertretungkonversationstruktur;\n let Abgelehnt: boolean = false;\n\n for(Konversation of Zeitspanne.Vertretungskonversationliste) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreterablehnung) Abgelehnt = true;\n }\n\n return Abgelehnt;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Database Urlaub', 'CheckVertretungIsAbgelehnt', this.Debug.Typen.Service);\n }\n }\n\n GetUrlaubStatuscolorByKonversation(Zeitspanne: Urlauzeitspannenstruktur): string {\n\n try {\n\n let Color = '';\n let Konversation: Urlaubsvertretungkonversationstruktur = lodash.find(Zeitspanne.Vertretungskonversationliste, {VertreterID: this.CurrentMitarbeiter._id});\n\n if(!lodash.isUndefined(Konversation)) {\n\n if(Konversation.Status === this.Urlaubstatusvarianten.Vertreteranfrage) Color = this.Urlaubsfaben.Vertreteranfrage;\n else {\n\n Color = Konversation.Status === this.Urlaubstatusvarianten.Vertreterfreigabe ? this.Urlaubsfaben.Vertreterfreigabe : this.Urlaubsfaben.Vertreterablehnung;\n }\n }\n\n return Color;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'file', 'GetUrlaubStatuscolorByKonversation', this.Debug.Typen.Service);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BasicsProvider } from '../basics/basics';\nimport {ConstProvider} from '../const/const';\nimport {NavController} from '@ionic/angular';\nimport {ErrorService} from \"../error/error.service\";\nimport {Debugmmessagestruktur} from \"../../dataclasses/Debummessagestruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class DebugProvider {\n\n public Typen = {\n\n Page: 'Page',\n Component: 'Component',\n Provider: 'Provider',\n Directive: 'Directive',\n Service: 'Service'\n };\n\n public Debugmessageliste: Debugmmessagestruktur[];\n\n constructor( public Basics: BasicsProvider,\n private nav: NavController,\n private Fehlerservice: ErrorService,\n private Const: ConstProvider){\n try {\n\n this.Debugmessageliste = [];\n }\n catch (error) {\n\n }\n }\n\n\n public ShowErrorMessage(message, script, funktion, typ)\n {\n try {\n\n console.log('File: ' + script + ' | Function: ' + funktion + ' | Message: ' + message);\n\n this.Debugmessageliste.push({\n\n Skript: script,\n Message: message,\n Function: funktion,\n Color: 'red'\n });\n }\n catch (error2) {\n\n debugger;\n }\n }\n\n public ShowMessage(message: string, script: string, funktion: string, typ: string)\n {\n try {\n\n let data = {\n\n message: message,\n code: '',\n stack: ''\n };\n\n console.log('File: ' + script + ' | Function: ' + funktion + ' | Message: ' + message);\n\n this.Debugmessageliste.push({\n\n Skript: script,\n Message: message,\n Function: funktion,\n Color: 'blue'\n });\n }\n catch (error) {\n\n debugger;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Dialoglistestruktur} from \"../../dataclasses/diaploglistestruktur\";\nimport * as lodash from \"lodash-es\";\nimport {forEach} from \"lodash-es\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DisplayService {\n\n public Dialognamen = {\n\n Auswahldialog: 'Auswahldialog',\n Mitarbeiterauswahl: 'Mitarbeiterauswahl',\n Projekteditor: 'Projekteditor',\n Beteiligteneditor: 'Beteiligteneditor',\n Firmeneditor: 'Firmeneditor',\n Mitarbeitereditor: 'Mitarbeitereditor',\n Standorteditor: 'Standorteditor',\n Changelogeditor: 'Changelogeditor',\n Favoriteneditor: 'Favoriteneditor',\n Favoritenauswahl: 'Favoritenauswahl',\n Projekteauswahl: 'Projekteauswahl',\n Bauteileditor: 'Bauteileditor',\n Geschosseditor: 'Geschosseditor',\n Raumeditor: 'Raumeditor',\n AufgabeProjektauswahl: 'AufgabeProjektauswahl',\n Projektpunteditor: 'Projektpunteditor',\n Beteiligteauswahl: 'Beteiligteauswahl',\n Firmenauswahl: 'Firmenauswahl',\n Protokolleditor: 'Protokolleditor',\n Kostengruppenauswahl: 'Kostengruppenauswahl',\n Raumauswahl: 'Raumauswahl',\n Protokolllistefilter: 'Protokolllistefilter',\n Aufgabenlistefilter: 'Aufgabenlistefilter',\n Meinewocheeditor: 'Meinewocheeditor',\n ProjektpunktStatusDatePicker: 'ProjektpunktStatusDatePicker',\n ProjektpunktDateKwPicker: 'ProjektpunktDateKwPicker',\n Verzeichnisauswahl: 'Verzeichnisauswahl',\n Bilderauswahl: 'Bilderauswahl',\n Outlookkontakteauswahl: 'Outlookkontakteauswahl',\n ProjektSendeEmail: 'ProjektSendeEmail',\n Bautagebucheditor: 'Bautagebucheditor',\n Bautagebucheintrageditor: 'Bautagebucheintrageditor',\n LOPListeEditor: 'LOPListeEditor',\n LOPListeEintragEditor: 'LOPListeEintragEditor',\n Planungsmatrixeintrageditor: 'Planungsmatrixeintrageditor',\n Notizenkapiteleditor: 'Notizenkapiteleditor',\n Festlegungkategorieneditor: 'Festlegungkategorieneditor',\n Simontabelleeditor: 'Simontabelleeditor',\n Simontabellelesitungeditor: 'Simontabellelesitungeditor',\n RechnungEditor: 'RechnungEditor'\n\n };\n\n private Dialogliste: Dialoglistestruktur[];\n\n constructor(private Debug: DebugProvider) {\n\n try {\n\n this.Dialogliste = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Display', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public ResetDialogliste() {\n\n try {\n\n this.Dialogliste = [];\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Display', 'ResetDialogliste', this.Debug.Typen.Service);\n }\n }\n\n public AddDialog(name: string, zindex: number) {\n\n try {\n\n let Dialog: Dialoglistestruktur = lodash.find(this.Dialogliste, {Dialogname: name});\n\n if(lodash.isUndefined(Dialog)) {\n\n this.Dialogliste.push({\n\n Dialogname: name,\n ZIndex: zindex\n });\n }\n else {\n\n this.Debug.ShowErrorMessage(new Error('Add Dialog Fehler: ' + name), 'Dialog', 'AddDialog', this.Debug.Typen.Service);\n }\n\n forEach(this.Dialogliste, (Eintrag: Dialoglistestruktur) => {\n\n console.log(Eintrag);\n });\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Dialog', 'AddDialog', this.Debug.Typen.Service);\n }\n }\n\n public RemoveDialog(name: string) {\n\n try {\n\n this.Dialogliste = lodash.filter(this.Dialogliste, (dialog: Dialoglistestruktur) => {\n\n return dialog.Dialogname !== name;\n });\n\n if(this.Dialogliste.length === 0) {\n\n this.Debug.ShowMessage('Dialogliste ist leer.', 'Dialog', 'RemoveDialog', this.Debug.Typen.Service);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Dialog', 'RemoveDialog', this.Debug.Typen.Service);\n }\n }\n\n public ShowOpacity(name:string): boolean {\n\n try {\n\n let Maximum: number = 0;\n let Wert: number = 0;\n let Dialogname: string;\n\n forEach(this.Dialogliste, (Eintrag: Dialoglistestruktur) => {\n\n if(Eintrag.ZIndex > Maximum) Maximum = Eintrag.ZIndex;\n if(Eintrag.Dialogname === name) {\n\n Wert = Eintrag.ZIndex;\n Dialogname = Eintrag.Dialogname;\n }\n });\n\n if(Wert >= Maximum) {\n\n // this.Debug.ShowMessage(Dialogname + ' ganz oben. Z-Index: ' + Wert, 'Dialog', 'ShowOpacity', this.Debug.Typen.Service);\n\n return true;\n }\n else return false;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Dialog', 'ShowOpacity', this.Debug.Typen.Service);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {Fehlermeldungparameterstruktur} from \"../../dataclasses/fehlermeldungstruktur\";\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorService {\n\n // public Fehlerparameter: Fehlermeldungparameterstruktur;\n public Fehlermeldung: Fehlermeldungparameterstruktur[];\n public CanGoBack: boolean;\n\n constructor(private Const: ConstProvider) {\n\n try {\n\n this.Fehlermeldung = [];\n this.CanGoBack = true;\n\n } catch (error) {\n\n\n }\n }\n}\n","import {EventEmitter, Inject, Injectable} from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {MSAL_GUARD_CONFIG, MsalGuardConfiguration, MsalService} from \"@azure/msal-angular\";\nimport {ConstProvider} from \"../const/const\";\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from \"@angular/common/http\";\nimport {Graphuserstruktur} from \"../../dataclasses/graphuserstruktur\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {DatabaseAuthenticationService} from \"../database-authentication/database-authentication.service\";\nimport {AuthProviderCallback, Client, GraphError, ResponseType} from '@microsoft/microsoft-graph-client';\nimport {User} from \"@microsoft/microsoft-graph-types\";\nimport {ToolsProvider} from \"../tools/tools\";\nimport * as lodash from 'lodash-es';\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {Teamsstruktur} from \"../../dataclasses/teamsstruktur\";\nimport {Teamsfilesstruktur} from \"../../dataclasses/teamsfilesstruktur\";\nimport {Teamsdownloadstruktur} from \"../../dataclasses/teamsdownloadstruktur\";\nimport {Teamsmitgliederstruktur} from \"../../dataclasses/teamsmitgliederstruktur\";\nimport moment, {Moment} from \"moment\";\n// import {DatabaseOutlookemailService} from \"../database-email/database-outlookemail.service\";\nimport {BasicsProvider} from \"../basics/basics\";\nimport {Outlookemailadressstruktur} from \"../../dataclasses/outlookemailadressstruktur\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Graphservice {\n\n public ImageZoomOut: EventEmitter = new EventEmitter();\n\n public Graphuser: Graphuserstruktur;\n public Teamsliste: Teamsstruktur[];\n public UserimageSRC: any;\n public TeamsRootfilelist: Teamsfilesstruktur[];\n public TeamsCurrentfilelist: Teamsfilesstruktur[];\n public TeamsSubdirectorylist: Teamsfilesstruktur[];\n public CurrentTeamsID: string;\n // public Outlookkontakteliste: Outlookkontaktestruktur[];\n public CurrentPDFDownload: Teamsdownloadstruktur;\n public KalenderKW: number;\n // public Outlookpresetcolors:Outlookpresetcolorsstruktur[];\n private BAESiteID: string;\n public FilebrowserModus: string;\n public FilebrowserModusvarianten = {\n\n Alle_Projekte: 'Alle_Projekte',\n Current_Projekt: 'Current_Projekt'\n };\n\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\n private Debug: DebugProvider,\n private Const: ConstProvider,\n private AuthService: DatabaseAuthenticationService,\n private Tools: ToolsProvider,\n public Basics: BasicsProvider,\n private Pool: DatabasePoolService,\n private domSanitizer: DomSanitizer,\n ) {\n try {\n\n this.Graphuser = null;\n this.UserimageSRC = null;\n this.Teamsliste = [];\n this.TeamsRootfilelist = [];\n this.TeamsCurrentfilelist = [];\n this.TeamsSubdirectorylist = [];\n this.CurrentTeamsID = 'ea457111-b3f1-4c73-a8ae-cb1cbaf6d244'; // Köferinger Straße 20\n this.CurrentPDFDownload = null;\n // this.Outlookkontakteliste = [];\n this.FilebrowserModus = this.FilebrowserModusvarianten.Alle_Projekte;\n this.KalenderKW = moment().locale('de').isoWeek();\n /*\n this.Outlookpresetcolors = [\n\n { Name: 'none', Value: 'none', Fontcolor: 'white' },\n { Name: 'Preset0', Value: '#dc626d', Fontcolor: 'black' }, // Red\n { Name: 'Preset1', Value: '#e8825d', Fontcolor: 'black' },\n { Name: 'Preset2', Value: '#ffcd8f', Fontcolor: 'black' }, // Brown\n { Name: 'Preset3', Value: '#5f5f58', Fontcolor: 'white' }, // Yellow\n { Name: 'Preset4', Value: '#52ce90', Fontcolor: 'black' }, // Green\n { Name: 'Preset5', Value: '#57d2da', Fontcolor: 'white' }, // Teal\n { Name: 'Preset6', Value: '#5c5f53', Fontcolor: 'white' }, // Olive\n { Name: 'Preset7', Value: '#5ca9e5', Fontcolor: 'white' }, // Blue\n { Name: 'Preset8', Value: '#53525a', Fontcolor: 'white' }, // Purple\n { Name: 'Preset9', Value: '#ee5fb7', Fontcolor: 'black' },\n { Name: 'Preset10', Value: '#c5ced1', Fontcolor: 'white' }, // 'Steel'\n { Name: 'Preset11', Value: '#5d6567', Fontcolor: 'white' },\n { Name: 'Preset12', Value: '#c3c5bb', Fontcolor: 'white' },\n { Name: 'Preset13', Value: '#9fadb1', Fontcolor: 'white' },\n { Name: 'Preset14', Value: '#8f8f8f', Fontcolor: 'white'}, // Black\n { Name: 'Preset15', Value: '#ac4e5e', Fontcolor: 'black' },\n { Name: 'Preset16', Value: '#df8e64', Fontcolor: 'white' },\n { Name: 'Preset17', Value: '#bc8f6f', Fontcolor: 'white' },\n { Name: 'Preset18', Value: '#dac257', Fontcolor: 'black' },\n { Name: 'Preset19', Value: '#4ca64c', Fontcolor: 'white' },\n { Name: 'Preset20', Value: '#4bb4b7', Fontcolor: 'white' },\n { Name: 'Preset21', Value: '#85b44c', Fontcolor: 'white' }, // DarkOlive\n { Name: 'Preset22', Value: '#4179a3', Fontcolor: 'white' }, // DarkBlue\n { Name: 'Preset23', Value: '#8f6fbc', Fontcolor: 'white' },\n { Name: 'Preset24', Value: '#c34e98', Fontcolor: 'black' },\n\n { Name: 'PresetFeiertag', Value: '#b0d6f2', Fontcolor: 'black' },\n ];\n\n */\n\n this.BAESiteID = 'baeeu.sharepoint.com,1b93d6ea-3f8b-4416-9ff1-a50aaba6f8ca,134790cc-e062-4882-ae5e-18813809cc87'; // Projekte Seite\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Graph', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n\n /*\n public async GetOwnOutlookcontacts(withemailonly: boolean): Promise {\n\n try {\n\n let Valueliste: any[] = [];\n let data: any;\n let nexturl: any;\n let count: number = 0;\n let Eintrag: Outlookkontaktestruktur;\n\n let token = await this.AuthService.RequestToken('Contacts.ReadWrite');\n\n if(token !== null) {\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n data = await graphClient.api('/me/contacts').count().get();\n\n if(!lodash.isUndefined(data['@odata.count'])) count = data['@odata.count'];\n\n if(!lodash.isUndefined(data.value)) {\n\n Valueliste.push(data.value);\n\n if(!lodash.isUndefined(data['@odata.nextLink'])) {\n\n do {\n\n nexturl = data['@odata.nextLink'];\n data = await graphClient.api(nexturl).get();\n\n if(!lodash.isUndefined(data.value)) Valueliste.push(data.value);\n\n }\n while(!lodash.isUndefined(data['@odata.nextLink']));\n\n if(!lodash.isUndefined(data.value)) Valueliste.push(data.value);\n }\n }\n\n this.Outlookkontakteliste = [];\n\n for(let Liste of Valueliste) {\n\n for(Eintrag of Liste) {\n\n if(Eintrag.givenName !== null && Eintrag.givenName.toLowerCase() === 'lars' || Eintrag.surname !== null && Eintrag.surname.toLowerCase() === 'lars') {\n\n debugger;\n }\n\n if(Eintrag.title !== null && Eintrag.title !== '' && Eintrag.displayName !== null) {\n\n Eintrag.displayName = Eintrag.displayName.replace(Eintrag.title + ' ', '');\n }\n\n if(lodash.isUndefined(Eintrag.businessAddress)) {\n\n Eintrag.businessAddress = {\n\n street: '',\n city: '',\n state: '',\n postalCode: '',\n countryOrRegion: ''\n };\n }\n\n if(lodash.isUndefined(Eintrag.businessAddress.street) || Eintrag.businessAddress.street === null) Eintrag.businessAddress.street = '';\n if(lodash.isUndefined(Eintrag.businessAddress.city) || Eintrag.businessAddress.city === null) Eintrag.businessAddress. city = '';\n if(lodash.isUndefined(Eintrag.businessAddress.postalCode) || Eintrag.businessAddress.postalCode === null) Eintrag.businessAddress.postalCode = '';\n if(lodash.isUndefined(Eintrag.businessAddress.state) || Eintrag.businessAddress.state === null) Eintrag.businessAddress.state = '';\n if(lodash.isUndefined(Eintrag.businessAddress.countryOrRegion) || Eintrag.businessAddress.countryOrRegion === null) Eintrag.businessAddress.countryOrRegion = '';\n\n if(lodash.isUndefined(Eintrag.title) || Eintrag.title === null) Eintrag.title = '';\n if(lodash.isUndefined(Eintrag.displayName) || Eintrag.displayName === null) Eintrag.displayName = '';\n if(lodash.isUndefined(Eintrag.surname) || Eintrag.surname === null) Eintrag.surname = '';\n if(lodash.isUndefined(Eintrag.givenName) || Eintrag.givenName === null) Eintrag.givenName = '';\n if(lodash.isUndefined(Eintrag.companyName) || Eintrag.companyName === null) Eintrag.companyName = '';\n\n if(Eintrag.surname === '' && Eintrag.givenName !== '') {\n\n Eintrag.surname = Eintrag.givenName;\n Eintrag.givenName = '';\n }\n\n if(Eintrag.surname === '' && Eintrag.givenName === '' && Eintrag.displayName === '') {\n\n Eintrag.IsCompany = true;\n Eintrag.surname = Eintrag.companyName;\n Eintrag.companyName = '';\n }\n else {\n\n Eintrag.IsCompany = false;\n }\n\n if(withemailonly) {\n\n if(Eintrag.emailAddresses.length > 0) this.Outlookkontakteliste.push(Eintrag);\n }\n else {\n\n this.Outlookkontakteliste.push(Eintrag);\n }\n }\n }\n\n return Promise.resolve(true);\n }\n else {\n\n return Promise.reject(false);\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnOutlookcontacts', this.Debug.Typen.Service);\n }\n }\n */\n\n /*\n\n public OutlookcontactToBeteiligte(kontakt: Outlookkontaktestruktur): Projektbeteiligtestruktur {\n\n try {\n\n let Beteiligter: Projektbeteiligtestruktur;\n let Beteiligteneintragtyp:string;\n\n if(kontakt.IsCompany) {\n\n Beteiligteneintragtyp = this.Const.Beteiligteneintragtypen.Firma;\n }\n else {\n\n Beteiligteneintragtyp = this.Const.Beteiligteneintragtypen.Person;\n }\n\n\n\n Beteiligter = {\n\n Anrede: kontakt.title,\n BeteiligtenID: kontakt.id,\n FirmaID: null,\n Email: kontakt.emailAddresses.length > 0 ? kontakt.emailAddresses[0].address : '',\n Possition: kontakt.profession,\n Mobil: kontakt.mobilePhone,\n Name: kontakt.surname,\n Vorname: kontakt.givenName,\n Ort: kontakt.businessAddress.city,\n PLZ: kontakt.businessAddress.postalCode,\n Strasse: \"\",\n Telefon: kontakt.businessPhones.length > 0 ? kontakt.businessPhones[0] : '',\n Verfasser: {\n\n Vorname: this.Pool.Mitarbeiterdaten.Vorname,\n Name: this.Pool.Mitarbeiterdaten.Name,\n Email: this.Pool.Mitarbeiterdaten.Email\n },\n };\n\n return Beteiligter;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'OutlookcontactToBeteiligte', this.Debug.Typen.Service);\n }\n }\n */\n\n public async GetOwnUserinfo(): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise((resolve, reject) => {\n\n\n if(token !== null) {\n\n graphClient.api('/me').select('*').get().then((result: User) => {\n\n this.Graphuser = result;\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n switch (error.code) {\n\n case \"InvalidAuthenticationToken\":\n\n // this.AuthService.AccessTokenExpired = true;\n this.AuthService.UnsetActiveUser();\n\n this.Tools.SetRootPage(this.Const.Pages.HomePage);\n\n break;\n\n default:\n\n // debugger;\n\n break;\n }\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnUserinfo', this.Debug.Typen.Service);\n }\n }\n\n /*\n\n public async GetOwnOutlookCategories(): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('MailboxSettings.Read');\n let data: any;\n let Liste: Outlookkategoriesstruktur[] = [];\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n try {\n\n data = await graphClient.api('/me/outlook/masterCategories').get();\n\n if(!lodash.isUndefined(data.value)) {\n\n for(let Eintrag of data.value) {\n\n Liste.push(Eintrag);\n\n console.log(Eintrag.id);\n }\n }\n\n Liste.push({\n\n displayName: 'Feiertag',\n id: 'feiertrag',\n color: 'PresetFeiertag'\n });\n\n Liste.sort( (a: Outlookkategoriesstruktur, b: Outlookkategoriesstruktur) => {\n\n if (a.displayName < b.displayName) return -1;\n if (a.displayName > b.displayName) return 1;\n return 0;\n });\n\n return Liste;\n }\n catch(error: any) {\n\n return error;\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnOutlookCategories', this.Debug.Typen.Service);\n }\n }\n\n\n */\n\n /*\n\n public async GetTeamsSubdirictoryfilelist(teamsid: string, file: Teamsfilesstruktur, showfiles: boolean) {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Eintrag: Teamsfilesstruktur;\n\n this.TeamsRootfilelist = [];\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n\n graphClient.api('/groups/' + teamsid + '/drive/items/' + file.id + '/children').get().then((result: any) => {\n\n for(Eintrag of result.value) {\n\n if(!lodash.isUndefined(Eintrag.folder)) Eintrag.isfolder = true;\n else Eintrag.isfolder = false;\n\n this.TeamsRootfilelist.push(Eintrag);\n }\n\n if(showfiles === false) this.TeamsRootfilelist = lodash.filter(this.TeamsRootfilelist, {isfolder : true});\n\n this.TeamsCurrentfilelist = this.TeamsRootfilelist;\n\n this.TeamsSubdirectorylist.push(file);\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetTeamsSubdirictoryfilelist', this.Debug.Typen.Service);\n }\n }\n\n */\n\n public GetEmptyTeamsfile() {\n\n try {\n\n return {\n cTag: \"\",\n createdBy:\n {\n user:\n {\n displayName: \"\",\n email: \"\",\n id: \"\"\n }\n },\n createdDateTime: \"\",\n eTag: \"\",\n fileSystemInfo:\n {\n createdDateTime: \"\",\n lastModifiedDateTime: \"\"\n },\n id: \"\",\n lastModifiedBy: {},\n lastModifiedDateTime: \"\",\n name: \"\",\n parentReference:\n {\n driveId: \"\",\n driveType: \"\",\n id: \"\",\n path: \"\"\n },\n shared: {scope: \"\"},\n size: 0,\n webUrl: \"\"\n };\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetEmptyTeamsfile', this.Debug.Typen.Service);\n }\n }\n\n public async GetSiteSubdirictoryfilelist(file: Teamsfilesstruktur, showfiles: boolean): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Eintrag: Teamsfilesstruktur;\n let Dateiliste: Teamsfilesstruktur[] = [];\n let Verzeichnisliste: Teamsfilesstruktur[] = [];\n\n this.TeamsRootfilelist = [];\n this.TeamsCurrentfilelist = [];\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + file.id + '/children').get().then((result: any) => {\n\n\n for(Eintrag of result.value) {\n\n if(lodash.isUndefined(Eintrag.file)) {\n\n Eintrag.isfolder = true;\n\n Verzeichnisliste.push(Eintrag);\n }\n else {\n\n Eintrag.isfolder = false;\n\n Dateiliste.push(Eintrag);\n }\n\n // this.TeamsRootfilelist.push(Eintrag);\n }\n\n Verzeichnisliste.sort((a: Teamsfilesstruktur, b: Teamsfilesstruktur) => {\n\n if (a.name < b.name) return -1;\n if (a.name > b.name) return 1;\n\n return 0;\n });\n\n Dateiliste.sort((a: Teamsfilesstruktur, b: Teamsfilesstruktur) => {\n\n if (a.name < b.name) return -1;\n if (a.name > b.name) return 1;\n\n return 0;\n });\n\n if(showfiles === false) {\n\n this.TeamsRootfilelist = Verzeichnisliste;\n // this.TeamsRootfilelist = lodash.filter(this.TeamsRootfilelist, {isfolder : true});\n }\n else {\n\n this.TeamsRootfilelist = Verzeichnisliste;\n this.TeamsRootfilelist = this.TeamsRootfilelist.concat(Dateiliste);\n\n }\n\n this.TeamsCurrentfilelist = this.TeamsRootfilelist;\n\n if(lodash.isUndefined(lodash.find(this.TeamsSubdirectorylist, (eintrag: Teamsfilesstruktur) => {\n\n return eintrag.id === file.id;\n\n }))) {\n\n this.TeamsSubdirectorylist.push(file);\n }\n else {\n\n }\n\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetSiteSubdirictoryfilelist', this.Debug.Typen.Service);\n }\n }\n\n public async DownloadPDFTeamsFile(teamsid: string, file: Teamsfilesstruktur): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Download: Teamsdownloadstruktur = {\n\n name: file.name,\n id: '',\n context: '',\n url: ''\n };\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/groups/' + teamsid + '/drive/items/' + file.id + '?select=id,@microsoft.graph.downloadUrl').get().then((result: any) => {\n\n Download.id = result.id;\n Download.url = result['@microsoft.graph.downloadUrl'];\n Download.context = result['@odata.context'];\n\n this.CurrentPDFDownload = Download;\n\n resolve(Download);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'DownloadPDFTeamsFile', this.Debug.Typen.Service);\n }\n }\n\n public async DownloadPDFSiteFile(file: Teamsfilesstruktur): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Download: Teamsdownloadstruktur = {\n\n name: file.name,\n id: '',\n context: '',\n url: ''\n };\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + file.id + '?select=id,@microsoft.graph.downloadUrl').get().then((result: any) => {\n\n Download.id = result.id;\n Download.url = result['@microsoft.graph.downloadUrl'];\n Download.context = result['@odata.context'];\n\n this.CurrentPDFDownload = Download;\n\n resolve(Download);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'DownloadPDFSiteFile', this.Debug.Typen.Service);\n }\n }\n\n public async DownloadPDFSiteFileViaLink(fileid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let Link: any = document.createElement('a');\n let Download: Teamsdownloadstruktur = {\n\n name: '',\n id: '',\n context: '',\n url: ''\n };\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + fileid + '?select=id,@microsoft.graph.downloadUrl').get().then((result: any) => {\n\n Download.id = result.id;\n Download.url = result['@microsoft.graph.downloadUrl'];\n Download.context = result['@odata.context'];\n\n this.CurrentPDFDownload = Download;\n\n document.body.appendChild(Link);\n\n Link.href = Download.url;\n\n Link.click();\n Link.remove();\n\n resolve(Download);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'DownloadPDFSiteFileViaLink', this.Debug.Typen.Service);\n }\n }\n\n\n\n public async TestGraph() {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let GroupID: string = \"632cc6c8-51d5-4219-8092-ed10a792e715\"; // Eggolsheim\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n // graphClient.api('/me/memberOf').get().then((result: any) => {\n\n // me/registeredDevices\n // /me/ownedObjects\n // /me/followedSites\n // /me/joinedTeams\n\n // /groups/ea457111-b3f1-4c73-a8ae-cb1cbaf6d244/drive/items/root/children\n graphClient.api('/groups/' + GroupID + '/drive/root:/General/11 Jour Fixe').version('beta').get().then((result: any) => {\n // graphClient.api('/groups/ea457111-b3f1-4c73-a8ae-cb1cbaf6d244/drive/items/root/children').version('beta').get().then((result: any) => {\n\n debugger;\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n\n debugger;\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'TestGraph', this.Debug.Typen.Service);\n }\n }\n\n public async TeamsCheckFileExists(teamsid: string, directoryid: string, filename: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let FileExists: boolean = false;\n let Fileeintrag: Teamsfilesstruktur;\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n directoryid = directoryid.replace('ROOT:', '');\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api(\"/groups/\" + teamsid + \"/drive/items/\" + directoryid + \"/children\").get().then((result: any) => { // Fileliste abrufen\n\n for(Fileeintrag of result.value) {\n\n if(lodash.isUndefined(Fileeintrag.folder)) { // Prüfen das Eintrag keine Directory\n\n if(Fileeintrag.name === filename) { // Filenamen prüfen auf Übereinstimmung\n\n FileExists = true;\n }\n }\n }\n\n resolve(FileExists);\n\n }).catch((error: GraphError) => {\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'TeamsCheckFileExists', this.Debug.Typen.Service);\n }\n }\n\n public async SiteCheckFileExists(directoryid: string, filename: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let FileExists: boolean = false;\n let Fileeintrag: Teamsfilesstruktur;\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n directoryid = directoryid.replace('ROOT:', '');\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + directoryid + '/children').get().then((result: any) => { // Fileliste abrufen\n\n for(Fileeintrag of result.value) {\n\n if(lodash.isUndefined(Fileeintrag.folder)) { // Prüfen das Eintrag keine Directory\n\n if(Fileeintrag.name === filename) { // Filenamen prüfen auf Übereinstimmung\n\n FileExists = true;\n }\n }\n }\n\n resolve(FileExists);\n\n }).catch((error: GraphError) => {\n\n resolve(null);\n });\n }\n else {\n\n reject(false);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'SiteCheckFileExists', this.Debug.Typen.Service);\n }\n }\n\n public async GetTeamsSubDirectory(teamsid: string, dirid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/groups/' + teamsid + '/drive/items/' + dirid).get().then((result: Teamsfilesstruktur) => {\n\n debugger;\n\n resolve(result);\n\n }).catch((error: GraphError) => {\n\n\n debugger;\n\n resolve(null);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetTeamsSubDirectory', this.Debug.Typen.Service);\n }\n }\n\n public async GetSiteSubDirectory(dirid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n return new Promise ((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/sites/' + this.BAESiteID + '/drive/items/' + dirid).get().then((result: any) => {\n\n debugger;\n\n resolve(result);\n\n }).catch((error: GraphError) => {\n\n debugger;\n\n resolve(null);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetSiteSubDirectory', this.Debug.Typen.Service);\n }\n }\n\n /*\n\n public async GetTeamsRootDirectory(teamsid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n debugger;\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/groups/' + teamsid + '/drive/root').get().then((result: Teamsfilesstruktur) => {\n\n resolve(result);\n\n }).catch((error: GraphError) => {\n\n\n\n resolve(null);\n });\n }\n else {\n\n reject(null);\n }\n });\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetTeamsRootDirectory', this.Debug.Typen.Service);\n }\n }\n\n */\n\n public async GetAllUsers(): Promise {\n\n try {\n\n let Userliste: Graphuserstruktur[] = [];\n let Valueliste: any[] = [];\n let data: any;\n let nexturl: any;\n let count: number = 0;\n let token = await this.AuthService.RequestToken('User.ReadBasic.All'); // Der Scope ist so richtig und muss in der app.module.de in der Scopliste eingetragens ein\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n data = await graphClient.api('/users').count().get();\n\n if(!lodash.isUndefined(data['@odata.count'])) count = data['@odata.count'];\n\n if(!lodash.isUndefined(data.value)) {\n\n Valueliste.push(data.value);\n\n if(!lodash.isUndefined(data['@odata.nextLink'])) {\n\n do {\n\n nexturl = data['@odata.nextLink'];\n data = await graphClient.api(nexturl).get();\n\n if(!lodash.isUndefined(data.value)) Valueliste.push(data.value);\n\n }\n while(!lodash.isUndefined(data['@odata.nextLink']));\n\n if(!lodash.isUndefined(data.value)) Valueliste.push(data.value);\n }\n }\n\n for(let Liste of Valueliste) {\n\n for(let Eintrag of Liste) {\n\n Userliste.push(Eintrag);\n }\n }\n\n Userliste = lodash.filter(Userliste, (currentuser: Graphuserstruktur) => {\n\n return currentuser.mail !== null && currentuser.givenName !== null && currentuser.surname !== null;\n });\n\n return Promise.resolve(Userliste);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetAllUsers', this.Debug.Typen.Service);\n }\n }\n\n public async SendMail(Empfaengerliste: Outlookemailadressstruktur[], Betreff: string, Nachricht: string): Promise {\n\n try {\n\n let data: any;\n\n let token = await this.AuthService.RequestToken('Mail.ReadWrite');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n if(this.Pool.Appeinstellungen.DebugNoExternalEmail === true) {\n\n for(let Eintrag of Empfaengerliste) {\n\n Eintrag.emailAddress.address = 'p.hornburger@gmail.com';\n }\n }\n\n if(token !== null) {\n\n const sendMail = {\n message: {\n subject: Betreff,\n body: {\n contentType: 'html',\n content: Nachricht\n },\n toRecipients: Empfaengerliste,\n },\n saveToSentItems: 'true'\n };\n\n try {\n\n data = await graphClient.api('/me/sendMail').post(sendMail);\n\n return Promise.resolve(data);\n }\n catch (error) {\n\n debugger;\n }\n\n }\n else {\n\n debugger;\n\n return Promise.reject(false);\n }\n } catch (error) {\n\n debugger;\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'SendMail', this.Debug.Typen.Service);\n }\n }\n\n public async GetOwnUserimage(): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n const headers = {\n 'Content-Type': 'image/jpeg'\n };\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/me/photo/$value').headers(headers).responseType(ResponseType.BLOB).get().then((result: any) => {\n\n this.UserimageSRC = this.domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(result));\n\n resolve(true);\n\n }).catch((error: GraphError) => {\n\n switch (error.statusCode) {\n\n case 404: // Not found\n\n this.UserimageSRC = null;\n\n resolve(true);\n\n break;\n\n default:\n\n debugger;\n\n break;\n }\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n\n });\n\n } catch (error) {\n\n debugger;\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnUserinfo', this.Debug.Typen.Service);\n }\n }\n\n public async GetOtherUserimage(userid: string): Promise {\n\n try {\n\n let token = await this.AuthService.RequestToken('user.read');\n let UserImageSRC;\n\n const graphClient = Client.init({ authProvider: (done: AuthProviderCallback) => {\n\n done(null, token);\n }\n });\n\n const headers = {\n 'Content-Type': 'image/jpeg'\n };\n\n return new Promise((resolve, reject) => {\n\n if(token !== null) {\n\n graphClient.api('/users/' + userid + '/photo/$value').headers(headers).responseType(ResponseType.BLOB).get().then((result: any) => {\n\n UserImageSRC = this.domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(result));\n\n resolve(UserImageSRC);\n\n }).catch((error: GraphError) => {\n\n switch (error.statusCode) {\n\n case 404: // Not found\n\n UserImageSRC = null;\n\n resolve(UserImageSRC);\n\n break;\n\n default:\n\n debugger;\n\n break;\n }\n\n reject(error);\n });\n }\n else {\n\n reject(false);\n }\n\n });\n\n } catch (error) {\n\n debugger;\n\n this.Debug.ShowErrorMessage(error, 'Graph', 'GetOwnUserinfo', this.Debug.Typen.Service);\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {DebugProvider} from '../debug/debug';\nimport {BasicsProvider} from '../basics/basics';\nimport {LoadingController} from \"@ionic/angular\";\n\n@Injectable()\nexport class LoadingAnimationService {\n\n private AjaxTime: number;\n\n constructor(private Debug: DebugProvider,\n private Loader: LoadingController,\n public Basics: BasicsProvider)\n {\n try {\n\n this.AjaxTime = null;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'file', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public ShowLoadingAnimation(title: string, message: string): Promise {\n\n try {\n\n let HTML = `\n \n \n \n \n \n \n \n
` + title + `

` + message + `
`;\n\n let Options: any = {\n\n spinner: 'lines',\n message: HTML,\n cssClass: 'loadingclass',\n showBackdrop: true,\n enableBackdropDismiss: false,\n translucent: false,\n dismissOnPageChange\t: false,\n\n };\n\n return new Promise((resolve, reject) => {\n\n this.AjaxTime = new Date().getTime();\n\n this.Loader.create(Options).then((res: HTMLIonLoadingElement) => {\n\n res.present();\n\n resolve(true);\n\n }).catch((error) => {\n\n reject(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Loading Message Provider', 'ShowLoadingAnimation', this.Debug.Typen.Service);\n }\n }\n\n public HideLoadingAnimation(wait: boolean): Promise {\n\n try {\n\n let WaitTime = this.Basics.Waittime;\n let TotalTime;\n\n if(this.AjaxTime !== null) TotalTime = new Date().getTime() - this.AjaxTime;\n else {\n\n TotalTime = WaitTime + 1;\n }\n\n return new Promise((resolve) => {\n\n if(wait) {\n\n if(WaitTime > TotalTime) WaitTime = WaitTime - TotalTime;\n else WaitTime = 0;\n\n setTimeout(() => {\n\n this.Loader.dismiss().then(() => {\n\n resolve(true);\n\n }).catch((error) => {\n\n resolve(true);\n });\n\n }, WaitTime);\n\n } else {\n\n return this.Loader.dismiss().then(() => {\n\n resolve(true);\n\n }).catch((error) => {\n\n resolve(true);\n });\n }\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Loading Message Provider', 'HideLoadingAnimation', this.Debug.Typen.Service);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {ToolsProvider} from \"../tools/tools\";\nimport {ConstProvider} from \"../const/const\";\nimport {DatabaseAuthenticationService} from \"../database-authentication/database-authentication.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MenueService {\n\n public MainMenuebereich: string;\n public MainMenuebereiche = {\n\n Home: 'Home',\n Email: 'Email',\n Debug: 'Debug',\n Logout: 'Logout',\n Einstellungen: 'Einstellungen',\n Projekte: 'Projekte',\n Urlaubsplanung: 'Urlaubsplanung'\n };\n\n public UrlaubMenuebereich: string;\n public UrlaubMenuebereiche = {\n\n Planung: 'Planung',\n Uebersicht: 'Uebersicht',\n Gesamtplanung: 'Gesamtplanung',\n Einstellungen: 'Einstellungen',\n Freigaben: 'Freigaben'\n };\n\n public ProjekteMenuebereich: string;\n public ProjekteMenuebereiche = {\n\n Aufgabenliste: 'Aufgabenliste',\n Protokolle: 'Protokolle',\n LOPListe: 'LOP Liste',\n Bautagebuch: 'Bautagebuch',\n Festlegungen: 'Festlegungen',\n Planungsmatrix: 'Planungsmatrix',\n Simontabelle: 'Simontabelle',\n Fileliste: 'Fileliste',\n Notizen: 'Notizen'\n };\n\n public Aufgabenlisteansicht: string;\n public Aufgabenlisteansichten = {\n\n Mein_Tag: 'Mein Tag',\n Meine_Woche: 'Meine Woche',\n Meilensteine: 'Meilensteine',\n Projekt: 'Projekt',\n Alle: 'Alle'\n };\n\n public FirmaMenuebereich: string;\n public FirmaMenuebereiche = {\n\n Standorte: 'Standorte',\n Mitarbeiter: 'Mitarbeiter',\n Projekte: 'Projekte',\n Favoriten: 'Favoriten',\n Play: 'Play'\n };\n\n public FilelisteAufrufer: string;\n public FilelisteAufrufervarianten = {\n\n Aufgabenliste: 'Aufgabenliste',\n Protokollliste: 'Protokollliste',\n LOPListe: 'LOP Liste',\n Bautagebuch: 'Bautagebuch',\n Festlegungen: 'Festlegungen',\n Simontabelle: 'Simontabelle',\n ImageZoom: 'ImageZoom'\n };\n\n constructor(private Debug: DebugProvider,\n private Tools: ToolsProvider,\n private Const: ConstProvider) {\n\n try {\n\n this.MainMenuebereich = this.MainMenuebereiche.Projekte;\n this.FirmaMenuebereich = this.FirmaMenuebereiche.Projekte;\n this.ProjekteMenuebereich = this.ProjekteMenuebereiche.Aufgabenliste;\n this.UrlaubMenuebereich = this.UrlaubMenuebereiche.Planung;\n this.Aufgabenlisteansicht = this.Aufgabenlisteansichten.Projekt;\n this.FilelisteAufrufer = this.FilelisteAufrufervarianten.Aufgabenliste;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Menue', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n\n public SetCurrentPage() {\n\n try {\n\n switch (this.MainMenuebereich) {\n\n case this.MainMenuebereiche.Home:\n\n this.Tools.SetRootPage(this.Const.Pages.HomePage);\n\n break;\n\n case this.MainMenuebereiche.Email:\n\n this.Tools.SetRootPage(this.Const.Pages.EmaillistePage);\n\n break;\n\n case this.MainMenuebereiche.Urlaubsplanung:\n\n switch (this.UrlaubMenuebereich) {\n\n case this.UrlaubMenuebereiche.Planung:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubPlanungPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Uebersicht:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubUebersichtPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Gesamtplanung:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubsgesamtuebersichtPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Freigaben:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubFreigabenPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Einstellungen:\n\n this.Tools.SetRootPage(this.Const.Pages.UrlaubEinstellungenPage);\n\n break;\n\n case this.UrlaubMenuebereiche.Freigaben:\n\n break;\n }\n\n break;\n\n case this.MainMenuebereiche.Projekte:\n\n switch (this.ProjekteMenuebereich) {\n\n case this.ProjekteMenuebereiche.Notizen:\n\n this.Tools.SetRootPage(this.Const.Pages.PjNotizenListePage);\n\n break;\n\n case this.ProjekteMenuebereiche.Aufgabenliste:\n\n switch (this.Aufgabenlisteansicht) {\n\n case this.Aufgabenlisteansichten.Alle:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n\n case this.Aufgabenlisteansichten.Mein_Tag:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n\n case this.Aufgabenlisteansichten.Meine_Woche:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n\n case this.Aufgabenlisteansichten.Meilensteine:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n\n case this.Aufgabenlisteansichten.Projekt:\n\n this.Tools.SetRootPage(this.Const.Pages.PjAufgabenlistePage);\n\n break;\n }\n\n break;\n\n case this.ProjekteMenuebereiche.Fileliste:\n\n this.Tools.PushPage(this.Const.Pages.PjFilebrowserPage);\n\n break;\n\n case this.ProjekteMenuebereiche.Protokolle:\n\n this.Tools.SetRootPage(this.Const.Pages.PjProtokolleListePage);\n\n break;\n\n case this.ProjekteMenuebereiche.LOPListe:\n\n this.Tools.SetRootPage(this.Const.Pages.PjBaustelleLoplistePage);\n\n break;\n\n case this.ProjekteMenuebereiche.Bautagebuch:\n\n this.Tools.SetRootPage(this.Const.Pages.PjBaustelleTagebuchlistePage);\n\n break;\n\n case this.ProjekteMenuebereiche.Festlegungen:\n\n this.Tools.SetRootPage(this.Const.Pages.PjFestlegungslistePage);\n\n break;\n\n case this.ProjekteMenuebereiche.Planungsmatrix:\n\n this.Tools.SetRootPage(this.Const.Pages.PjPlanungsmatrixPage);\n\n break;\n\n case this.ProjekteMenuebereiche.Simontabelle:\n\n this.Tools.SetRootPage(this.Const.Pages.PjSimontabellelistePage);\n\n break;\n }\n\n break;\n }\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Menue', 'SetCurrentPage', this.Debug.Typen.Service);\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n\n providedIn: 'root'\n})\nexport class Navparameter {\n\n private NavListe: string[];\n private CanGoBack: boolean;\n private Debugstatus: boolean;\n\n constructor(private Const: ConstProvider) {\n\n try {\n\n this.NavListe = [];\n this.CanGoBack = false;\n this.Debugstatus = true;\n\n\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> constructor:' + error);\n }\n }\n\n public RemovePage(): string {\n\n try {\n\n let Lastpage: string = null;\n\n if(this.NavListe.length > 1) {\n\n this.NavListe.splice(this.NavListe.length - 1, 1);\n\n Lastpage = this.NavListe[this.NavListe.length -1];\n\n if(this.NavListe.length > 1) this.CanGoBack = true;\n else this.CanGoBack = false;\n }\n else this.CanGoBack = false;\n\n if(this.Debugstatus) {\n\n console.log('Navparamter -> Removed Page');\n this.PrintNavliste();\n }\n\n return Lastpage;\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> RemovePage:' + error);\n }\n }\n\n public AddPage(page: string) {\n\n try {\n\n this.CanGoBack = true;\n\n if(this.NavListe[this.NavListe.length - 1] !== page) {\n\n this.NavListe.push(page);\n\n if(this.Debugstatus) {\n\n console.log('Navparamter -> AddPage: ' + page);\n this.PrintNavliste();\n }\n }\n else {\n\n console.log('Add Page Failed: ' + page);\n }\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> AddPage: ' + error);\n }\n }\n\n private PrintNavliste() {\n\n try {\n\n let Eintrag: string;\n\n console.log('**************************');\n console.log('Navliste: ');\n\n for(let i = 0; i < this.NavListe.length; i++) {\n\n Eintrag = this.NavListe[i];\n\n if(i === this.NavListe.length - 1) console.log('-> ' + Eintrag);\n else console.log(Eintrag);\n }\n\n console.log('**************************');\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> PrintNavliste: ' + error);\n }\n }\n\n public SetRootpage(page: string) {\n\n try {\n\n this.CanGoBack = false;\n this.NavListe = [];\n\n this.NavListe.push(page);\n\n if(this.Debugstatus) {\n\n console.log('Navparamter -> SetRootpage: ' + page);\n this.PrintNavliste();\n }\n }\n catch (error) {\n\n console.log(error, 'Nav Parameter -> SetRootpage: ' + error);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DebugProvider} from \"../debug/debug\";\nimport {ToolsProvider} from \"../tools/tools\";\nimport {environment} from \"../../../environments/environment\";\nimport {DatabasePoolService} from \"../database-pool/database-pool.service\";\nimport {ConstProvider} from \"../const/const\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SecurityService {\n\n constructor(private Debug: DebugProvider,\n private Tools: ToolsProvider,\n private Const: ConstProvider,\n private Pool: DatabasePoolService)\n\n {\n try {\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Security', 'constructor', this.Debug.Typen.Service);\n }\n }\n\n public CheckSecurity() {\n\n try {\n\n let Securitystatus: boolean = false;\n\n if(environment.production === false) Securitystatus = true\n else {\n\n if(this.Pool.Mitarbeiterdaten && this.Pool.Mitarbeiterdaten.Planeradministrator === true) Securitystatus = true;\n }\n\n /*\n\n if(Securitystatus === false) {\n\n this.Tools.SetRootPage(this.Const.Pages.HomePage);\n }\n\n */\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Security', 'CheckSecurity', this.Debug.Typen.Service);\n }\n }\n}\n\n\n","import {ElementRef, Injectable} from '@angular/core';\nimport {DebugProvider} from '../debug/debug';\nimport {AlertController, IonContent, NavController} from '@ionic/angular'; // Platform\nimport {BasicsProvider} from '../basics/basics';\nimport {ConstProvider} from '../const/const';\nimport * as lodash from 'lodash-es';\nimport {Platform} from '@ionic/angular';\nimport MyMoment from \"moment\";\nimport {Navparameter} from \"../navparameter/navparameter\";\nimport moment, {Moment} from \"moment/moment\";\n\n@Injectable({\n\n providedIn: 'root'\n})\nexport class ToolsProvider {\n\n private UID_Counter: number;\n private IsRunningOnDeviceFirstTime: boolean;\n public ShowMessage: boolean;\n public DialogMessage: string;\n private IsRunningOnDeviceValue: boolean;\n\n constructor(public Basics: BasicsProvider,\n private Debug: DebugProvider,\n public Const: ConstProvider,\n private NavParameter: Navparameter,\n private nav: NavController,\n private platform: Platform,\n public alertCtrl: AlertController) {\n try {\n\n this.UID_Counter = 0;\n this.IsRunningOnDeviceFirstTime = true;\n this.ShowMessage = false;\n this.DialogMessage = '';\n this.IsRunningOnDeviceValue = false;\n\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'Constructor', this.Debug.Typen.Service);\n }\n }\n\n IsNumeric(n): boolean {\n\n try {\n\n return !isNaN(parseFloat(n)) && isFinite(n);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'IsNumeric', this.Debug.Typen.Service);\n }\n }\n\n public GetButtonvalueSize() {\n\n try {\n\n if(this.platform.width() <= 600) return 12;\n else return 6;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetButtonvalueSize', this.Debug.Typen.Service);\n }\n }\n\n GetDatumFromZeitstempel(GesendetZeitstempel: number): string {\n\n try {\n\n let Zeitpunkt: Moment = moment(GesendetZeitstempel);\n\n return Zeitpunkt.format('DD.MM.YY');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'GetDatumFromZeitstempel', this.Debug.Typen.Service);\n }\n }\n\n GetZeitFromZeitstempel(GesendetZeitstempel: number): string {\n try {\n\n let Zeitpunkt: Moment = moment(GesendetZeitstempel);\n\n return Zeitpunkt.format('HH:mm');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'GetZeitFromZeitstempel', this.Debug.Typen.Service);\n }\n }\n\n public GenerateFilename(name: string, extention: string, nummer: string): string {\n\n try {\n\n let key: string = name; // .toUpperCase();\n let zahl: string = nummer !== '' ? '_' + nummer : '';\n\n key = key.replace(/ /g, '_');\n key = key.replace(/ä/g, 'ae');\n key = key.replace(/Ä/g, 'AE');\n key = key.replace(/ö/g, 'oe');\n key = key.replace(/Ö/g, 'OE');\n key = key.replace(/ü/g, 'ue');\n key = key.replace(/Ãœ/g, 'UE');\n key = key.replace(/ß/g, 'ss');\n key = key.replace(/[^a-zA-Z0-9 ]/g, '_'); // /[&\\/\\\\#,+()$~%.'§=^!`´;\":.,*-?<>{}]/g, '_');\n\n return key + zahl + '.' + extention;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GenerateProjektkey', this.Debug.Typen.Service);\n }\n }\n\n public GenerateProjektkey(name: string, extention: string): string {\n\n try {\n\n let key: string = name; // .toUpperCase();\n\n key = key.replace(/ /g, '_');\n key = key.replace(/ä/g, 'ae');\n key = key.replace(/Ä/g, 'AE');\n key = key.replace(/ö/g, 'oe');\n key = key.replace(/Ö/g, 'OE');\n key = key.replace(/ü/g, 'ue');\n key = key.replace(/Ãœ/g, 'UE');\n key = key.replace(/ß/g, 'ss');\n key = key.replace(/[^a-zA-Z0-9 ]/g, '_'); // /[&\\/\\\\#,+()$~%.'§=^!`´;\":.,*-?<>{}]/g, '_');\n\n return key;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GenerateProjektkey', this.Debug.Typen.Service);\n }\n }\n\n\n public DeepCompareObjectarrays(ListeA: any[], ListeB: any[]): boolean {\n\n try {\n\n let Changed: boolean = false;\n let Index: number;\n let key: string;\n let Keyliste: string[];\n let EintragA: any;\n let EintragB: any;\n\n if(ListeA.length >= ListeB.length) {\n\n for(EintragA of ListeA) {\n\n // Objekt in der anderen Liste suchen\n\n Index = ListeB.findIndex((eintrag: any) => {\n\n return EintragA[key] === eintrag[key];\n });\n\n if(Index === -1) {\n\n Changed = true;\n\n break;\n }\n else {\n\n // Alle Felder im Objekt vergleichen\n\n Keyliste = Object.keys(ListeA[Index]);\n EintragB = ListeB[Index];\n\n for(let Key of Keyliste) {\n\n if(EintragA[Key] !== EintragB[Key]) {\n\n Changed = true;\n\n break;\n }\n }\n\n if(Changed === true) break;\n }\n }\n }\n else {\n\n for(EintragB of ListeB) {\n\n // Objekt in der anderen Liste suchen\n\n Index = ListeA.findIndex((eintrag: any) => {\n\n return EintragB[key] === eintrag[key];\n });\n\n if(Index === -1) {\n\n Changed = true;\n\n break;\n }\n else {\n\n Keyliste = Object.keys(ListeA[Index]);\n EintragA = ListeA[Index];\n\n for(let Key of Keyliste) {\n\n // Alle Felder im Objekt vergleichen\n\n if(EintragB[Key] !== EintragA[Key]) {\n\n Changed = true;\n\n break;\n }\n }\n\n if(Changed === true) break;\n }\n }\n }\n\n return Changed;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'DeepCompareObjectarrays', this.Debug.Typen.Service);\n }\n }\n\n public JSONCompareObjectarrays(ListeA: any[], ListeB: any[]): boolean {\n\n try {\n\n return JSON.stringify(ListeA) !== JSON.stringify(ListeB);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'JSONCompareObjectarrays', this.Debug.Typen.Service);\n }\n }\n\n public CompareObjectarrays(ListeA: any[], ListeB: any[], key: string): boolean {\n\n try {\n\n\n let Changed = false;\n let Index: number;\n\n // this.Artikelliste = ListeA\n // Artikelliste = ListeB\n\n if(ListeA.length >= ListeB.length) {\n\n for(let EintragA of ListeA) {\n\n Index = ListeB.findIndex((eintrag: any) => {\n\n return EintragA[key] === eintrag[key];\n });\n\n if(Index === -1) {\n\n Changed = true;\n\n break;\n }\n }\n }\n else {\n\n for(let EintragB of ListeB) {\n\n Index = ListeA.findIndex((eintrag: any) => {\n\n return EintragB[key] === eintrag[key];\n });\n\n if(Index === -1) {\n\n Changed = true;\n\n break;\n }\n }\n }\n\n return Changed;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'CompareObjectarrays', this.Debug.Typen.Service);\n }\n }\n\n public ShowEntscheidungDialog(header, message): Promise {\n\n try {\n\n return new Promise((resolve) => {\n\n this.alertCtrl.create({\n header: header,\n message: message,\n cssClass: 'alertdialogclass',\n\n buttons: [\n {\n text: 'Nein',\n cssClass: 'infonoclass',\n handler: () => {\n\n resolve(this.Const.Dialogmessages.no);\n }\n }, {\n text: 'Ja',\n cssClass: 'infookclass',\n handler: () => {\n\n resolve(this.Const.Dialogmessages.ok);\n }\n }\n ]\n }).then((dialog) => {\n\n dialog.present();\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'ShowEntscheidungDialog', this.Debug.Typen.Service);\n }\n }\n\n public ShowAuswahlDialog(header, message, wahla: string, wahlb: string): Promise {\n\n try {\n\n return new Promise((resolve) => {\n\n\n this.alertCtrl.create({\n header: header,\n cssClass: 'alertdialogclass',\n message: message,\n\n inputs: [\n {\n name: 'wahla',\n type: 'radio',\n label: wahla,\n value: this.Const.Dialogmessages.wahla,\n checked: true,\n },\n {\n name: 'wahlb',\n type: 'radio',\n label: wahlb,\n value: this.Const.Dialogmessages.wahlb,\n }\n ],\n\n buttons: [\n {\n text: 'Abbrechen',\n role: 'cancel',\n cssClass: 'infonotwoclass',\n handler: () => {\n\n resolve(null);\n }\n }, {\n text: 'Fertig',\n cssClass: 'infookclass',\n handler: (data: any) => {\n\n if(lodash.isUndefined(data)) {\n\n resolve(null);\n }\n else {\n\n resolve(data);\n }\n }\n }\n ]\n }).then((dialog) => {\n\n dialog.present();\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'ShowAuswahlDialog', this.Debug.Typen.Service);\n }\n }\n\n\n public RemoveNullFromObject(obj: object): object {\n\n try {\n\n let Eintrag;\n\n for(const key of Object.keys(obj)) {\n\n Eintrag = obj[key];\n\n if(Eintrag === null) {\n\n Eintrag = '';\n obj[key] = Eintrag;\n }\n }\n\n return obj;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'RemoveNullFromObject', this.Debug.Typen.Service);\n }\n\n }\n\n public FormatCurrency(amount, decimalCount = 2, decimal = \",\", thousands = \".\"): string {\n\n try {\n\n decimalCount = Math.abs(decimalCount);\n decimalCount = isNaN(decimalCount) ? 2 : decimalCount;\n\n const negativeSign = amount < 0 ? \"-\" : \"\";\n\n let i: any = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();\n let j = (i.length > 3) ? i.length % 3 : 0;\n\n return negativeSign +\n (j ? i.substr(0, j) + thousands : '') +\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + thousands) +\n (decimalCount ? decimal + Math.abs(amount - i).toFixed(decimalCount).slice(2) : \"\") + ' ' + '€';\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'FormatCurrency', this.Debug.Typen.Service);\n }\n }\n\n FormatNumber(amount, decimalCount = 2, decimal = \",\", thousands = \".\") {\n\n try {\n\n decimalCount = Math.abs(decimalCount);\n decimalCount = isNaN(decimalCount) ? 2 : decimalCount;\n\n const negativeSign = amount < 0 ? \"-\" : \"\";\n\n let i: any = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();\n let j = (i.length > 3) ? i.length % 3 : 0;\n\n return negativeSign +\n (j ? i.substr(0, j) + thousands : '') +\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + thousands) +\n (decimalCount ? decimal + Math.abs(amount - i).toFixed(decimalCount).slice(2) : \"\");\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'FormatNumber', this.Debug.Typen.Service);\n }\n\n }\n\n public FormatMoney(amount, decimalCount = 2, decimal = \",\", thousands = \".\"): string {\n\n try {\n\n decimalCount = Math.abs(decimalCount);\n decimalCount = isNaN(decimalCount) ? 2 : decimalCount;\n\n const negativeSign = amount < 0 ? \"-\" : \"\";\n\n let i: any = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();\n let j = (i.length > 3) ? i.length % 3 : 0;\n\n return negativeSign +\n (j ? i.substr(0, j) + thousands : '') +\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + thousands) +\n (decimalCount ? decimal + Math.abs(amount - i).toFixed(decimalCount).slice(2) : \"\");\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error, 'Tools', 'FormatMoney', this.Debug.Typen.Service);\n }\n }\n\n public FormatValue(wert: number, einheit, kommastellen: number)\n {\n try {\n\n let Ausgabe: string;\n\n if(wert !== null)\n {\n if(wert >= 1000000)\n {\n wert = wert / 1000000;\n\n if(kommastellen === 0)\n {\n wert = Math.round(wert);\n Ausgabe = wert.toString() + ' M';\n }\n else Ausgabe = wert.toFixed(kommastellen) + ' M';\n }\n else if(wert >= 1000)\n {\n wert = wert / 1000;\n\n if(kommastellen === 0)\n {\n wert = Math.round(wert);\n Ausgabe = wert.toString() + ' k';\n }\n else Ausgabe = wert.toFixed(kommastellen) + ' k';\n }\n else\n {\n if(wert > 0 && wert < 1)\n {\n if (wert < 0.000000001)\n {\n wert = wert * 1000000000;\n\n if(kommastellen === 0) wert = Math.round(wert);\n else Ausgabe = wert.toFixed(kommastellen);\n\n Ausgabe = wert.toString() + ' p';\n }\n else if (wert < 0.000001)\n {\n wert = wert * 1000000;\n\n if(kommastellen === 0) Ausgabe = Math.round(wert).toString();\n else Ausgabe = wert.toFixed(kommastellen);\n\n Ausgabe = Ausgabe + ' n';\n }\n else if (wert < 0.001)\n {\n wert = wert * 1000;\n\n if(kommastellen === 0) Ausgabe = Math.round(wert).toString();\n else Ausgabe = wert.toFixed(kommastellen);\n\n Ausgabe = Ausgabe + ' µ';\n }\n else if (wert < 1)\n {\n wert = wert * 1000;\n\n if(kommastellen === 0) Ausgabe = Math.round(wert).toString();\n else Ausgabe = wert.toFixed(kommastellen);\n\n Ausgabe = Ausgabe + ' m';\n }\n\n }\n else\n {\n if(kommastellen === 0) Ausgabe = Math.round(wert).toString();\n else Ausgabe = wert.toFixed(kommastellen);\n\n if(einheit !== '') Ausgabe = Ausgabe + ' ' + einheit;\n }\n }\n\n Ausgabe = Ausgabe.replace('.', ',');\n\n if(einheit !== '') Ausgabe = Ausgabe + ' ' + einheit;\n\n return Ausgabe;\n }\n else\n {\n return '0';\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'FormatValue', this.Debug.Typen.Service);\n }\n }\n\n\n public GetUniqueID(name: string): string {\n\n try {\n\n this.UID_Counter++;\n\n return 'uid_' + name.replace(/-/g, '_') + '_' + this.UID_Counter.toString();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetUniqueID', this.Debug.Typen.Service);\n }\n }\n\n public HexToRGB(hex): string {\n\n try {\n\n let bigint: number;\n let r: number = 100;\n let g: number = 50;\n let b: number = 50;\n\n if(typeof hex !== 'undefined') {\n\n hex = hex.replace('#', '');\n\n bigint = parseInt(hex, 16);\n r = (bigint >> 16) & 255;\n g = (bigint >> 8) & 255;\n b = bigint & 255;\n }\n\n return r + ',' + g + ',' + b;\n\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'HexToRGB', this.Debug.Typen.Component);\n }\n }\n\n public SetRootPage(page: string): Promise {\n\n try {\n\n return new Promise(resolve => {\n\n this.nav.navigateRoot(page, {animated : false}).then(() => {\n\n this.NavParameter.SetRootpage(page);\n\n resolve(true);\n\n }).catch((error: any) => {\n\n debugger;\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'SetRootPage', this.Debug.Typen.Service);\n }\n }\n\n public PushPage(page: string): Promise {\n\n try {\n\n return new Promise(resolve => {\n\n this.nav.navigateForward(page, {animated:true }).then(() => {\n\n this.NavParameter.AddPage(page);\n\n resolve(true);\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'SetRootPage', this.Debug.Typen.Service);\n }\n }\n\n public PopPage(): Promise {\n\n try {\n\n let Lastpage: string;\n\n return new Promise(resolve => {\n\n Lastpage = this.NavParameter.RemovePage();\n\n if(Lastpage !== null) {\n\n this.nav.navigateBack(Lastpage, {animated:false}).then(() => {\n\n\n resolve(true);\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n }\n else {\n\n resolve(true);\n }\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'SetRootPage', this.Debug.Typen.Service);\n }\n }\n\n\n public GetBogenmass(winkel: number): number {\n\n try {\n\n return (winkel / 180) * Math.PI;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetBogenmass', this.Debug.Typen.Service);\n }\n }\n\n public GetGradmass(winkel: number): number {\n\n try {\n\n return (winkel * 180) / Math.PI;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetGradmass', this.Debug.Typen.Service);\n }\n }\n\n public IstGerade(wert: number): boolean {\n\n try {\n\n return wert % 2 === 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'IstGerade', this.Debug.Typen.Service);\n }\n }\n\n public IstUngerade(wert: number): boolean {\n\n try {\n\n return wert % 2 !== 0;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'IstUngerade', this.Debug.Typen.Service);\n }\n }\n\n public RundenDezimal(value: number, precision: number) {\n\n try {\n\n let multiplier = Math.pow(10, precision || 0);\n\n return Math.round(value * multiplier) / multiplier;\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'file', 'function', this.Debug.Typen.Page);\n }\n\n }\n\n public Runden(wert: number, stellen: number): any {\n\n try {\n\n let Zahl = Math.pow(10, stellen);\n\n return (Math.round(wert * Zahl) / Zahl).toFixed(stellen);\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'Runden', this.Debug.Typen.Service);\n }\n }\n\n public GetZeitstempelwert(): number {\n\n try {\n\n return MyMoment().valueOf();\n\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetZeitstempel', this.Debug.Typen.Service);\n }\n }\n\n public GetZeitpunkttext(): string {\n\n try {\n\n return MyMoment().format( 'DD.MM.YYYY HH:mm:ss');\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetZeitstempel', this.Debug.Typen.Service);\n }\n }\n\n public GetTimebasedID(tag: number, monat: number, jahr: number): string {\n\n try {\n\n let Stunde: number = 12;\n let Minute: number = 0;\n\n return MyMoment(tag + '.' + monat + '.' + jahr + ' ' + Stunde + ':' + Minute, 'DD.MM.YYYY HH:mm').locale('de').valueOf().toString();\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'GetTimebasedID', this.Debug.Typen.Service);\n }\n }\n\n public FormatLinebreaks(text: string): string {\n\n try {\n\n if(typeof text !== 'undefined') {\n\n return text.replace(/(?:\\r\\n|\\r|\\n)/g, '
');\n }\n else {\n\n return '';\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'FormatLinebreaks', this.Debug.Typen.Service);\n }\n }\n\n public ReplaceSonderzeichen(value: string): string {\n\n try {\n\n value = value.replace(/ /g, '_');\n value = value.replace(/ä/g, 'ae');\n value = value.replace(/Ä/g, 'Ae');\n value = value.replace(/ö/g, 'oe');\n value = value.replace(/Ö/g, 'Oe');\n value = value.replace(/ü/g, 'ue');\n value = value.replace(/Ü/g, 'Ue');\n value = value.replace(/ß/g, 'ss');\n value = value.replace(/[&\\/\\\\#,+()$~%.'§=^!`´;\":.,*-?<>{}]/g, '');\n\n\n return value;\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'ReplaceSonderzeichen', this.Debug.Typen.Service);\n }\n }\n\n public RundenAsText(wert: number, stellen: number): string {\n\n try {\n\n let Zahl = Math.pow(10, stellen);\n let Ergo: number;\n\n Ergo = Math.round(wert * Zahl) / Zahl;\n\n return Ergo.toString().replace('.', ',');\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'Runden', this.Debug.Typen.Service);\n }\n }\n\n public CheckArray(data: any) {\n\n try {\n\n if(this.CheckObject(data, false)) {\n\n if (data instanceof Array) {\n\n return true;\n }\n else {\n\n return false;\n }\n\n } else {\n\n return false;\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'CheckArray', this.Debug.Typen.Service);\n }\n }\n\n public CheckObject(data: any, key: string | boolean) {\n\n try {\n\n if(typeof data !== 'undefined' && data !== null) {\n\n if(key === false) {\n\n return true;\n }\n else {\n\n if(typeof data[key.toString()] !== 'undefined') {\n\n return true;\n }\n else {\n\n return false;\n }\n }\n }\n else {\n\n return false;\n }\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'CheckObject', this.Debug.Typen.Service);\n }\n }\n\n public ShowHinweisDialog(message: string): Promise {\n\n try {\n\n return new Promise((resolve) => {\n\n this.alertCtrl.create({\n\n header: 'Hinweis',\n message: message,\n cssClass: 'alertdialogclass',\n buttons: [\n {\n text: \"Ok\",\n cssClass: 'infookclass',\n handler: () => {\n\n resolve(true);\n }\n }\n ]\n }).then((dialog) => {\n\n dialog.present();\n\n }).catch((error: any) => {\n\n console.log(error);\n });\n });\n }\n catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'ShowHinweisDialog', this.Debug.Typen.Service);\n }\n }\n\n\n\n CheckEmail(email: string): boolean {\n\n try {\n\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\n\n } catch (error) {\n\n this.Debug.ShowErrorMessage(error.message, 'Tools', 'CheckEmail', this.Debug.Typen.Service);\n }\n\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n\n production: true,\n useonlinedb: true,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t27844,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t55512,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t58104,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t51768,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t76488,\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t46640,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t12387,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t64800,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t60308,\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t32796,\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t944,\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t55060,\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t90128,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime-button.entry.js\": [\n\t\t93888,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-0f3ab200_js\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime-button_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t59608,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-0f3ab200_js\",\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t24704,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t66792,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t58924,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t80219,\n\t\t\"default-node_modules_ionic_core_dist_esm_form-controller-21dd62b1_js-node_modules_ionic_core_-a176d1\",\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t30292,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t1328,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t69328,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t22344,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t83012,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t23796,\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t89420,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t98916,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t62500,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t37464,\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t44624,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t47744,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t76936,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t60376,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t60272,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t43216,\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t66764,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t88240,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t56168,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t77328,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t59716,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t3220,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t13044,\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t21660,\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t97271,\n\t\t\"default-node_modules_ionic_core_dist_esm_form-controller-21dd62b1_js-node_modules_ionic_core_-a176d1\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t20108,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t94936,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 21480;\nmodule.exports = webpackAsyncContext;","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 99052;\nmodule.exports = webpackEmptyAsyncContext;","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `::ng-deep ngx-material-timepicker-content {\n --body-background-color: #7b6a58;\n --primary-font-family: \"Roboto\",sans-serif;\n --button-color: none !important;\n --dial-active-color: #fff;\n --dial-inactive-color: rgba(255, 255, 255, .5);\n --dial-background-color: #354547 !important;\n --dial-editable-active-color: #c7d304 !important;\n --dial-editable-background-color: #fff;\n --clock-face-time-active-color: #fff;\n --clock-face-time-inactive-color: #6c6c6c;\n --clock-face-inner-time-inactive-color: #929292;\n --clock-face-time-disabled-color: #c5c5c5;\n --clock-face-background-color: #354547;\n --clock-hand-color: #c7d304 !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/app.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,gCAAA;EACA,0CAAA;EACA,+BAAA;EACA,yBAAA;EACA,8CAAA;EACA,2CAAA;EACA,gDAAA;EACA,sCAAA;EACA,oCAAA;EACA,yCAAA;EACA,+CAAA;EACA,yCAAA;EACA,sCAAA;EACA,sCAAA;AACF\",\"sourcesContent\":[\"::ng-deep ngx-material-timepicker-content{\\n --body-background-color: #7b6a58;\\n --primary-font-family: 'Roboto',sans-serif;\\n --button-color: none !important;\\n --dial-active-color: #fff;\\n --dial-inactive-color: rgba(255, 255, 255, .5);\\n --dial-background-color: #354547 !important;\\n --dial-editable-active-color: #c7d304 !important;\\n --dial-editable-background-color: #fff;\\n --clock-face-time-active-color: #fff;\\n --clock-face-time-inactive-color: #6c6c6c;\\n --clock-face-inner-time-inactive-color: #929292;\\n --clock-face-time-disabled-color: #c5c5c5;\\n --clock-face-background-color: #354547;\\n --clock-hand-color: #c7d304 !important;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 90%;\n color: #444444;\n}\n\n.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n}\n\n.contentinnerclass {\n border-left: 3px solid #354547;\n border-right: 3px solid #354547;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components-page/fi-changelog-editor/fi-changelog-editor.component.scss\"],\"names\":[],\"mappings\":\"AAEE;EAEE,cAAA;EACA,cAAA;AAFJ;;AAMA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AAJF;;AAOA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;AALF;;AAQA;EAEE,8BAAA;EACA,+BAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AANF\",\"sourcesContent\":[\".infotable {\\n\\n td {\\n\\n font-size: 90%;\\n color: #444444;\\n }\\n}\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n}\\n\\n.contentinnerclass {\\n\\n border-left: 3px solid #354547;\\n border-right: 3px solid #354547;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 80%;\n color: #444444;\n}\n\n.ergonametextclass {\n font-weight: bold;\n}\n\n.emptymessageclass {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-top: 100px;\n}\n\n.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.innerkeeperclass {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n border-left: 3px solid #354547;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n display: flex;\n flex-direction: column;\n}\n\n.menufilterbuttonclass {\n padding: 2px;\n padding-right: 4px;\n cursor: pointer;\n background: #7b6a58;\n border-radius: 4px;\n}\n\n.innerkeeperlisteclass {\n width: 100%;\n height: 100%;\n overflow: auto;\n}\n\n.innerkeeperalphabetclass {\n width: 44px;\n height: 100%;\n overflow: auto;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components-page/fi-mitarbeiter-auswahl/fi-mitarbeiter-auswahl.component.scss\"],\"names\":[],\"mappings\":\"AAGE;EAEE,cAAA;EACA,cAAA;AAHJ;;AAOA;EAEE,iBAAA;AALF;;AAQA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;AANF;;AAUA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AARF;;AAWA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;AATF;;AAYA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;EACA,aAAA;EACA,sBAAA;AAVF;;AAaA;EAEE,YAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,kBAAA;AAXF;;AAeA;EAEE,WAAA;EACA,YAAA;EACA,cAAA;AAbF;;AAgBA;EAEE,WAAA;EACA,YAAA;EACA,cAAA;AAdF\",\"sourcesContent\":[\"\\n.infotable {\\n\\n td {\\n\\n font-size: 80%;\\n color: #444444;\\n }\\n}\\n\\n.ergonametextclass {\\n\\n font-weight: bold;\\n}\\n\\n.emptymessageclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n padding-top: 100px;\\n}\\n\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.innerkeeperclass {\\n\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n border-left: 3px solid #354547;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.menufilterbuttonclass {\\n\\n padding: 2px;\\n padding-right: 4px;\\n cursor: pointer;\\n background: #7b6a58;\\n border-radius: 4px;\\n}\\n\\n\\n.innerkeeperlisteclass {\\n\\n width: 100%;\\n height: 100%;\\n overflow: auto;\\n}\\n\\n.innerkeeperalphabetclass {\\n\\n width: 44px;\\n height: 100%;\\n overflow: auto;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 90%;\n color: #444444;\n}\n\n.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n display: flex;\n flex-direction: column;\n}\n\n.contentinnerclass {\n border-left: 3px solid #307ac1;\n border-right: 3px solid #307ac1;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n.menubuttonclass {\n cursor: pointer;\n}\n\n.trennertdclass {\n width: 30px;\n}\n\n.positionclass {\n background: white;\n height: 30px;\n width: 300px;\n}\n\n.positionclass:hover {\n background: silver;\n}\n\n.keeperdivclass {\n display: flex;\n flex-direction: row;\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.poslisteclass {\n height: 100%;\n width: 65%;\n overflow: auto;\n}\n\n.poseditorclass {\n height: 100%;\n width: 35%;\n overflow: auto;\n border-left: 2px solid #444444;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.component.scss\"],\"names\":[],\"mappings\":\"AAEE;EAEE,cAAA;EACA,cAAA;AAFJ;;AAMA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AAJF;;AAOA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;EACA,aAAA;EACA,sBAAA;AALF;;AAQA;EAEE,8BAAA;EACA,+BAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AANF;;AASA;EAEE,eAAA;AAPF;;AAUA;EAEE,WAAA;AARF;;AAWA;EAEE,iBAAA;EACA,YAAA;EACA,YAAA;AATF;;AAWA;EAEE,kBAAA;AATF;;AAYA;EAEE,aAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;AAVF;;AAaA;EAEE,YAAA;EACA,UAAA;EACA,cAAA;AAXF;;AAcA;EAEE,YAAA;EACA,UAAA;EACA,cAAA;EACA,8BAAA;AAZF\",\"sourcesContent\":[\".infotable {\\n\\n td {\\n\\n font-size: 90%;\\n color: #444444;\\n }\\n}\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.contentinnerclass {\\n\\n border-left: 3px solid #307ac1;\\n border-right: 3px solid #307ac1;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.menubuttonclass {\\n\\n cursor: pointer;\\n}\\n\\n.trennertdclass {\\n\\n width: 30px;\\n}\\n\\n.positionclass {\\n\\n background: white;\\n height: 30px;\\n width: 300px;\\n}\\n.positionclass:hover {\\n\\n background: silver;\\n}\\n\\n.keeperdivclass {\\n\\n display: flex;\\n flex-direction: row;\\n position: relative;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.poslisteclass {\\n\\n height: 100%;\\n width: 65%;\\n overflow: auto;\\n}\\n\\n.poseditorclass {\\n\\n height: 100%;\\n width: 35%;\\n overflow: auto;\\n border-left: 2px solid #444444;\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 90%;\n color: #444444;\n}\n\n.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n}\n\n.contentinnerclass {\n border-left: 3px solid #2190df;\n border-right: 3px solid #2190df;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components-page/fi-standort-editor/fi-standort-editor.component.scss\"],\"names\":[],\"mappings\":\"AAEE;EAEE,cAAA;EACA,cAAA;AAFJ;;AAMA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AAJF;;AAOA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;AALF;;AAQA;EAEE,8BAAA;EACA,+BAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AANF\",\"sourcesContent\":[\".infotable {\\n\\n td {\\n\\n font-size: 90%;\\n color: #444444;\\n }\\n}\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n}\\n\\n.contentinnerclass {\\n\\n border-left: 3px solid #2190df;\\n border-right: 3px solid #2190df;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.alphabetclass {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.alphabetitem {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-grow: 1;\n color: white;\n font-size: 80%;\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/alphabet-relative/alphabet-relative.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,YAAA;EACA,WAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;AAAF;;AAGA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,YAAA;EACA,cAAA;EACA,eAAA;AADF\",\"sourcesContent\":[\".alphabetclass {\\n\\n height: 100%;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n justify-content: center; // horizontal\\n}\\n\\n.alphabetitem {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertical\\n flex-grow: 1;\\n color: white;\\n font-size: 80%;\\n cursor: pointer;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.alphabetclass {\n position: absolute;\n background: #ffffff;\n right: 0px;\n width: 12vw;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.alphabetitem {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-grow: 1;\n color: white;\n font-size: 80%;\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/alphabet/alphabet.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,mBAAA;EACA,UAAA;EACA,WAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;AAAF;;AAGA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,YAAA;EACA,cAAA;EACA,eAAA;AADF\",\"sourcesContent\":[\".alphabetclass {\\n\\n position: absolute;\\n background: #ffffff;\\n right: 0px;\\n width: 12vw;\\n display: flex;\\n flex-direction: column;\\n justify-content: center; // horizontal\\n}\\n\\n.alphabetitem {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertical\\n flex-grow: 1;\\n color: white;\\n font-size: 80%;\\n cursor: pointer;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperdivclass {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.innerkeeperclass {\n overflow: auto;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n border-left: 3px solid #2190df;\n border-right: 3px solid #2190df;\n}\n\n.contentdivclass {\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n display: flex;\n flex-direction: column;\n}\n\n.menufilterbuttonclass {\n padding: 2px;\n padding-right: 4px;\n cursor: pointer;\n background: #7b6a58;\n border-radius: 4px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/auswahl-dialog/auswahl-dialog.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AADF;;AAIA;EAEE,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,+BAAA;AAFF;;AAKA;EAEE,SAAA;EACA,kBAAA;EACA,0BAAA;EACA,aAAA;EACA,sBAAA;AAHF;;AAMA;EAEE,YAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,kBAAA;AAJF\",\"sourcesContent\":[\"\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n position:absolute;\\n}\\n\\n.innerkeeperclass {\\n\\n overflow: auto;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n border-left: 3px solid #2190df;\\n border-right: 3px solid #2190df;\\n}\\n\\n.contentdivclass {\\n\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.menufilterbuttonclass {\\n\\n padding: 2px;\\n padding-right: 4px;\\n cursor: pointer;\\n background: #7b6a58;\\n border-radius: 4px;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.buttonclass {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 44px;\n border-radius: 4px;\n padding: 2px;\n display: flex;\n}\n\n.buttontextclass {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n min-height: 44px;\n width: 100%;\n height: 100%;\n}\n\n.outerinfokeeperclass {\n height: 100%;\n width: 60%;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.infokeeperclass {\n color: white;\n height: 34px;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 4px;\n}\n\nion-datetime {\n height: auto;\n width: auto;\n max-width: 350px;\n --background: #354547;\n}\n\nion-modal {\n --width: 290px;\n --height: 382px;\n --border-radius: 8px;\n}\n\nion-modal ion-datetime {\n height: 382px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/button-value-date/button-value-date.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;AADF;;AAIA;EAEE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;AAFF;;AAKA;EAEE,YAAA;EACA,UAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAHF;;AAOA;EAEE,YAAA;EACA,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;AALF;;AAQA;EACE,YAAA;EACA,WAAA;EACA,gBAAA;EACA,qBAAA;AALF;;AAQA;EACE,cAAA;EACA,eAAA;EACA,oBAAA;AALF;;AAQA;EACE,aAAA;AALF\",\"sourcesContent\":[\"\\n.buttonclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n width: 100%;\\n height: 44px;\\n border-radius: 4px;\\n padding: 2px;\\n display: flex;\\n}\\n\\n.buttontextclass {\\n\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertical\\n min-height: 44px;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.outerinfokeeperclass {\\n\\n height: 100%;\\n width: 60%;\\n padding: 2px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.infokeeperclass {\\n\\n color: white;\\n height: 34px;\\n padding: 2px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertical\\n border-radius: 4px;\\n}\\n\\nion-datetime {\\n height: auto;\\n width: auto;\\n max-width: 350px;\\n --background: #354547;\\n}\\n\\nion-modal {\\n --width: 290px;\\n --height: 382px;\\n --border-radius: 8px;\\n}\\n\\nion-modal ion-datetime {\\n height: 382px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.buttonclass {\n position: relative;\n width: 100%;\n height: 44px;\n border-radius: 4px;\n padding: 2px;\n display: flex;\n}\n\n.buttontextclass {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n min-height: 8px;\n width: 100%;\n height: 100%;\n}\n\n.outerinfokeeperclass {\n height: 100%;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.infokeeperclass {\n color: white;\n height: 34px;\n width: 100%;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 4px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/button-value/button-value.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;AADF;;AAIA;EAEE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;AAFF;;AAMA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAJF;;AASA;EAEE,YAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EAEA,uBAAA;EACA,mBAAA;EACA,kBAAA;AARF\",\"sourcesContent\":[\"\\n.buttonclass {\\n\\n position: relative;\\n width: 100%;\\n height: 44px;\\n border-radius: 4px;\\n padding: 2px;\\n display: flex;\\n}\\n\\n.buttontextclass {\\n\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertical\\n min-height: 8px;\\n width: 100%;\\n height: 100%;\\n}\\n\\n\\n.outerinfokeeperclass {\\n\\n height: 100%;\\n padding: 2px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n\\n.infokeeperclass {\\n\\n color: white;\\n height: 34px;\\n width: 100%;\\n padding: 2px;\\n display: flex;\\n // border: 1px solid white;\\n justify-content: center; // horizontal\\n align-items: center; // vertical\\n border-radius: 4px;\\n}\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperdivclass {\n padding: 2px;\n position: relative;\n width: 24px;\n height: 24px;\n border: 2px solid gray;\n border-radius: 4px;\n display: flex;\n justify-content: center;\n align-items: center;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/checkbox-clon/checkbox-clon.component.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,YAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,sBAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AADF\",\"sourcesContent\":[\"\\n.keeperdivclass {\\n\\n padding: 2px;\\n position: relative;\\n width: 24px;\\n height: 24px;\\n border: 2px solid gray;\\n border-radius: 4px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.framedivclass {\n width: 100%;\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n}\n\n.inputclass {\n border: 1px solid blue;\n border: none;\n --padding-bottom: 0px;\n --padding-end: 0px;\n --padding-start: 0px;\n --padding-top: 0px;\n --color: black;\n}\n\nion-label {\n color: black;\n}\n\nion-textarea {\n margin-top: 0px;\n border: none;\n --padding-bottom: 100px;\n --padding-end: 0px;\n --padding-start: 0px;\n --padding-top: 0px;\n --color: black;\n}\n\n.uppercellclass {\n font-size: 80%;\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 4px;\n padding-bottom: 2px;\n}\n\n.lowercellclass {\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 0px;\n padding-bottom: 4px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/input-clone/input-clone.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,WAAA;EACA,aAAA;EACA,2BAAA;EACA,uBAAA;AAAF;;AAIA;EAEE,sBAAA;EACA,YAAA;EACA,qBAAA;EACA,kBAAA;EACA,oBAAA;EACA,kBAAA;EACA,cAAA;AAFF;;AAKA;EAEE,YAAA;AAHF;;AAQA;EAEE,eAAA;EACA,YAAA;EACA,uBAAA;EACA,kBAAA;EACA,oBAAA;EACA,kBAAA;EACA,cAAA;AANF;;AASA;EAEE,cAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,mBAAA;AAPF;;AAWA;EAEE,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,mBAAA;AATF\",\"sourcesContent\":[\".framedivclass {\\n\\n width: 100%;\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: flex-start; // vertikal\\n\\n}\\n\\n.inputclass {\\n\\n border: 1px solid blue;\\n border: none;\\n --padding-bottom: 0px;\\n --padding-end: 0px;\\n --padding-start: 0px;\\n --padding-top: 0px;\\n --color: black;\\n}\\n\\nion-label {\\n\\n color: black;\\n}\\n\\n\\n\\nion-textarea {\\n\\n margin-top: 0px;\\n border: none;\\n --padding-bottom: 100px;\\n --padding-end: 0px;\\n --padding-start: 0px;\\n --padding-top: 0px;\\n --color: black;\\n}\\n\\n.uppercellclass {\\n\\n font-size: 80%;\\n padding-left: 4px;\\n padding-right: 4px;\\n padding-top: 4px;\\n padding-bottom: 2px;\\n\\n\\n}\\n.lowercellclass {\\n\\n padding-left: 4px;\\n padding-right: 4px;\\n padding-top: 0px;\\n padding-bottom: 4px;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperclass {\n background: #307ac1;\n color: white;\n width: 100%;\n min-height: 40px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-footer/page-footer.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,mBAAA;EACA,YAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,yBAAA;AAAF\",\"sourcesContent\":[\".keeperclass {\\n\\n background: #307ac1;\\n color: white;\\n width: 100%;\\n min-height: 40px;\\n height: 100%;\\n display: flex;\\n align-items: center; // vertikal\\n justify-content: flex-end; // horizontal\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperdivclass {\n width: 100%;\n background: #2190df;\n min-height: 52px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-header-center/page-header-center.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,aAAA;EACA,mBAAA;EACA,2BAAA;AAAF\",\"sourcesContent\":[\".keeperdivclass {\\n\\n width: 100%;\\n background: #2190df;\\n min-height: 52px;\\n display: flex;\\n align-items: center; // vertikal\\n justify-content: flex-start; // horizontal\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.menubuttonclass {\n cursor: pointer;\n}\n\n.menufilterbuttonclass {\n padding: 2px;\n padding-right: 4px;\n cursor: pointer;\n background: #454545;\n border-radius: 4px;\n}\n\n.planungheaderdiv {\n border-radius: 6px;\n width: 40px;\n height: 40px;\n background: #454545;\n color: white;\n font-size: 90%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.trennertdclass {\n width: 30px;\n}\n\n.trennerdivclass {\n width: 1px;\n min-height: 30px;\n height: 100%;\n background: silver;\n}\n\n.trennerbigdivclass {\n width: 1px;\n min-height: 64px;\n height: 100%;\n background: silver;\n}\n\nion-searchbar {\n width: 300px;\n height: 50px;\n --border-radius: none;\n --box-shadow: none;\n --background: black;\n}\n\n.iconboxclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 6px;\n width: 40px;\n height: 40px;\n background: #444444;\n}\n\n.menubuttonclass {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n min-height: 50px;\n padding: 2px;\n}\n\n.buttonclass {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 140px;\n min-height: 34px;\n height: 100%;\n padding: 2px;\n border: 1px solid white;\n border-radius: 6px;\n cursor: pointer;\n}\n\n.buttonsmallclass {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 50px;\n min-height: 34px;\n height: 100%;\n border: 1px solid white;\n border-radius: 6px;\n cursor: pointer;\n}\n\n.statusvaianteclass {\n padding: 6px;\n border-radius: 3px;\n width: auto;\n white-space: nowrap;\n color: white;\n font-size: 80%;\n}\n\n.wocheheaderdivclass {\n background: #354547;\n color: white;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.userimagesmall {\n display: inline-block;\n width: 40px;\n height: 40px;\n margin-top: 4px;\n border-radius: 50%;\n object-fit: cover;\n}\n\n.userkuerzelsmall {\n display: inline-block;\n width: 40px;\n height: 40px;\n margin-right: 4px;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: #454545;\n color: white;\n font-weight: bold;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-header-menu/page-header-menu.component.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,eAAA;AADF;;AAIA;EAEE,YAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,kBAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAHF;;AAMA;EAEE,WAAA;AAJF;;AAOA;EAEE,UAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;AALF;;AAQA;EAEE,UAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;AANF;;AASA;EAEE,YAAA;EACA,YAAA;EACA,qBAAA;EACA,kBAAA;EACA,mBAAA;AAPF;;AAUA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;AARF;;AAWA;EAEE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;AATF;;AAYA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,gBAAA;EACA,YAAA;EACA,YAAA;EACA,uBAAA;EACA,kBAAA;EACA,eAAA;AAVF;;AAaA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;EACA,uBAAA;EACA,kBAAA;EACA,eAAA;AAXF;;AAcA;EAEE,YAAA;EACA,kBAAA;EACA,WAAA;EACA,mBAAA;EACA,YAAA;EACA,cAAA;AAZF;;AAcA;EAEE,mBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAZF;;AAgBA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,kBAAA;EACA,iBAAA;AAdF;;AAiBA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,mBAAA;EACA,YAAA;EACA,iBAAA;AAfF\",\"sourcesContent\":[\"\\n.menubuttonclass {\\n\\n cursor: pointer;\\n}\\n\\n.menufilterbuttonclass {\\n\\n padding: 2px;\\n padding-right: 4px;\\n cursor: pointer;\\n background: #454545;\\n border-radius: 4px;\\n}\\n\\n.planungheaderdiv {\\n\\n border-radius: 6px;\\n width: 40px;\\n height: 40px;\\n background: #454545;\\n color: white;\\n font-size: 90%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.trennertdclass {\\n\\n width: 30px;\\n}\\n\\n.trennerdivclass {\\n\\n width: 1px;\\n min-height: 30px;\\n height: 100%;\\n background: silver;\\n}\\n\\n.trennerbigdivclass {\\n\\n width: 1px;\\n min-height: 64px;\\n height: 100%;\\n background: silver;\\n}\\n\\nion-searchbar {\\n\\n width: 300px;\\n height: 50px;\\n --border-radius: none;\\n --box-shadow: none;\\n --background: black;\\n}\\n\\n.iconboxclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border-radius: 6px;\\n width: 40px;\\n height: 40px;\\n background: #444444;\\n}\\n\\n.menubuttonclass {\\n\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertikal\\n width: 100%;\\n min-height: 50px;\\n padding: 2px;\\n}\\n\\n.buttonclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n width: 140px;\\n min-height: 34px;\\n height: 100%;\\n padding: 2px;\\n border: 1px solid white;\\n border-radius: 6px;\\n cursor: pointer;\\n}\\n\\n.buttonsmallclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n width: 50px;\\n min-height: 34px;\\n height: 100%;\\n border: 1px solid white;\\n border-radius: 6px;\\n cursor: pointer;\\n}\\n\\n.statusvaianteclass {\\n\\n padding: 6px;\\n border-radius: 3px;\\n width: auto;\\n white-space: nowrap;\\n color: white;\\n font-size: 80%;\\n}\\n.wocheheaderdivclass {\\n\\n background: #354547;\\n color: white;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n // font-weight: bold;\\n}\\n\\n.userimagesmall {\\n\\n display: inline-block;\\n width: 40px;\\n height: 40px;\\n margin-top: 4px;\\n border-radius: 50%;\\n object-fit: cover;\\n}\\n\\n.userkuerzelsmall {\\n\\n display: inline-block;\\n width: 40px;\\n height: 40px;\\n margin-right: 4px;\\n border-radius: 50%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n background: #454545;\\n color: white;\\n font-weight: bold;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `ion-progress-bar {\n --background: #444444;\n --progress-background: #307ac1;\n}\n\n.keeperdivclass {\n width: 100%;\n background: #307ac1;\n min-height: 52px;\n /*\n display: flex;\n align-items: center; // vertikal\n justify-content: flex-start; // horizontal\n\n */\n}\n\n.loadingdivclass {\n position: absolute;\n width: 400px;\n height: 300px;\n z-index: 10000;\n top: 200px;\n left: 50%;\n transform: translate(-50%, 0);\n}\n\n.headerdivclass {\n background: #307ac1;\n width: 100%;\n height: 30px;\n padding: 4px;\n color: white;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n\n.contentdivclass {\n border-left: 3px solid #307ac1;\n border-right: 3px solid #307ac1;\n background: white;\n width: 100%;\n height: 120px;\n padding: 6px;\n display: flex;\n justify-content: center;\n align-items: center;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-header/page-header.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,qBAAA;EACA,8BAAA;AACF;;AAEA;EAEE,WAAA;EACA,mBAAA;EACA,gBAAA;EACA;;;;;IAAA;AAKF;;AAGA;EAEE,kBAAA;EACA,YAAA;EACA,aAAA;EACA,cAAA;EACA,UAAA;EACA,SAAA;EACA,6BAAA;AADF;;AAIA;EAEE,mBAAA;EACA,WAAA;EAAa,YAAA;EACb,YAAA;EACA,YAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;AADF;;AAIA;EAEE,8BAAA;EACA,+BAAA;EACA,iBAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAFF\",\"sourcesContent\":[\"ion-progress-bar {\\n --background: #444444;\\n --progress-background: #307ac1;\\n}\\n\\n.keeperdivclass {\\n\\n width: 100%;\\n background: #307ac1;\\n min-height: 52px;\\n /*\\n display: flex;\\n align-items: center; // vertikal\\n justify-content: flex-start; // horizontal\\n\\n */\\n}\\n\\n.loadingdivclass {\\n\\n position: absolute;\\n width: 400px;\\n height: 300px;\\n z-index: 10000;\\n top: 200px;\\n left: 50%;\\n transform: translate(-50%, 0);\\n}\\n\\n.headerdivclass {\\n\\n background: #307ac1;\\n width: 100%; height: 30px;\\n padding: 4px;\\n color: white;\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.contentdivclass {\\n\\n border-left: 3px solid #307ac1;\\n border-right: 3px solid #307ac1;\\n background: white;\\n width: 100%;\\n height: 120px;\\n padding: 6px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.keeperdivclass {\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n position: absolute;\n z-index: 1000;\n}\n\n.contentdivclass {\n background: blue;\n left: 50%;\n position: absolute;\n transform: translate(-50%);\n}\n\n.menufilterbuttonclass {\n padding: 2px;\n padding-right: 4px;\n cursor: pointer;\n background: #7b6a58;\n border-radius: 4px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/page-modal-keeper/page-modal-keeper.component.scss\"],\"names\":[],\"mappings\":\"AACA;EAEE,WAAA;EACA,YAAA;EACA,8BAAA;EACA,kBAAA;EACA,aAAA;AADF;;AAIA;EAEE,gBAAA;EACA,SAAA;EACA,kBAAA;EACA,0BAAA;AAFF;;AAKA;EAEE,YAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,kBAAA;AAHF\",\"sourcesContent\":[\"\\n.keeperdivclass {\\n\\n width: 100%;\\n height: 100%;\\n background: rgba(0, 0, 0, 0.5);\\n position:absolute;\\n z-index: 1000;\\n}\\n\\n.contentdivclass {\\n\\n background: blue;\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%);\\n}\\n\\n.menufilterbuttonclass {\\n\\n padding: 2px;\\n padding-right: 4px;\\n cursor: pointer;\\n background: #7b6a58;\\n border-radius: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.frameclass {\n border: 1px solid #307ac1;\n background: white;\n color: white;\n padding: 4px;\n width: 100%;\n height: 100%;\n}\n\n.tagrahmenclass {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n border: 1px solid #444444;\n}\n\n.feiertagdivclass {\n width: 100%;\n height: 20px;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.feriendivclass {\n width: 100%;\n height: 20px;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.taginfodivclass {\n font-weight: bold;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n height: inherit;\n height: 26px;\n color: #307ac1;\n}\n\n.kwinfodivclass {\n font-weight: bold;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 30px;\n color: #307ac1;\n}\n\n.taginfospacedivclass {\n color: red;\n height: 20px;\n width: 100%;\n}\n\n.wochenendedivclass {\n font-weight: bold;\n color: white;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 30px;\n background: #34495E;\n}\n\n.wochenendespacedivclass {\n background: #34495E;\n height: 20px;\n width: 100%;\n}\n\n.tagdivclass {\n cursor: pointer;\n font-weight: bold;\n color: black;\n width: 100%;\n height: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.tagexterndivclass {\n border-top: 1px solid red;\n cursor: pointer;\n color: white;\n font-size: 80%;\n font-weight: bold;\n width: 100%;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n}\n\n.tagexternemptydivclass {\n border-top: 1px solid;\n cursor: pointer;\n color: white;\n font-size: 80%;\n width: 100%;\n height: 20px;\n display: flex;\n box-sizing: border-box;\n justify-content: center;\n align-items: center;\n}\n\n.buttoninfoclass {\n width: 100%;\n height: 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n}\n\n/*\n\n.ferientagdivclass {\n\n cursor: pointer;\n font-weight: bold;\n color: white;\n width: 100%;\n display: flex;\n justify-content: center; // horizontal\n align-items: center; // vertikal\n height: 30px;\n background: burlywood;\n}\n\n */\n.kwdivclass {\n border-radius: 50px;\n height: 38px;\n background: none;\n color: black;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/pj-urlaubsplanung-kalender/urlausplanung-kalender.scss\"],\"names\":[],\"mappings\":\"AAEA;EAEE,yBAAA;EACA,iBAAA;EACA,YAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;AAFF;;AAKA;EAEE,aAAA;EACA,sBAAA;EACA,WAAA;EACA,YAAA;EACA,yBAAA;AAHF;;AAMA;EAEE,WAAA;EACA,YAAA;EACA,eAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAJF;;AAOA;EAEE,WAAA;EACA,YAAA;EACA,eAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AALF;;AAQA;EAEE,iBAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;EACA,YAAA;EACA,cAAA;AANF;;AASA;EAEE,iBAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,cAAA;AAPF;;AAUA;EAEE,UAAA;EACA,YAAA;EACA,WAAA;AARF;;AAWA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,mBAAA;AATF;;AAYA;EAEE,mBAAA;EACA,YAAA;EACA,WAAA;AAVF;;AAcA;EAEE,eAAA;EACA,iBAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAZF;;AAeA;EAEE,yBAAA;EACA,eAAA;EACA,YAAA;EACA,cAAA;EACA,iBAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;AAbF;;AAgBA;EAEE,qBAAA;EACA,eAAA;EACA,YAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;AAdF;;AAmBA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAjBF;;AAoBA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;AAlBF;;AAsBA;;;;;;;;;;;;;;;EAAA;AAiBA;EAEE,mBAAA;EACA,YAAA;EACA,gBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AArBF\",\"sourcesContent\":[\"\\n\\n.frameclass {\\n\\n border: 1px solid #307ac1;\\n background: white;\\n color: white;\\n padding: 4px;\\n width: 100%;\\n height: 100%\\n}\\n\\n.tagrahmenclass {\\n\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n border: 1px solid #444444;\\n}\\n\\n.feiertagdivclass {\\n\\n width: 100%;\\n height: 20px;\\n cursor: pointer;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.feriendivclass {\\n\\n width: 100%;\\n height: 20px;\\n cursor: pointer;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.taginfodivclass {\\n\\n font-weight: bold;\\n width: 100%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n height: inherit;\\n height: 26px;\\n color: #307ac1;\\n}\\n\\n.kwinfodivclass {\\n\\n font-weight: bold;\\n width: 100%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n height: 30px;\\n color: #307ac1;\\n}\\n\\n.taginfospacedivclass {\\n\\n color: red;\\n height: 20px;\\n width: 100%;\\n}\\n\\n.wochenendedivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 100%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n height: 30px;\\n background: #34495E;\\n}\\n\\n.wochenendespacedivclass {\\n\\n background: #34495E;\\n height: 20px;\\n width: 100%;\\n}\\n\\n\\n.tagdivclass {\\n\\n cursor: pointer;\\n font-weight: bold;\\n color: black;\\n width: 100%;\\n height: 30px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.tagexterndivclass {\\n\\n border-top: 1px solid red;\\n cursor: pointer;\\n color: white;\\n font-size: 80%;\\n font-weight: bold;\\n width: 100%;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n box-sizing: border-box;\\n}\\n\\n.tagexternemptydivclass {\\n\\n border-top: 1px solid;\\n cursor: pointer;\\n color: white;\\n font-size: 80%;\\n width: 100%;\\n height: 20px;\\n display: flex;\\n box-sizing: border-box;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\\n\\n.buttoninfoclass {\\n\\n width: 100%;\\n height: 10px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n}\\n\\n\\n/*\\n\\n.ferientagdivclass {\\n\\n cursor: pointer;\\n font-weight: bold;\\n color: white;\\n width: 100%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n height: 30px;\\n background: burlywood;\\n}\\n\\n */\\n\\n.kwdivclass {\\n\\n border-radius: 50px;\\n height: 38px;\\n background: none;\\n color: black;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#container {\n text-align: center;\n position: absolute;\n left: 0;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.sendmailcircle {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n}\n\n#container strong {\n font-size: 20px;\n line-height: 26px;\n}\n\n#container p {\n font-size: 16px;\n line-height: 22px;\n color: #8c8c8c;\n margin: 0;\n}\n\n#container a {\n text-decoration: none;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-einstellungen/common-einstellungen.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAA;EAEA,kBAAA;EACA,OAAA;EACA,QAAA;EACA,QAAA;EACA,2BAAA;AAAF;;AAGA;EAEE,WAAA;EACA,YAAA;EACA,kBAAA;AADF;;AAIA;EACE,eAAA;EACA,iBAAA;AADF;;AAIA;EACE,eAAA;EACA,iBAAA;EAEA,cAAA;EAEA,SAAA;AAHF;;AAMA;EACE,qBAAA;AAHF\",\"sourcesContent\":[\"#container {\\n text-align: center;\\n\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 50%;\\n transform: translateY(-50%);\\n}\\n\\n.sendmailcircle {\\n\\n width: 12px;\\n height: 12px;\\n border-radius: 50%;\\n}\\n\\n#container strong {\\n font-size: 20px;\\n line-height: 26px;\\n}\\n\\n#container p {\\n font-size: 16px;\\n line-height: 22px;\\n\\n color: #8c8c8c;\\n\\n margin: 0;\\n}\\n\\n#container a {\\n text-decoration: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.projektbuttoniconclass {\n height: 90px;\n width: 100px;\n z-index: 100;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.projektbuttoniconerrorclass {\n height: 90px;\n width: 100px;\n z-index: 200;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.trennerdiv {\n width: 100px;\n height: 10px;\n border-radius: 4px;\n margin: 6px;\n}\n\n.trennerdivclass {\n width: 1px;\n min-height: 30px;\n height: 100%;\n background: silver;\n}\n\n.buttonclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 160px;\n height: 140px;\n cursor: pointer;\n background: white;\n}\n\n.changelogdiv {\n border: 2px solid gray;\n border-radius: 10px;\n width: 360px;\n height: 300px;\n position: absolute;\n padding: 8px;\n left: 20px;\n bottom: 20px;\n background: white;\n z-index: 1000;\n overflow: auto;\n}\n\n.outputdiv {\n border: 2px solid gray;\n border-radius: 10px;\n width: 500px;\n height: 600px;\n position: absolute;\n position: absolute;\n padding: 8px;\n left: 20px;\n top: 560px;\n background: white;\n z-index: 1000;\n overflow: auto;\n}\n\n.userimagesmall {\n display: inline-block;\n width: 40px;\n height: 40px;\n margin-top: 4px;\n border-radius: 50%;\n object-fit: cover;\n}\n\n.userimage {\n display: inline-block;\n width: 60px;\n height: 60px;\n border-radius: 50%;\n object-fit: cover;\n}\n\n.userkuerzelsmall {\n display: inline-block;\n width: 40px;\n height: 40px;\n margin-right: 4px;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n color: white;\n font-weight: bold;\n}\n\n.buttonbigclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 360px;\n height: 220px;\n cursor: pointer;\n background: white;\n}\n\n.buttonsmallclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 80px;\n height: 80px;\n cursor: pointer;\n background: white;\n}\n\n.favlistedivclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 400px;\n cursor: pointer;\n background: white;\n overflow: auto;\n}\n\n.menubuttonclass {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n min-height: 50px;\n padding: 2px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-home/common-home.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,YAAA;EACA,YAAA;EACA,YAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAAF;;AAEC;EAEE,YAAA;EACA,YAAA;EACD,YAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAAF;;AAIA;EAEE,YAAA;EACA,YAAA;EACA,kBAAA;EACA,WAAA;AAFF;;AAKA;EAEE,UAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;AAHF;;AAMA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;AAJF;;AAOA;EAEE,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,YAAA;EACA,UAAA;EACA,YAAA;EACA,iBAAA;EACA,aAAA;EACA,cAAA;AALF;;AAQA;EAEE,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,kBAAA;EACA,YAAA;EACA,UAAA;EACA,UAAA;EACA,iBAAA;EACA,aAAA;EACA,cAAA;AANF;;AASA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,kBAAA;EACA,iBAAA;AAPF;;AAUA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,iBAAA;AARF;;AAWA;EAEE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,iBAAA;AATF;;AAYA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;AAVF;;AAaA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,iBAAA;AAXF;;AAcA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;AAZF;;AAeA;EAEE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;AAbF\",\"sourcesContent\":[\".projektbuttoniconclass {\\n\\n height: 90px;\\n width: 100px;\\n z-index: 100;\\n position: absolute;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\\n}.projektbuttoniconerrorclass {\\n\\n height: 90px;\\n width: 100px;\\n z-index: 200;\\n position: absolute;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n\\n.trennerdiv {\\n\\n width: 100px;\\n height: 10px;\\n border-radius: 4px;\\n margin: 6px;\\n}\\n\\n.trennerdivclass {\\n\\n width: 1px;\\n min-height: 30px;\\n height: 100%;\\n background: silver;\\n}\\n\\n.buttonclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 160px;\\n height: 140px;\\n cursor: pointer;\\n background: white;\\n}\\n\\n.changelogdiv {\\n\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 360px;\\n height: 300px;\\n position: absolute;\\n padding: 8px;\\n left: 20px;\\n bottom: 20px;\\n background: white;\\n z-index: 1000;\\n overflow: auto;\\n}\\n\\n.outputdiv {\\n\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 500px;\\n height: 600px;\\n position: absolute;\\n position: absolute;\\n padding: 8px;\\n left: 20px;\\n top: 560px;\\n background: white;\\n z-index: 1000;\\n overflow: auto;\\n}\\n\\n.userimagesmall {\\n\\n display: inline-block;\\n width: 40px;\\n height: 40px;\\n margin-top: 4px;\\n border-radius: 50%;\\n object-fit: cover;\\n}\\n\\n.userimage {\\n\\n display: inline-block;\\n width: 60px;\\n height: 60px;\\n border-radius: 50%;\\n object-fit: cover;\\n}\\n\\n.userkuerzelsmall {\\n\\n display: inline-block;\\n width: 40px;\\n height: 40px;\\n margin-right: 4px;\\n border-radius: 50%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n color: white;\\n font-weight: bold;\\n}\\n\\n.buttonbigclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 360px;\\n height: 220px;\\n cursor: pointer;\\n background: white;\\n}\\n\\n.buttonsmallclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 80px;\\n height: 80px;\\n cursor: pointer;\\n background: white;\\n}\\n\\n.favlistedivclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 400px;\\n cursor: pointer;\\n background: white;\\n overflow: auto;\\n}\\n\\n.menubuttonclass {\\n\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertikal\\n width: 100%;\\n min-height: 50px;\\n padding: 2px;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.legendedivclass {\n font-weight: bold;\n color: white;\n width: 30px;\n border: 1px solid #444444;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass {\n height: 30px;\n width: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-einstellungen/common-urlaub-einstellungen.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAAF;;AAGA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AADF;;AAKA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAHF;;AAMA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAJF;;AAOA;EAEE,YAAA;EACA,mBAAA;AALF\",\"sourcesContent\":[\".legendedivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 30px;\\n border: 1px solid #444444;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 100px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contentkeeperdivclass {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.contentdivclass {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 10;\n overflow: auto;\n}\n\n.legendebuttonclass {\n width: 14px;\n height: 100%;\n background: #307ac1;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.legendekeeperdivclass {\n position: absolute;\n height: 1000px;\n background: silver;\n right: 0px;\n top: 0px;\n z-index: 20;\n overflow: visible;\n}\n\n.legendedivclass {\n font-weight: bold;\n font-size: 80%;\n color: white;\n width: 36px;\n border: 1px solid #444444;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendenewdivclass {\n width: 36px;\n height: 24px;\n display: flex;\n flex-direction: row;\n}\n\n.legendeinnerdivclass {\n color: white;\n font-size: 90%;\n width: 50%;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendebreitdivclass {\n font-weight: bold;\n font-size: 80%;\n color: white;\n width: 60px;\n border: 1px solid #444444;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass {\n height: 30px;\n width: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-freigaben/common-urlaub-freigaben.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;AAAF;;AAGA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;AADF;;AAIA;EAEE,WAAA;EACA,YAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,cAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,iBAAA;AAHF;;AAMA;EAEE,iBAAA;EACA,cAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAJF;;AAOA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AALF;;AAQA;EAEE,YAAA;EACA,cAAA;EACA,UAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AANF;;AASA;EAEE,iBAAA;EACA,cAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAPF;;AAWA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AATF;;AAaA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAXF;;AAcA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAZF;;AAeA;EAEE,YAAA;EACA,mBAAA;AAbF\",\"sourcesContent\":[\".contentkeeperdivclass {\\n\\n position: relative;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.contentdivclass {\\n\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n overflow: auto;\\n}\\n\\n.legendebuttonclass {\\n\\n width: 14px;\\n height: 100%;\\n background: #307ac1;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n.legendekeeperdivclass {\\n\\n position: absolute;\\n height: 1000px;\\n background: silver;\\n right: 0px;\\n top: 0px;\\n z-index: 20;\\n overflow: visible;\\n}\\n\\n.legendedivclass {\\n\\n font-weight: bold;\\n font-size: 80%;\\n color: white;\\n width: 36px;\\n border: 1px solid #444444;\\n height: 24px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legendenewdivclass {\\n\\n width: 36px;\\n height: 24px;\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.legendeinnerdivclass {\\n\\n color: white;\\n font-size: 90%;\\n width: 50%;\\n height: 24px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legendebreitdivclass {\\n\\n font-weight: bold;\\n font-size: 80%;\\n color: white;\\n width: 60px;\\n border: 1px solid #444444;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 100px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contentdivclass {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 10;\n overflow: visible;\n}\n\n.legendebuttonclass {\n width: 14px;\n background: #307ac1;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.legendekeeperdivclass {\n position: absolute;\n background: silver;\n right: 0px;\n top: 0px;\n bottom: 0px;\n z-index: 20;\n overflow: visible;\n display: flex;\n flex-direction: row;\n}\n\n.headerdivclass {\n position: absolute;\n left: 0px;\n top: 0px;\n width: 100%;\n}\n\n.innercontentdivclass {\n position: absolute;\n left: 0px;\n width: 100%;\n overflow: auto;\n}\n\n.urlaubclass {\n width: 38px;\n height: 20px;\n color: white;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 80%;\n}\n\n.homeofficeclass {\n width: 38px;\n height: 36px;\n color: white;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 80%;\n}\n\n.monatedivclass {\n height: 30px;\n width: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.legendedivclass {\n font-weight: bold;\n color: white;\n width: 30px;\n border: 1px solid #444444;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-gesamtuebersicht/common-urlaub-gesamtuebersicht.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;AAAF;;AAGA;EAEE,WAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AADF;;AAIA;EAEE,kBAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,iBAAA;EACA,aAAA;EACA,mBAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,SAAA;EACA,QAAA;EACA,WAAA;AAHF;;AAMA;EAEE,kBAAA;EACA,SAAA;EACA,WAAA;EACA,cAAA;AAJF;;AAOA;EAEE,WAAA;EACA,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,cAAA;AALF;;AAQA;EAEE,WAAA;EACA,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,cAAA;AANF;;AASA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAPF;;AAUA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AARF;;AAWA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AATF;;AAaA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAXF;;AAeA;EAEE,YAAA;EACA,mBAAA;AAbF\",\"sourcesContent\":[\".contentdivclass {\\n\\n position: relative;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n overflow: visible;\\n}\\n\\n.legendebuttonclass {\\n\\n width: 14px;\\n background: #307ac1;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n.legendekeeperdivclass {\\n\\n position: absolute;\\n background: silver;\\n right: 0px;\\n top: 0px;\\n bottom: 0px;\\n z-index: 20;\\n overflow: visible;\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.headerdivclass {\\n\\n position: absolute;\\n left: 0px;\\n top: 0px;\\n width: 100%;\\n}\\n\\n.innercontentdivclass {\\n\\n position: absolute;\\n left: 0px;\\n width: 100%;\\n overflow: auto;\\n}\\n\\n.urlaubclass {\\n\\n width: 38px;\\n height: 20px;\\n color: white;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-size: 80%;\\n}\\n\\n.homeofficeclass {\\n\\n width: 38px;\\n height: 36px;\\n color: white;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-size: 80%;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 100px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.legendedivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 30px;\\n border: 1px solid #444444;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.festlegenbuttondiv {\n background: #444444;\n border-radius: 4px;\n padding: 4px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: white;\n width: 100%;\n min-height: 30px;\n cursor: pointer;\n}\n\n.datumdivclass {\n width: 200px;\n height: 60px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n background: #307ac1;\n color: white;\n font-weight: bold;\n border: 1px solid #444444;\n border-radius: 4px;\n padding: 4px;\n}\n\n.datumcanceldivclass {\n width: 60px;\n height: 60px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n background: red;\n color: white;\n font-weight: bold;\n border: 1px solid #444444;\n border-radius: 4px;\n cursor: pointer;\n padding: 4px;\n}\n\n.datumokdivclass {\n width: 120px;\n height: 60px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n background: green;\n color: white;\n font-weight: bold;\n border: 1px solid #444444;\n border-radius: 4px;\n cursor: pointer;\n padding: 4px;\n}\n\n.contentkeeperdivclass {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.contentdivclass {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 10;\n overflow: auto;\n}\n\n.legendebuttonclass {\n width: 14px;\n height: 100%;\n background: #307ac1;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.legendekeeperdivclass {\n position: absolute;\n height: 1000px;\n background: silver;\n right: 0px;\n top: 0px;\n z-index: 20;\n overflow: visible;\n}\n\n.legendedivclass {\n font-size: 90%;\n font-weight: bold;\n color: white;\n width: 36px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendenewdivclass {\n width: 36px;\n height: 24px;\n display: flex;\n flex-direction: row;\n}\n\n.legendeinnerdivclass {\n color: white;\n font-size: 90%;\n width: 50%;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass {\n height: 30px;\n width: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}\n\n.monatlableclass {\n height: 32px;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-planung/common-urlaub-planung.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,mBAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,WAAA;EACA,gBAAA;EACA,eAAA;AAAF;;AAEA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,YAAA;EACA,iBAAA;EACA,yBAAA;EACA,kBAAA;EACA,YAAA;AAAF;;AAGA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;EACA,yBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;AADF;;AAIA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,kBAAA;EACA,iBAAA;EACA,YAAA;EACA,iBAAA;EACA,yBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;AAHF;;AAMA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;AAJF;;AAOA;EAEE,WAAA;EACA,YAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AALF;;AAQA;EAEE,kBAAA;EACA,cAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,iBAAA;AANF;;AASA;EAEE,cAAA;EACA,iBAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAPF;;AAUA;EAEE,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AARF;;AAWA;EAEE,YAAA;EACA,cAAA;EACA,UAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AATF;;AAYA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAVF;;AAcA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AAZF;;AAeA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAbF;;AAgBA;EAEE,YAAA;EACA,mBAAA;AAdF;;AAiBA;EAEE,YAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;AAfF\",\"sourcesContent\":[\".festlegenbuttondiv {\\n\\n background: #444444;\\n border-radius: 4px;\\n padding: 4px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n color: white;\\n width: 100%;\\n min-height: 30px;\\n cursor: pointer;\\n}\\n.datumdivclass {\\n\\n width: 200px;\\n height: 60px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n text-align: center;\\n background: #307ac1;\\n color: white;\\n font-weight: bold;\\n border: 1px solid #444444;\\n border-radius: 4px;\\n padding: 4px;\\n}\\n\\n.datumcanceldivclass {\\n\\n width: 60px;\\n height: 60px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n text-align: center;\\n background: red;\\n color: white;\\n font-weight: bold;\\n border: 1px solid #444444;\\n border-radius: 4px;\\n cursor: pointer;\\n padding: 4px;\\n}\\n\\n.datumokdivclass {\\n\\n width: 120px;\\n height: 60px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n text-align: center;\\n background: green;\\n color: white;\\n font-weight: bold;\\n border: 1px solid #444444;\\n border-radius: 4px;\\n cursor: pointer;\\n padding: 4px;\\n}\\n\\n.contentkeeperdivclass {\\n\\n position: relative;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.contentdivclass {\\n\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n overflow: auto;\\n}\\n\\n.legendebuttonclass {\\n\\n width: 14px;\\n height: 100%;\\n background: #307ac1;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n.legendekeeperdivclass {\\n\\n position: absolute;\\n height: 1000px;\\n background: silver;\\n right: 0px;\\n top: 0px;\\n z-index: 20;\\n overflow: visible;\\n}\\n\\n.legendedivclass {\\n\\n font-size: 90%;\\n font-weight: bold;\\n color: white;\\n width: 36px;\\n height: 24px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legendenewdivclass {\\n\\n width: 36px;\\n height: 24px;\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.legendeinnerdivclass {\\n\\n color: white;\\n font-size: 90%;\\n width: 50%;\\n height: 24px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 100px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n.monatlableclass {\\n\\n height: 32px;\\n display: flex;\\n justify-content: flex-start; // horizontal\\n align-items: center; // vertikal\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contentdivclass {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 10;\n overflow: visible;\n}\n\n.legendebuttonclass {\n width: 14px;\n height: 100%;\n background: #307ac1;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.legendekeeperdivclass {\n position: absolute;\n height: 1000px;\n background: silver;\n right: 0px;\n top: 0px;\n z-index: 20;\n overflow: visible;\n}\n\n.legendedivclass {\n font-weight: bold;\n color: white;\n width: 30px;\n border: 1px solid #444444;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legendeexterndivclass {\n width: 30px;\n border: 1px solid red;\n height: 20px;\n font-size: 80%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.legenderounddivclass {\n font-weight: bold;\n color: white;\n width: 10px;\n border: 1px solid #444444;\n height: 10px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.monatedivclass {\n height: 30px;\n width: 200px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: bold;\n border-radius: 4px;\n border: 1px solid #444444;\n cursor: pointer;\n color: black;\n background: white;\n}\n\n.monatedivclass:hover {\n color: white;\n background: #307ac1;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-urlaub-uebersicht/common-urlaub-uebersicht.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;AAAF;;AAGA;EAEE,WAAA;EACA,YAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AADF;;AAIA;EAEE,kBAAA;EACA,cAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,iBAAA;AAFF;;AAKA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAHF;;AAMA;EAEE,WAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;AAJF;;AAQA;EAEE,iBAAA;EACA,YAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;AANF;;AASA;EAEE,YAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,yBAAA;EACA,eAAA;EACA,YAAA;EACA,iBAAA;AAPF;;AAUA;EAEE,YAAA;EACA,mBAAA;AARF\",\"sourcesContent\":[\".contentdivclass {\\n\\n position: relative;\\n width: 100%;\\n height: 100%;\\n z-index: 10;\\n overflow: visible;\\n}\\n\\n.legendebuttonclass {\\n\\n width: 14px;\\n height: 100%;\\n background: #307ac1;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n cursor: pointer;\\n}\\n\\n.legendekeeperdivclass {\\n\\n position: absolute;\\n height: 1000px;\\n background: silver;\\n right: 0px;\\n top: 0px;\\n z-index: 20;\\n overflow: visible;\\n}\\n\\n.legendedivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 30px;\\n border: 1px solid #444444;\\n height: 20px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n.legendeexterndivclass {\\n\\n width: 30px;\\n border: 1px solid red;\\n height: 20px;\\n font-size: 80%;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n\\n}\\n\\n.legenderounddivclass {\\n\\n font-weight: bold;\\n color: white;\\n width: 10px;\\n border: 1px solid #444444;\\n height: 10px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n\\n.monatedivclass {\\n\\n height: 30px;\\n width: 200px;\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n font-weight: bold;\\n border-radius: 4px;\\n border: 1px solid #444444;\\n cursor: pointer;\\n color: black;\\n background: white;\\n}\\n\\n.monatedivclass:hover {\\n\\n color: white;\\n background: #307ac1;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.buttonbigclass {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid gray;\n border-radius: 10px;\n width: 360px;\n height: 220px;\n cursor: pointer;\n background: white;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/common-wartung/common-wartung.page.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;AAAF\",\"sourcesContent\":[\".buttonbigclass {\\n\\n display: flex;\\n justify-content: center; // horizontal\\n align-items: center; // vertikal\\n border: 2px solid gray;\\n border-radius: 10px;\\n width: 360px;\\n height: 220px;\\n cursor: pointer;\\n background: white;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 80%;\n color: #444444;\n}\n\n.ergonametextclass {\n font-weight: bold;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/fi-mitarbeiterliste/fi-mitarbeiterliste.scss\"],\"names\":[],\"mappings\":\"AAGE;EAEE,cAAA;EACA,cAAA;AAHJ;;AAOA;EAEE,iBAAA;AALF\",\"sourcesContent\":[\"\\n.infotable {\\n\\n td {\\n\\n font-size: 80%;\\n color: #444444;\\n }\\n}\\n\\n.ergonametextclass {\\n\\n font-weight: bold;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.infotable td {\n font-size: 80%;\n color: #444444;\n}\n\n.ergonametextclass {\n font-weight: bold;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/fi-standorteliste/fi-standorteliste.scss\"],\"names\":[],\"mappings\":\"AAGE;EAEE,cAAA;EACA,cAAA;AAHJ;;AAOA;EAEE,iBAAA;AALF\",\"sourcesContent\":[\"\\n.infotable {\\n\\n td {\\n\\n font-size: 80%;\\n color: #444444;\\n }\\n}\\n\\n.ergonametextclass {\\n\\n font-weight: bold;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 22408,\n\t\"./af.js\": 22408,\n\t\"./ar\": 83632,\n\t\"./ar-dz\": 98564,\n\t\"./ar-dz.js\": 98564,\n\t\"./ar-kw\": 59628,\n\t\"./ar-kw.js\": 59628,\n\t\"./ar-ly\": 60764,\n\t\"./ar-ly.js\": 60764,\n\t\"./ar-ma\": 8087,\n\t\"./ar-ma.js\": 8087,\n\t\"./ar-ps\": 84152,\n\t\"./ar-ps.js\": 84152,\n\t\"./ar-sa\": 36932,\n\t\"./ar-sa.js\": 36932,\n\t\"./ar-tn\": 97064,\n\t\"./ar-tn.js\": 97064,\n\t\"./ar.js\": 83632,\n\t\"./az\": 78216,\n\t\"./az.js\": 78216,\n\t\"./be\": 90432,\n\t\"./be.js\": 90432,\n\t\"./bg\": 54440,\n\t\"./bg.js\": 54440,\n\t\"./bm\": 45340,\n\t\"./bm.js\": 45340,\n\t\"./bn\": 91936,\n\t\"./bn-bd\": 43392,\n\t\"./bn-bd.js\": 43392,\n\t\"./bn.js\": 91936,\n\t\"./bo\": 11440,\n\t\"./bo.js\": 11440,\n\t\"./br\": 51592,\n\t\"./br.js\": 51592,\n\t\"./bs\": 15056,\n\t\"./bs.js\": 15056,\n\t\"./ca\": 25992,\n\t\"./ca.js\": 25992,\n\t\"./cs\": 15944,\n\t\"./cs.js\": 15944,\n\t\"./cv\": 60928,\n\t\"./cv.js\": 60928,\n\t\"./cy\": 86160,\n\t\"./cy.js\": 86160,\n\t\"./da\": 22112,\n\t\"./da.js\": 22112,\n\t\"./de\": 6456,\n\t\"./de-at\": 44712,\n\t\"./de-at.js\": 44712,\n\t\"./de-ch\": 29100,\n\t\"./de-ch.js\": 29100,\n\t\"./de.js\": 6456,\n\t\"./dv\": 28776,\n\t\"./dv.js\": 28776,\n\t\"./el\": 91928,\n\t\"./el.js\": 91928,\n\t\"./en-au\": 67528,\n\t\"./en-au.js\": 67528,\n\t\"./en-ca\": 20736,\n\t\"./en-ca.js\": 20736,\n\t\"./en-gb\": 13976,\n\t\"./en-gb.js\": 13976,\n\t\"./en-ie\": 41600,\n\t\"./en-ie.js\": 41600,\n\t\"./en-il\": 53344,\n\t\"./en-il.js\": 53344,\n\t\"./en-in\": 24072,\n\t\"./en-in.js\": 24072,\n\t\"./en-nz\": 46264,\n\t\"./en-nz.js\": 46264,\n\t\"./en-sg\": 7816,\n\t\"./en-sg.js\": 7816,\n\t\"./eo\": 51920,\n\t\"./eo.js\": 51920,\n\t\"./es\": 82808,\n\t\"./es-do\": 2772,\n\t\"./es-do.js\": 2772,\n\t\"./es-mx\": 83368,\n\t\"./es-mx.js\": 83368,\n\t\"./es-us\": 48288,\n\t\"./es-us.js\": 48288,\n\t\"./es.js\": 82808,\n\t\"./et\": 33892,\n\t\"./et.js\": 33892,\n\t\"./eu\": 35736,\n\t\"./eu.js\": 35736,\n\t\"./fa\": 68544,\n\t\"./fa.js\": 68544,\n\t\"./fi\": 83640,\n\t\"./fi.js\": 83640,\n\t\"./fil\": 24616,\n\t\"./fil.js\": 24616,\n\t\"./fo\": 27128,\n\t\"./fo.js\": 27128,\n\t\"./fr\": 50552,\n\t\"./fr-ca\": 59120,\n\t\"./fr-ca.js\": 59120,\n\t\"./fr-ch\": 17980,\n\t\"./fr-ch.js\": 17980,\n\t\"./fr.js\": 50552,\n\t\"./fy\": 7912,\n\t\"./fy.js\": 7912,\n\t\"./ga\": 34464,\n\t\"./ga.js\": 34464,\n\t\"./gd\": 98864,\n\t\"./gd.js\": 98864,\n\t\"./gl\": 32056,\n\t\"./gl.js\": 32056,\n\t\"./gom-deva\": 75804,\n\t\"./gom-deva.js\": 75804,\n\t\"./gom-latn\": 98648,\n\t\"./gom-latn.js\": 98648,\n\t\"./gu\": 76036,\n\t\"./gu.js\": 76036,\n\t\"./he\": 14000,\n\t\"./he.js\": 14000,\n\t\"./hi\": 48800,\n\t\"./hi.js\": 48800,\n\t\"./hr\": 55176,\n\t\"./hr.js\": 55176,\n\t\"./hu\": 192,\n\t\"./hu.js\": 192,\n\t\"./hy-am\": 94840,\n\t\"./hy-am.js\": 94840,\n\t\"./id\": 78240,\n\t\"./id.js\": 78240,\n\t\"./is\": 23608,\n\t\"./is.js\": 23608,\n\t\"./it\": 56816,\n\t\"./it-ch\": 25136,\n\t\"./it-ch.js\": 25136,\n\t\"./it.js\": 56816,\n\t\"./ja\": 17272,\n\t\"./ja.js\": 17272,\n\t\"./jv\": 83248,\n\t\"./jv.js\": 83248,\n\t\"./ka\": 4768,\n\t\"./ka.js\": 4768,\n\t\"./kk\": 93624,\n\t\"./kk.js\": 93624,\n\t\"./km\": 48168,\n\t\"./km.js\": 48168,\n\t\"./kn\": 69372,\n\t\"./kn.js\": 69372,\n\t\"./ko\": 37088,\n\t\"./ko.js\": 37088,\n\t\"./ku\": 63357,\n\t\"./ku-kmr\": 54068,\n\t\"./ku-kmr.js\": 54068,\n\t\"./ku.js\": 63357,\n\t\"./ky\": 3672,\n\t\"./ky.js\": 3672,\n\t\"./lb\": 43592,\n\t\"./lb.js\": 43592,\n\t\"./lo\": 16096,\n\t\"./lo.js\": 16096,\n\t\"./lt\": 92672,\n\t\"./lt.js\": 92672,\n\t\"./lv\": 69056,\n\t\"./lv.js\": 69056,\n\t\"./me\": 63280,\n\t\"./me.js\": 63280,\n\t\"./mi\": 95037,\n\t\"./mi.js\": 95037,\n\t\"./mk\": 48600,\n\t\"./mk.js\": 48600,\n\t\"./ml\": 93795,\n\t\"./ml.js\": 93795,\n\t\"./mn\": 19288,\n\t\"./mn.js\": 19288,\n\t\"./mr\": 63656,\n\t\"./mr.js\": 63656,\n\t\"./ms\": 71744,\n\t\"./ms-my\": 92804,\n\t\"./ms-my.js\": 92804,\n\t\"./ms.js\": 71744,\n\t\"./mt\": 28536,\n\t\"./mt.js\": 28536,\n\t\"./my\": 21764,\n\t\"./my.js\": 21764,\n\t\"./nb\": 64752,\n\t\"./nb.js\": 64752,\n\t\"./ne\": 82948,\n\t\"./ne.js\": 82948,\n\t\"./nl\": 49572,\n\t\"./nl-be\": 5900,\n\t\"./nl-be.js\": 5900,\n\t\"./nl.js\": 49572,\n\t\"./nn\": 14904,\n\t\"./nn.js\": 14904,\n\t\"./oc-lnc\": 57328,\n\t\"./oc-lnc.js\": 57328,\n\t\"./pa-in\": 81496,\n\t\"./pa-in.js\": 81496,\n\t\"./pl\": 25928,\n\t\"./pl.js\": 25928,\n\t\"./pt\": 85764,\n\t\"./pt-br\": 91248,\n\t\"./pt-br.js\": 91248,\n\t\"./pt.js\": 85764,\n\t\"./ro\": 37168,\n\t\"./ro.js\": 37168,\n\t\"./ru\": 97904,\n\t\"./ru.js\": 97904,\n\t\"./sd\": 68448,\n\t\"./sd.js\": 68448,\n\t\"./se\": 84480,\n\t\"./se.js\": 84480,\n\t\"./si\": 65696,\n\t\"./si.js\": 65696,\n\t\"./sk\": 77120,\n\t\"./sk.js\": 77120,\n\t\"./sl\": 83544,\n\t\"./sl.js\": 83544,\n\t\"./sq\": 71544,\n\t\"./sq.js\": 71544,\n\t\"./sr\": 53696,\n\t\"./sr-cyrl\": 33444,\n\t\"./sr-cyrl.js\": 33444,\n\t\"./sr.js\": 53696,\n\t\"./ss\": 32504,\n\t\"./ss.js\": 32504,\n\t\"./sv\": 39011,\n\t\"./sv.js\": 39011,\n\t\"./sw\": 74144,\n\t\"./sw.js\": 74144,\n\t\"./ta\": 81280,\n\t\"./ta.js\": 81280,\n\t\"./te\": 90504,\n\t\"./te.js\": 90504,\n\t\"./tet\": 36472,\n\t\"./tet.js\": 36472,\n\t\"./tg\": 77024,\n\t\"./tg.js\": 77024,\n\t\"./th\": 69872,\n\t\"./th.js\": 69872,\n\t\"./tk\": 63364,\n\t\"./tk.js\": 63364,\n\t\"./tl-ph\": 25164,\n\t\"./tl-ph.js\": 25164,\n\t\"./tlh\": 60048,\n\t\"./tlh.js\": 60048,\n\t\"./tr\": 86976,\n\t\"./tr.js\": 86976,\n\t\"./tzl\": 4224,\n\t\"./tzl.js\": 4224,\n\t\"./tzm\": 64316,\n\t\"./tzm-latn\": 72264,\n\t\"./tzm-latn.js\": 72264,\n\t\"./tzm.js\": 64316,\n\t\"./ug-cn\": 18984,\n\t\"./ug-cn.js\": 18984,\n\t\"./uk\": 25152,\n\t\"./uk.js\": 25152,\n\t\"./ur\": 57068,\n\t\"./ur.js\": 57068,\n\t\"./uz\": 47880,\n\t\"./uz-latn\": 7400,\n\t\"./uz-latn.js\": 7400,\n\t\"./uz.js\": 47880,\n\t\"./vi\": 35368,\n\t\"./vi.js\": 35368,\n\t\"./x-pseudo\": 71252,\n\t\"./x-pseudo.js\": 71252,\n\t\"./yo\": 98595,\n\t\"./yo.js\": 98595,\n\t\"./zh-cn\": 23036,\n\t\"./zh-cn.js\": 23036,\n\t\"./zh-hk\": 37563,\n\t\"./zh-hk.js\": 37563,\n\t\"./zh-mo\": 94952,\n\t\"./zh-mo.js\": 94952,\n\t\"./zh-tw\": 8240,\n\t\"./zh-tw.js\": 8240\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 92348;"],"names":["core_1","require","router_1","routes","path","loadChildren","Promise","resolve","then","tslib_1","__importStar","m","FiStandortelistePageModule","FIMitarbeiterlistePageModule","CommonHomePageModule","CommonWartungPageModule","CommonEinstellungenPageModule","CommonUrlaubsplanungPageModule","CommonUrlaubsuebersichtPageModule","CommonUrlaubsgesamtuebersichtPageModule","CommonUrlaubFreigabenPageModule","CommonUrlaubEinstellungenPageModule","AppRoutingModule","exports","__decorate","NgModule","imports","RouterModule","forRoot","preloadingStrategy","PreloadAllModules","useHash","angular_1","debug_1","database_pool_service_1","menue_service_1","basics_1","database_authentication_service_1","tools_1","rxjs_1","msal_angular_1","msal_browser_1","const_1","database_mitarbeiter_service_1","database_standorte_service_1","database_mitarbeitersettings_service_1","lodash","graph_1","database_urlaub_service_1","database_appeinstellungen_service_1","AppComponent","platform","Pool","Menuservice","AuthService","changeDetector","Basics","Tools","Const","authService","msalBroadcastService","MitarbeiterDB","MitarbeitersettingsDB","StandortDB","UrlaubDB","GraphService","AppeinstellungenDB","Debug","Destroying","Subject","Zoomfaktor","Settingssubscription","constructor","error","ShowErrorMessage","message","Typen","Component","ngOnDestroy","next","undefined","complete","FinishService","unsubscribe","ngOnInit","MitarbeitersettingsChanged","subscribe","Mitarbeitersettings","SecurityEnabled","initialize","inProgress$","pipe","filter","status_a","ShowMessage","InteractionStatus","None","takeUntil","status_b","SetShowLoginStatus","LoginSuccessEvent","StartApp","UnsetActiveUser","_this","_asyncToGenerator","Mitarbeiter","Page","ready","SetActiveUser","Contentbreite","width","Contenthoehe","height","ActiveUser","username","ShowProgress","MaxProgressValue","CurrentProgressValue","ProgressMessage","GetOwnUserinfo","GetOwnUserimage","ReadChangelogliste","ReadStandorteliste","ReadMitarbeiterliste","ReadMitarbeiterpositionenliste","Liste","GetAllUsers","ReadRegionen","ReadFerien","ReadAppeinstellungen","User","find","Mitarbeiterliste","currentmitarbeiter","UserID","id","isUndefined","console","log","mail","toLowerCase","indexOf","ConvertGraphuserToMitarbeiter","AddMitarbeiter","CheckMitarbeiterExists","Graphuser","Email","Mitarbeiterdaten","InitMitarbeiter","CheckMitarbeiterdaten","SetMitarbeiter","ReadFeiertage","ReadSettingsliste","InitMitarbeitersettings","SaveMitarbeitersettings","emit","SettingsID","_id","UpdateMitarbeiter","InitService","Planeradministrator","Appeinstellungen","AdminStartseite","Wartungsmodus","Pages","WartungPage","UrlaubPlanungPage","ProjektdatenLoaded","SetProjekteMenuebereich","SetRootPage","LoadingAllDataFinished","HomePage","MainMenuebereich","MainMenuebereiche","Home","ProjekteMenuebereich","ProjekteMenuebereiche","Aufgabenliste","EmaillistePage","Urlaubsplanung","UrlaubMenuebereich","UrlaubMenuebereiche","Planung","UrlaubUebersichtPage","Uebersicht","UrlaubsgesamtuebersichtPage","Gesamtplanung","UrlaubFreigabenPage","Freigaben","UrlaubEinstellungenPage","Einstellungen","Projekte","PjAufgabenlistePage","PjProtokolleListePage","Protokolle","PjBaustelleLoplistePage","LOPListe","PjBaustelleTagebuchlistePage","Bautagebuch","PjFestlegungslistePage","Festlegungen","PjPlanungsmatrixPage","Planungsmatrix","PjSimontabellelistePage","Simontabelle","PjNotizenListePage","Notizen","ngAfterContentChecked","detectChanges","selector","template","platform_browser_1","app_component_1","app_routing_module_1","loadinganimation_1","display_service_1","animations_1","http_1","environment_1","angular_fontawesome_1","common_1","appurl","environment","production","serverurl","useonlinedb","dockerurl","MandantenID","clientappregistration","clientserverregistration","clientdockerregistration","isIE","window","navigator","userAgent","loggerCallback","logLevel","MSALInstanceFactory","PublicClientApplication","auth","clientId","authority","redirectUri","cache","cacheLocation","BrowserCacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","LogLevel","Error","piiLoggingEnabled","MSALInterceptorConfigFactory","protectedResourceMap","Map","set","interactionType","InteractionType","Redirect","MSALGuardConfigFactory","authRequest","scopes","AppModule","declarations","BrowserModule","IonicModule","innerHTMLTemplatesEnabled","BrowserAnimationsModule","HttpClientModule","MsalModule","FontAwesomeModule","providers","provide","HTTP_INTERCEPTORS","useClass","MsalInterceptor","multi","MSAL_INSTANCE","useFactory","MSAL_GUARD_CONFIG","MSAL_INTERCEPTOR_CONFIG","LocationStrategy","HashLocationStrategy","MsalService","MsalGuard","MsalBroadcastService","ToolsProvider","DebugProvider","ConstProvider","BasicsProvider","MenueService","LoadingAnimationService","DisplayService","bootstrap","MsalRedirectComponent","Joi","database_changelog_service_1","moment_1","__importDefault","FiChangelogEditorComponent","Displayservice","DB","Valid","CanDelete","JoiShema","ValidChange","EventEmitter","CancelClickedEvent","OkClickedEvent","DeleteClickedEvent","Titel","Iconname","Dialogbreite","Dialoghoehe","PositionY","ZIndex","RemoveDialog","Dialognamen","Changelogeditor","SetupValidation","object","Beschreibung","string","required","max","options","stripUnknown","AddDialog","ValidateInput","Result","validate","CurrentChangelog","TextChanged","event","ngAfterViewInit","CancelButtonClicked","DeleteButtonClicked","DeleteChangelog","catch","exception","ShowHinweisDialog","OkButtonClicked","AddChangelog","result","UpdateChangelog","ContentClicked","preventDefault","stopPropagation","CanDeleteCheckedChanged","status","GetDatum","Datum","default","Zeitstempel","format","Output","Input","fi_changelog_editor_component_1","input_clone_module_1","input_clone_keeper_module_1","abstand_element_fixed_module_1","page_header_module_1","checkbox_clon_module_1","page_footer_module_1","FiChangelogEditorModule","CommonModule","InputCloneModule","InputCloneKeeperModule","AbstandElementFixedModule","PageHeaderModule","CheckboxClonModule","PageFooterModule","FiMitarbeiterAuswahlComponent","DBStandort","DBUrlaub","Alphabetcomponent","AuswahlIDliste","Multiselect","OnlyProjektmitarbeiter","BlockCurrentMitarbeiter","StandortfilterClickedEvent","Anzeigeliste","Mitarbeiterbuchstabenliste","Standardalphabet","Mitarbeiteralphabet","Mitarbeiteralphabetauswahl","Alphapetbreite","Lastletter","Mitarbeiterfiltertext","FilterSubscription","AuswahlIDListeSicherung","NONE","Mitarbeiterauswahl","InitTitel","cloneDeep","InitScreen","StandortfilterChanged","PrepareDaten","Merker","Buchstabe","Laenge","TeilA","TeilB","TeilC","Teillaenge","PosA","Solltext","Suchtext","currentmit","Archiviert","sort","a","b","Name","CurrentMitarbeiter","CurrentStandortfilter","Eintrag","StandortID","push","length","substring","toUpperCase","substr","Filtered","Text_A","Text_B","Text_C","GetMitarbeiterAlphabetbuchstabe","Selected","MitarbeiterID","value","MitrabeiterButtonClicked","AlphabetClicked","buchstabe","CheckedChanged","index","StandortfilterButtonClicked","GetStandortfiller","Kuerzel","Standort","ViewChild","args","static","fi_mitarbeiter_auswahl_component_1","alphabet_module_1","alphabet_relative_module_1","FiMitarbeiterAuswahlModule","AlphabetModule","AlphabetRelativeModule","FiMitarbeiterEditorComponent","ValidChanged","StandortClickedEvent","AnredeClickedEvent","UrlaubClickedEvent","PositionClickedEvent","ErrorEvent","ResturlaubEvent","SkipOkButtonAction","EmailinputEnabled","DeleteEnabled","Teamsliste","ErrorMessage","Bereich","AddNewPosition","EditPosition","Bereiche","Allgemein","Positionen","Mitarbeitereditor","ResetEditor","Vorname","min","email","tlds","allow","StandortClicked","LoeschenCheckboxChanged","errora","UpdateMitarbeiterUrlaub","errorb","ArchivierenCheckboxChanged","HomeofficefreigabenCheckboxChanged","Homeofficefreigaben","Homeofficefreigabestandorte","PlaneradministratorCheckboxChanged","UrlaubsfreigabenCheckboxChanged","Urlaubsfreigaben","Urlaubsfreigabeorte","GetAnrede","Anrede","UrlaubsfreigabeChecked","UrlaubsfreigabeChanged","HomeofficefreigabeChanged","HomeofficefreigabeChecked","AllgemeinMenuButtonClicked","PositionenMenuButtonClicked","NeuePositionButtonClicked","CurrentPosition","GetEmptyMitarbeiterposition","NewPositionTextChanged","Bezeichnung","Text","PositionOkButtonClicked","AddMitarbeiterposition","UpdateMitarbeiterposition","PositionCancelButtonClicked","PositionButtonClicked","Position","PositionClicked","fi_mitarbeiter_editor_component_1","button_value_module_1","FiMitarbeiterEditorModule","ButtonValueModule","FiStandortEditorComponent","DBMitarbeiter","LandClickedEvent","BundeslandClickedEvent","KonfessionClickedEvent","Standorteditor","Strasse","Ort","PLZ","CurrentStandort","DeleteStandort","AddStandort","UpdateStandort","GetLand","Land","GetBundesland","Region","Regionenliste","isoCode","Bundesland","GetKonfession","Konfession","Index","Urlaubfreigabepersonen","Homeofficefreigabepersonen","UrlaubsfreigabeCheckChanged","currentid","HomeofficefreigabeCheckChanged","fi_standort_editor_component_1","FiStandortEditorModule","AbstandElementFixedComponent","abstand_element_fixed_component_1","alphabet_relative_1","AlphabetRelativeComponent","Breite","Auswahl","Buchstabenliste","ZusatzbuttonClicked","ImageKeeperDiv","Style","Filterliste","TopPossition","BottomPossition","top","bottom","background","Farben","BAEHellgrau","display","AlphabetClickedHandler","SetFilterliste","ngOnChanges","changes","Value","alphabet_1","AlphabetComponent","PageHeader","PageFooter","PageHeaderDiv","nativeElement","clientHeight","PageFooterFrameDiv","auswahl_dialog_1","forms_1","safe_pipe_module_1","AuswahlDialogModule","AuswahlDialogComponent","FormsModule","SafePipeModule","MySelection","Auswahlliste","Auswahlindex","IndexChanged","FirstColumn","SecoundColumn","Data","Auswahldialog","Setup","titel","auswahlliste","auswahlindex","Open","reset","open","firstChange","IndexChangedHandler","detail","isNaN","button_value_date_1","ButtonValueDateModule","ButtonValueDateComponent","Buttontext","Minimum","Maximum","Buttoncolor","InnerBackgroundcolor","Enabled","ElementID","Buttonsize","ShowKW","ValueBreite","TimeChanged","DiabledButtonClicked","DatePicker","Minimumstring","Maximumstring","Tag","Monat","Heute","Jahr","year","Stunde","Minute","month","date","locale","toString","Burnicklbraun","Burnicklgrau","currentValue","FetigButtonClicked","confirm","DateChangedHandler","Resultstring","Parts","split","Datestring","Werte","parseInt","hours","minutes","button_value_1","ButtonValueComponent","Wert_A","Wert_B","Iconfile","Iconcolor","SmallWidth","BigHeight","ShowMargin","Width","ProContent","ProMessage","Buttonvaluecolor","Rechtebreite","Linkebreite","ButtonClicked","DisabledButtonClicked","RGB","Wert_A_String","Buttonvalue","Wert_A_Value","HexToRGB","ButtonClickedHandler","CheckboxClonComponent","Checked","CanUnselect","Background","CheckChanged","ImgSource","Svgpath","PrepareData","DivClickedHnadler","checkbox_clon_component_1","input_clone_component_1","InputCloneKeeperComponent","elRef","List","Inputliste","CheckValid","Inputelement","getElementsByTagName","ViewChildren","InputCloneComponent","input_clone_keeper_component_1","Titelcolor","Debouncetime","ValueChange","MinLength","MaxLength","Clickable","MinHeight","Inputtype","Required","Lines","DisabledColor","OkBorderColor","ParseToFloat","Textcolor","Textsize","Einheit","RequiredBorder","DisabledBorder","OkBorder","Border","Blau","Orange","Ionicfarben","Schwarz","schema","number","text","valid","TextChangedHandler","parseFloat","page_footer_1","PageFooterComponent","MaxFooterhoehe","InitMaximalhoehe","read","ElementRef","page_header_center_1","PageHeaderCenterModule","PageHeaderCenterComponent","menuCtrl","auswahl_dialog_service_1","PageHeaderMenuComponent","DBMitarbeitersettings","Auswahlservice","Suchleiste","Suchleiste2","Sucheiste3","ShowSandortfilter","ShowSuchleiste","Filterorigin","ShowStandorttitle","ShowMitarbeitertitle","ShowProjektetitle","ShowFavoritentitle","SendFestlegungenEnabled","Timelineindex","SucheChanged","StandortfilterClicked","ZeitspanneFilterClicked","LeistungsphaseFilterClicked","FilterChanged","ShowProjektauswahlEvent","ShowProjektfilesEvent","LOPListeZeitspanneEvent","ShowOpenFestlegungOnlyEvent","SendFestlegungenClicked","ShowUngelesenOnlyChanged","ProjektsortierungChanged","EmailDatumChanged","PlanungsmatrixLeistungsphaseClicked","ShowLOPListeInfoeintraegeChanged","ExpandFestlegungeEvent","UrlaubMitarbeiterClicked","UrlaubMitarbeiterMeClicked","JahrButtonClicked","SuchleisteInputSubscription","Suchleiste2InputSubscription","SuchleisteClearSubscription","Suchleiste2ClearSubscription","FavoritenSubscription","Inputtimer","Projektauswahlbreite","Wochentaghoehe","Tagbreite","HomeMouseOver","EmailMouseOver","FilesMouseOver","ShowOpenFestlegungOnly","BackMouseOver","Timelinebreite","LogoutMouseOver","JahrMouseOver","LogoutButtonClicked","Logout","BackButtonClicked","SetCurrentPage","MainMenueButtonClicked","mainmenubereich","FirmaMenueButtonClicked","firmamenubereich","FirmaMenuebereich","ProjekteMenueButtonClicked","projektmenubereich","Aufgabenlisteansicht","Aufgabenlisteansichten","Projekt","UrlaubMenueButtonClicked","urlaubmenubereich","GetProjekteMenueIconcolor","projektemenubereich","GetProjekteMenueFontcolor","GetUrlaubMenueIconcolor","GetUrlaubMenueFontcolor","StandortButtonClicked","ZeitspaneClickedHandler","origin","LeistungsphaseClickedHandler","StatusFilterShowFaelligOnlyChanged","GetZeitfilterButtontext","Auswahloriginvarianten","Aufgabenliste_Zeitfilter","AufgabenTerminfiltervariante","Faelligkeitsterminfiltervarianten","Seit_dem_Zeitpunkt","Bis_zum_Zeitpunkt","Zeitspanne","Nur_diesen_Monat","Nur_diese_Woche","GetZeitfilterButtonwert","Starttag","Endetag","AufgabenTerminfilterStartwert","AufgabenTerminfilterEndewert","MeintagClicked","Mein_Tag","MeineWocheClicked","Meine_Woche","MeilensteineClicked","Meilensteine","ProjektClicked","ProjektfilesClicked","FilebrowserModus","FilebrowserModusvarianten","Current_Projekt","ShowOpenFestlegungOnlyChanged","GetDatumtext","tag","Montag","clone","startOf","add","page_header_menu_component_1","button_value_date_module_1","PageHeaderMenuModule","page_header_1","PageHeaderComponent","PageModalKeeperComponent","OkButtonEneabled","page_modal_keeper_component_1","PageModalKeepermodule","urlausplanung_kalender_1","page_header_center_module_1","UrlausplanungKalenderModule","UrlaubsplanungKalenderComponent","ReactiveFormsModule","ShowProtokollpunkte","Monatindex","AddUrlaubRunning","AddHomeofficerunning","AddHalberUrlaubstagRunning","ShowYear","FeiertagCrossedEvent","FerientagCrossedEvent","AddUrlaubFinishedEvent","AddHomeofficeFinishedEvent","ExternUrlaubstagClickedEvent","Kalendertageliste","KalendertageExternliste","DataSubscription","MonateSubscription","Monatname","ExterneUrlaubSubscription","UrlaubStatusSubscription","HomeofficeStatusSubscription","ExterneHomeofficeSubscription","CurrentTagindex","CurrentWochenindex","CancelUrlaubSubscription","UpdateKalenderSubscription","Monateliste","Monatindexvalue","AddHomeofficerunningvalue","previousValue","CurrentHomeofficecounter","Tageanzahl","Tagesumme","Tagindex","Tage","Wochenanazahl","Monattext","Startdatum","Endedatum","Mitarbeiterindex","Datumsicherung","Kalenderewoche","Wochentagnummer","daysInMonth","MonatStartdatum","hour","minute","MonatEndedatum","isoWeekday","subtract","wochenindex","tagindex","isoWeek","Tagnummer","Datumstring","Hauptmonat","isSameOrAfter","isSameOrBefore","Kalenderwoche","Tagstempel","valueOf","Kalenderwochenhoehenliste","IsFeiertag_DE","CheckIsFeiertag","IsFeiertag_BG","Feiertagname_DE","GetFeiertag","Feiertagname_BG","IsFerientag_DE","CheckIsFerientag","IsFerientag_BG","Ferienname_DE","GetFerientag","Ferienname_BG","Color","IsUrlaub","IsHomeoffice","IsHalberUrlaubstag","CurrentUrlaub","Urlaubzeitspannen","Startstempel","Endestempel","Laendercode","GetUrlaubStatuscolor","Halbertag","isSame","Homeofficezeitspannen","ShowHomeoffice","GetHomeofficeStatuscolor","Status","i","UrlaublisteExtern","CheckDisplayExternenUrlaub","MitarbeiterIDExtern","NameKuerzel","UrlaubZeitspanne","weekday","HomeofficeZeitspanne","PlanungsmonateChanged","ExterneUrlaubeChanged","ExterneHomeofficeChanged","UrlaubStatusChanged","HomeofficeStatusChanged","AddUrlaubCancelEvent","CancelUrlaub","UpdateKalenderRequestEvent","ProjektpunktDateKwPicker","FeietragMouseOverEvent","laendercode","FerientagMouseOverEvent","TagClicked","Wocheindex","EndeDatum","Kalendertag","Anzahl","IsFeiertag","Resturlaub","CurrentUrlaubzeitspanne","Starttagindex","Endetagindex","GetEmptyUrlaubszeitspanne","Startstring","Urlaubsfaben","Geplant","Endestring","Urlaubstatusvarianten","Genehmigt","FreigabeanfrageSended","FreigabeantwortSended","FreigabeantwortOfficeSended","Planungmeldung","CountResturlaub","setTimeout","CurrentHomeofficezeitspanne","GetEmptyHomeofficezeitspanne","Homeofficefarben","GetMonatname","GetTagBackground","GetMaxExternUrlaubseintraege","Eintraege","Max","ExternUrlaubstagClicked","common_einstellungen_page_1","page_header_menu_module_1","auswahl_dialog_module_1","component","CommonEinstellungenPage","forChild","Vertreterliste","Freigeberliste","ShowAuswahl","Auswahltitel","DebugNoExternalEmaillCheckedChanged","DebugNoExternalEmail","SaveAppeinstellungen","ShowHomescreeninfosChanged","ShowHomeScreenInfos","StartseiteChangedHandler","location","replace","ApplicationURL","WartungsmodusCheckChanged","Urlaub","CurrentZeitspanne","Vertreter","Freigeber","Urlaubsliste","currenturlaub","Vertreteranfrage","Konversation","Vertretungskonversationliste","VertreterID","Vertretungenanfragenanzahl","UrlaubanfrageReminderSended","Vertreterfreigabe","Standorteliste","FreigeberID","Freigabenanfragenanzahl","FreigberCheckedChanged","VertreterCheckedChanged","SendUrlaubReminderMail","_this2","SendVertreterreminder","SendFreigabereminder","common_home_page_1","fi_changelog_editor_module_1","CommonHomePage","security_service_1","DBChangelog","Security","Title","StandortMouseOver","MitarbeiterMouseOver","ProjekteMouseOver","FavoritenMouseOver","DebugMouseOver","EinstellungenMouseOver","PlayMouseOver","BackgroundimageURL","Backgroundinterval","ShowChangelogEditor","ChangelogSubscription","ReloadMouseOver","UrlaubMouseOver","random","CheckSecurity","ChangeloglisteChanged","msalSubject$","msg","eventType","EventType","LOGIN_SUCCESS","payload","instance","setActiveAccount","account","ionViewDidEnter","Nummer","ionViewDidLeave","FavoritChangedHandler","DebugButtonClicked","DebugPage","EinstellungenButtonClicked","EinstellungenPage","LoginButtonClicked","Login","StandorteButtonClicked","FiStandortelistePage","MitarbeiterButtonClicked","FiMitarbeiterlistePage","PlanerButtonClicked","ProjekteButtonClicked","PjListePage","FavoritenButtonClicked","PjFavoritenlistePage","PlayButtonClicked","GetFavoritenlistehoehe","Favoritenliste","AddChangelogClicked","GetEmptyChangelog","ChangelogClicked","Changelog","Changlogliste","AppVersionName","Version","AppVersionDatum","CountMitarbeiter","CountProjekte","RelaodButtonClicked","CheckAllMitarbeiterdaten","common_urlaub_einstellungen_page_1","urlausplanung_kalender_module_1","fi_mitarbeiter_editor_module_1","fi_mitarbeiter_auswahl_module_1","CommonUrlaubEinstellungenPage","lodash_es_1","DBMitarbeiterstettings","Loadinganimation","Auswahlhoehe","Auswahldialogorigin","ShowMitarbeiterauswahl","MitarbeiterauswahlTitel","Projektbeteiligteliste","Urlaubsfreigeberliste","Homeofficefreigeberliste","MitarbeiterMultiselect","Ferienliste","Feiertageliste","MeassureInnercontent","Init","CheckSetup","CountAnfragenanzahlen","GetMitarbeiterByID","MitarbeterID","MitarbeiterauswahlOkButtonClicked","idliste","UrlaubEinstellungen_Projektbeteiligte_Auswahl","beteiligt","Display","findIndex","Urlaubsplanung_Mitarbeiter_Wechseln","MitarebiterStandortfilterClickedHandler","UrlaubEinstellungen_Standort_Filter","AuswahlOkButtonClicked","data","StandortFilter","UpdateMitarbeitersettings","Urlaubsplanung_Jahr_Aendern","CurrentJahr","ShowLoadingAnimation","HideLoadingAnimation","MitarbeiterAuswahlClicked","eintrag","stempel","CheckFerienBlocker","Anfangstempel","Ferienblockerliste","FerienBlockedChanged","CheckFeiertagBlocker","Feiertageblockerliste","FeiertagBlockedChanged","MitarbeiterWechselnClicked","UrlaubMitarbeiterMeClickedHandler","JahrButtonClickedHandler","Nextjahr","j","Startjahr","common_urlaub_freigaben_page_1","CommonUrlaubFreigabenPage","Message","Flagsource","LegendeVisible","Legendehoehe","Legendebreite","Homeofficefreigabenliste","Homeofficestatusvarianten","Freigabeanfrage","InnerContenthoehe","SetPlanungsmonate","GetDatumlangtext","UrlaubAnfargen_Standort_Filter","VerteretungStatusChangedHandler","FreigabeStatusChangedHandler","CheckVertretungUpdateButtonEnabled","Mitareiter","Available","VertreterantwortSended","Vertreterablehnung","UrlaubSuchen","CurrentMonatindex","CheckFreigabeUpdateButtonEnabled","Abgelehnt","SendVertretungUpdate","_this3","UpdateVertreterantworten","FerientagCrossedEventHandler","Daten","DisplayExternCheckChanged","Beteiligt","Urlaubindex","DisplayMeinenUrlaubCheckChanged","UrlaubShowMeinenUrlaub","MonatBackButtonClicked","MonatForwardButtonClicked","FeiertagCrossedEventHandler","MonatButtonClicked","GetMonatButtonColor","AnsichtFerientageCheckChanged","landcode","UrlaubShowFerien_DE","ShowFerientage_DE","UrlaubShowFerien_BG","ShowFerientage_BG","AnsichtFeiertageCheckChanged","UrlaubShowFeiertage_DE","ShowFeiertage_DE","UrlaubShowFeiertage_BG","ShowFeiertage_BG","GetStellvertretername","MitarbeieterID","SendFreigabeUpdate","_this4","UpdateFreigabenantworten","HomeofficeGenehmigeAll","HomeofficeAblehnenAll","SendHomeofficeUpdate","_this5","SendHomeofficeFreigabeantworten","CheckHomeofficeUpdateButtonEnabled","GetPlanungmeldung","Vertretunganfragezeitstempel","Vertretungantwortzeitstempel","CheckHasAnfragen","HasAnfragen","HomeofficeSuchen","ExternUrlaubstagClickedEventHandler","mitarbeiterid","ShowHomeofficeChanged","common_urlaub_gesamtuebersicht_page_1","CommonUrlaubGesamtuebersichtPage","Ansichtenvarinaten","Gesamtjahr","HalbjahrEins","HalbjahrZwei","Ansichtvariante","Standortliste","Mitrbeiterliste","Kalenderwochenliste","Headerhoehe","UrlaubPlanung_Standort_Filter","NextStandort","CurrentKW","ShowInGesamtuebersicht","standort","StandortCheckChanged","MitarbeiterCheckChanged","SettingsCheckedChanged","GesamtuebersichtSetting","ShowGeplant","ShowVertreteranfragen","ShowVertreterfreigaben","ShowVertreterablehnungen","ShowUrlaubsgenehmigungen","ShowUrlaubsablehnungen","SettingsHomeofficeCheckedChanged","ShowHomeofficeGeplant","ShowHomeofficeAnfrage","ShowHomeofficeGenehmigt","common_urlaub_planung_page_1","CommonUrlaubPlanungPage","Monateliste_Uebersicht","Monateliste_Mounseover","BundeslandAuswahlliste","ShowMitarbeitereditor","AddHomeofficeRunning","Urlaubsliste_Bundesland","Bundeslandkuerzel","Urlaubsplanung_Status_Aendern","ZeitspannenID","Freigabeantwortzeitstempel","FreigabeantwortOfficezeitstempel","VertreteranfrageSended","UrlaubsvertreterIDListe","UpdateVertreteranfragen","SendOfficeFreigabezusage","test","AddUrlaub","AddHalbenUrlaubstag","AddHomeofficeStart","AddUrlaubFinishedHandler","UrlaubLoeschen","Zeitspannen","AnsichtCheckChanged","UrlaubShowBeantragt","UrlaubShowVertreterfreigabe","UrlaubShowGenehmigt","UrlaubShowAbgelehnt","Urlaubsplanung_Vertreter_Festlegen","InitVertreterkonversationen","StellvertreterFestlegenClicked","CheckUrlaubUpdatesAvailable","Betriebsurlaub","CheckHomeofficeUpdatesAvailable","CheckUrlaubLoschenEnabled","CheckHomeofficeLoschenEnabled","Satus","CancelDatumClicked","StatusClickedHandler","AddHomeofficeFinishedHandler","SaveHomeofficeEventHandler","ZeitspanneCheckChanged","BetriebsurlaubCheckedChanged","Vertretungmeldung","MitarbeiterMeWechselnClickedHandler","common_urlaub_uebersicht_page_1","CommonUrlaubUebersichtPage","Monateliste_Gesamtjahr","Monateliste_HalbjahrEins","Monateliste_HalbjahrZwei","UrlaubUebersicht_Standort_Filter","HalbjahrEinsButtonClicked","HalbjahrZweiButtonClicked","common_wartung_page_1","CommonWartungPage","fi_mitarbeiterliste_1","ListeSubscription","HideAuswahl","Zusatzbuttonliste","Listenbreite","ShowEditor","StandortfilterSubsciption","ShowMeOnly","ShowArchivierte","ShowAktuelle","Freigabefiltervarianten","Keiner","Administrator","Freigabefilter","MitarbeiterlisteChanged","ResetSucheButtonClicked","Alphabetbreite","AddMitarbeiterButtonClicked","GetEmptyMitarbeiter","Quelle","GetDialogTitel","StandortClickedHandler","Mitarbeiter_Editor_Standort","Mitarbeiter_Editor_Anrede","Mitarbeiter_Editor_Urlaub","Mitarbeiter_Liste_Position","PositionID","Mitarbeiter_Liste_Standortfilter","GetDialogTitelicon","StandortFilterClickedHandler","ShowMeCheckedChanged","ShowArchivierteChanged","AnredeClickedEventHandler","UrlaubClickedEventHandler","toFixed","ShowAktuelleChanged","GetStandortliste","FreigabefilterChanged","PositionClickedEventHandler","Mitarbeiterpositionenliste","ResturlaubClicked","fi_standorteliste_1","fi_standort_editor_module_1","page_modal_keeper_module_1","Standortealphabet","Standortealphabetauswahl","Standortebuchstabenliste","Standortefiltertext","Standortefilter","EditorValid","StandortelisteChanged","AddStandorteButtonClicked","GetEmptyStandort","GetStandorteAlphabetbuchstabe","EditorValidChanged","SucheChangedHandler","Standorteeditor_Land","Standorteeditor_Bundesland","Standorteeditor_Konfession","LandClickedEventHandler","BundeslandClickedEventHandler","KonfessionClickedEventHandler","CheckMitarbeiterIsStandortUrlaubsfreigabe","CheckMitarbeiterIsStandortHomeofficefreigabe","safe_pipe_1","SafePipe","sanitizer","transform","type","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","Pipe","name","AuswahlDialogService","Projekteliste_Standortfiler","Projekteliste_Editor_Leistungsphase","Projekte_Editor_Standort","Projekte_Editor_Mitarbeiterauswahl_Projektleiter","Projekte_Editor_Mitarbeiterauswahl_Stellvertreter","Projekte_Editor_Mitarbeiterauswahl","Projekte_Editor_Mitarbeiterauswahl_Standortfilter","Projekte_Editor_Projektstatus","Projekte_Editor_Firmeneditor_Fachbereich","Projekte_Editor_Beteiligteneditor_Fachfirma","Favoriten_Editor_Projekteauswahl_Standortfilter","Mitarbeiter_Editor_Fachbereich","Aufgabenliste_ZustaendigExtern","Aufgabenliste_ZustaendigIntern","Aufgabenliste_Fortschritt","Aufgabenliste_Filter_Zeitspanne","Aufgabenliste_Editor_Fachbereich","Aufgabenliste_Editor_Status","Aufgabenliste_Editor_Standortfilter","Aufgabenliste_Editor_ZustaendigExtern","Aufgabenliste_Editor_ZustaendigIntern","Aufgabenliste_Editor_Leistungsphase","Aufgabenliste_Editor_Kostengruppe","Aufgabenliste_Editor_Verfasser","Aufgabenliste_Editor_AnmerkungenVerfasser","Aufgabenliste_Meintageintrag_Status","Aufgabenliste_Meintageintrag_Termin","Festlegungsliste_Editor_Leistungsphase","Festlegungsliste_Leistungsphasefilter","Festlegungliste_Emaileditor_Standortfilter","Festlegungliste_Editor_Status","Festlegungliste_Editor_Fachbereich","Festlegungliste_Editor_Kostengruppe","Festlegungliste_Editor_ZustaendigExtern","Festlegungliste_Editor_ZustaendigIntern","Festlegungliste_Emaileditor_Intern_Empfaenger","Festlegungliste_Emaileditor_Intern_CcEmpfaenger","Festlegungliste_Emaileditor_Extern_Empfaenger","Festlegungliste_Emaileditor_Extern_CcEmpfaenger","Bautagebuchliste_Emaileditor_Intern_Empfaenger","Bautagebuchliste_Emaileditor_Intern_CcEmpfaenger","Bautagebuchliste_Emaileditor_Extern_Empfaenger","Bautagebuchliste_Emaileditor_Extern_CcEmpfaenger","Bautagebuchliste_Bautagebucheditor","Protokollliste_Editor_Leistungsphase","Protokollliste_Editor_Kostengruppe","Protokollliste_Protokolleditor_Teamteilnehmer","Protokollliste_Projektpunkteditor_Teamteilnehmer","Protokollliste_Protokolleditor_Beteilgtenteilnehmer","Protokollliste_Projektpunkteditor_Beteilgtenteilnehmer","UrlaubEinstellungen_Freigeber_Auswahl","Protokollliste_Emaileditor_Extern_Empfaenger","Protokollliste_Emaileditor_Extern_CcEmpfaenger","Protokollliste_Emaileditor_Intern_Empfaenger","Protokollliste_Emaileditor_Intern_CcEmpfaenger","LOPliste_Emaileditor_Extern_Empfaenger","LOPliste_Emaileditor_Extern_CcEmpfaenger","LOPliste_Emaileditor_Intern_Empfaenger","LOPliste_Emaileditor_Intern_CcEmpfaenger","Protokollliste_Editor_Standortfilter","Protokollliste_Projektpunkteditor_Status","Protokollliste_Projektpunkteditor_Fachbereich","Simontabelle_Editor_Emailempfaenger","Emailliste_Projektpunkteditor_Fachbereich","Emailliste_Editor_ZustaendigIntern","Emailliste_Editor_ZustaendigExtern","Emailliste_Beteiligteneditor_Projektauswahl","Protokollliste_Filter_Leistungsphase","Protokollliste_Filter_Zeitspanne","LOPListe_LOPListeeditor_InternTeilnehmer","LOPListe_LOPListeeditor_ExternTeilnehmer","LOPListe_Thumnailsize","LOPListe_Eintrageditor_ZustaendigExtern","LOPListe_Eintrageditor_ZustaendigIntern","LOPListe_Eintrageditor_Standortfilter","LOPListe_Eintrageditor_Fachbereich","LOPListe_Eintrageditor_Status","LOPListe_Eintrageditor_Prioritaet","LOPListe_Eintrageditor_AnmerkungVerfasser","LOPListe_Eintrageditor_Verfasser","LOPListe_Emaileditor_Intern_Empfaenger","LOPListe_Emaileditor_Intern_CcEmpfaenger","LOPListe_Emaileditor_Extern_Empfaenger","LOPListe_Emaileditor_Extern_CcEmpfaenger","Service","Injectable","providedIn","Footerhoehe","Waittime","AppBuild","WebAppUrl","BAEBlau","Gruen","Burnicklgruen","Grau","Bordercolor","ButtongrauDisabled","BurnicklGruen","BurnicklGrau","BurnicklBraun","Silber","Weiss","Rot","Dunkelblau","Braun","Teal","Gelb","header","footer","_MitarbeiterdatenKeys","Typ","Telefon","Mobil","Zeit","Aktiviert","Verified","OS","Passwort","Rechte","Working","KolonnenfuehrerID","Settings","Startseitensetup","Zeitmonatsuebersichtsetup","Zeitjahresuebersichtsetup","KolonnenmitgliederIDListe","Regelarbeitszeit","Datastatus","Formelsammlung","Schaltplaene","Steckerbelegungen","Shortcuts","Baustelle","Aufgaben","Material","Arbeitstag","Tagebuch","News","Zeiterfassung","Zeituebersicht","Zeiterfassungsetup","Kamerasettings","LastDokumentID","Tagebuchsetup","_Loginstatusvarianten","ok","out","_Playermodus","Stopped","Running","Paused","_Dialogmessages","no","cancel","delete","wahla","wahlb","_Mitarbeiterpossitionen","Teamleiter","Keine","_Nachrichtentypen","Aufgabe","AufgabeFinished","MaterialFinished","Notiz","Zeitmarke","Teambeitritt","Teamaustritt","Zeitdaten","Tagebuchbildrequest","TagebuchbildrequestFinished","_Nachrichtendirections","OUT","IN","_Adressbuchtypen","Firma","Solo","_Mitarbeitertypen","Firmengruender","_Projektpunktdetailtyp","Statusmeldung","Nextstep","_Platformliste","WEB","ANDROID","IOS","_Startseitensetupvarianten","_Orientationvarianten","Landscape","Portrait","_Virtualitemvarianten","Alphabet","Abstand","Button","_Kartenadressentyp","Kontakte","Mitarbeiter_Arbeit","Mitarbeiter_Privat","_Pages","RegistrierungPage","StartseitePage","IntroPage","ShortcutsEditorPage","EmailzentralePage","PasswortVergessenPage","TestPage","ErrorPage","PDFViewerPage","FiMitarbeiterauswahlPage","FiMitarbeiterSettingsPage","PjGebaeudestrukturBearbeitenPage","PjGebaeudestrukturBauteilBearbeitenPage","PjGebaeudestrukturGeschossBearbeitenPage","PjGebaeudestrukturRaumBearbeitenPage","PjGebaeudestrukturRaumMarkierenPage","PJProjektbeteiligtelistePage","PjEmailzentralePage","PjProtokollSendeberichtPage","PjFestlegungkategorieeditorPage","PjFilebrowserPage","_Treeitemtypvarianten","Strukturknoten","Struktureintrag","Strukturchild","Dateneintrag","Datenchild","Datenknoten","_Planlistentyp","Gesamtgebaeude","Bauteil","Geschoss","_Dokumentelementtypen","Betriebsmittel","Anmerkung","Markierung","_Planmodusvarianten","RaumMarkieren","RaumMarkierenZoomen","SkalierePlan","ViewPlan","PlanMessen","RaumbuchUebersicht","RaumbuchEditorZoom","RaumbuchEditorPlaceBetriebsmittel","RaumbuchEditorReplaceBetriebsmittel","RaumbuchEditorBearbeiteBetriebsmittel","RaumbuchEditorResizeAnmerkung","RaumbuchEditorPlaceAnmerkung","RaumbuchEditorReplaceAnmerkung","RaumbuchEditorSetAnmerkungLocation","_Zeiteintraegetypen","Platzhalter","Externtag","Freizeit","Abwesenheit","Arbeitszeit","Regiearbeitszeit","Feiertag","Krankenstand","Ueberstunden","Zeitrahmendaten","Leerzeit","Zusatzzeit","Leer","Ungenutzt","Summe","_Tagtypen","Urlaubstag","Krankenstandtag","Keintag","_Tageseditormodus","_Devicenamen","iPhone","iPhone_XsMax_Xr","iPhone_X_Xs","iPhone_6p_6sp_7p_8p","iPhone_6_6s_7_8","iPhone_5_5s_5c_SE","iPad","iPad_9_Zoll","iPad_10_Zoll","iPad_12_Zoll","Unbekannt","_Beteiligteneintragtypen","Person","_Fachfirmentypen","Typnummer","Elektroinstallateur","Heizungsinstallateur","Lueftungsinstallateur","Sanitaerinstallateur","Rohbaufirma","Tiefbaufirma","Blitschutzbauer","Dachdecker","Zimmerei","Schreiner","Medientechnik","Fussbodenlegen","Estrichleger","Fliesenleger","Foerderanlagenbauer","_Anlagengruppen","Anlagengruppe_1","Anlagengruppe_2","Anlagengruppe_3","Anlagengruppe_4","Anlagengruppe_5","Anlagengruppe_6","Anlagengruppe_7","Anlagengruppe_8","_Leistungsphasenvarianten","UNBEKANNT","LPH1","LPH2","LPH3","LPH4","LPH5","LPH6","LPH7","LPH8","_Beteiligtentypen","Kurzname","Architekt","Elektroplaner","HLSplaner","Fachplaner","Tragwerksplaner","Aussenanlagenarchitekt","Bauherr","Nutzer","Pruefsachverstaendiger","Projektsteurer","Ausfuehrungsfirma","Objektueberwacher","ITAbteilung","Ausfuehrungsfirma_HLS","Ausfuehrungsfirma_ELT","Ausfuehrungsfirma_BMA","Ausfuehrungsfirma_Blitzschutz","Ausfuehrungsfirma_H","Ausfuehrungsfirma_L","Ausfuehrungsfirma_S","Ausfuehrungsfirma_Rohbau","Ausfuehrungsfirma_Tiefbau","Ausfuehrungsfirma_GALA","Ausfuehrungsfirma_Aufzug","_Editormodusvarianten","Neu","Bearbeiten","Anzeigen","Blocked","Filter","_Eventvarianten","Kontaktauswahl","Kontakteliste","Kontaktaenderung","Zeitdatenfavoriten","ClearThumbnailmessage","BaustellenbereichWahl","TeamChanged","AuthenticationReady","BesprechungsteilnehmerExtern","BesprechungsteilnehmerIntern","ZustaendigkeitExtern","ZustaendigkeitIntern","Emailempfaenger","Emailkopieempfaenger","_ZeiterfassungBerichttypen","Jahresbericht","Monatsbericht","Wochenbericht","Tagesbericht","_Fehlermeldungtypen","Script","Sql","Transaction","Firebase","_Syncstatusvarianten","Finished","Deviceeerror","Interneterror","Datenerrror","Synchron","Asynchron","Uptodate","Servererror","Databaseerror","Unvollstaendig","_Leistungsverzeichniskeys","BoQBody","Award","AwardInfo","Remark","BoQCtgy","BoQInfo","LblTx","Itemlist","Item","Description","CtlgAssign","_Screensizekategorien","XS_0","SM_1","MD_2","LG_3","XL_4","_Leistungsverzeichnisitemtypen","Hinweistext","_Dokumentersteller","Intern","Hersteller","Planungsbuero","_Projektstatusvarianten","Bearbeitung","Abgeschlossen","Ruht","_Faelligkeitsstatus","Faellig","Ueberfaellig","Nicht_faellig","_Zeitfilter","Alle","Morgen","Zweitage","Woche","Naechstewoche","Zweiwochen","Vierwochen","Gestern","Vorgestern","ZweitageVorher","WocheVorher","ZweiwochenVorher","MonatVorher","_Dokumententyp","Grundriss","Verteilerbereiche","Elektroinstallation","Erdung_Blitzschutz","Schema","Leerrohrplanung","HLS","S_und_D","_Faelligkeitsspannen","Diese_Woche","Naechste_Woche","Fuenf_Arbeitstage","Zehn_Arbeitstage","Fuenfzehn_Arbeitstage","_Anredevariante","_Zeitansatzeinheitvarianten","_Projektpunktprioritaetstypen","Niedrig","Statusnummer","Displayname","Mittel","Hoch","_Projektpunktstatustypen","Offen","LOPColor","Protokollpunkt","Geschlossen","Ruecklauf","Festlegung","_Startterminfiltervarianten","_Faelligkeitsterminfiltervarianten","_AufgabenSortiermodusvarianten","TermineAbsteigend","TermineAufsteigend","Fehlermeldungtypen","Dialogmessages","Projektpunktstatustypen","Zeitfilter","Projektstatusvarianten","Faelligkeitsstatus","Beteiligtentypen","Fachfirmentypen","Beteiligteneintragtypen","Anredevariante","Zeitansatzeinheitvarianten","AufgabenSortiermodusvarianten","Projektpunktprioritaetstypen","Leistungsphasenvarianten","Anlagengruppen","DatabaseAppeinstellungenService","http","ServerUrl","CockpitdockerURL","headers","HttpHeaders","reject","AppeinstellungenObservable","get","GetEmptyAppeinstellungen","AddAppeinstellungen","UpdateAppeinstellungen","Observer","resove","post","put","ne","DatabaseAuthenticationService","msalGuardConfig","router","MSALService","DevelopmentUser","ShowLogin","homeAccountId","localAccountId","tenantId","Account","Accounts","getActiveAccount","getAllAccounts","acountliste","RequestToken","scope","accessTokenRequest","acquireTokenSilent","catchError","err","errorCode","of","response","accessToken","Popup","loginPopup","loginRedirect","logoutPopup","postLogoutRedirectUri","mainWindowRedirectUri","logoutRedirect","canLoad","route","navigate","Inject","DatabaseChangelogService","GetChangelog","Deleted","UpdateChangelogliste","changelog","unshift","currentchangelog","Params","HttpParams","DatabaseMitarbeiterService","ServerMitarbeiterUrl","ServerMitarbeiterpositionUrl","graphuser","Jobtitle","surname","givenName","jobTitle","officeLocation","mobilePhone","Jobtitel","businessPhones","Location","A","B","GetMeinewocheStunden","Stunden","Minuten","Meinewocheliste","Montagseinsatz","Montagsstunden","Montagsminuten","Dienstagseinsatz","Dienstagsstunden","Dienstagsminuten","Mittwochseinsatz","Mittwochsstunden","Mittwochsminuten","Donnerstagseinsatz","Donnerstagsstunden","Donnerstagsminuten","Freitagseinsatz","Freitagsstunden","Freitagsminuten","Fachbereich","Zeitstring","Meintagliste","GetMitarbeitername","mitarbeiter","__v","UpdateMitarbeiterliste","GetPositionsbezeichnung","Mitarbeiterposition","mitarbeiterposition","UpdateMitarbeiterpositionliste","MitarbeiterpositionenlisteChanged","GetMitarbeiterByEmail","GetMitarbeiterByGraph","fromObject","params","DeleteMitarbeiter","GetHomeofficefreigeberliste","GetUrlausbsfreigeberliste","DatabaseMitarbeitersettingsService","ServerSettingsUrl","MitarbeitersettingslisteChanged","settings","ansicht","ProjektID","Aufgabenansicht","UpdateMitarbeitersettingsliste","Mitarbeitersettingsliste","currentsetting","AddMitarbeitersetting","setting","Setting","uuid_1","DatabasePoolService","Http","CockpitserverURL","Mitarbeiterstandort","MitarbeiterdatenHasError","Emailcontent","Emailcontentvarinaten","MitarbeiterdatenChanged","Signatur","Protokoll","GetFilledSignatur","local","join","MitarbeiterObservable","MitarbeiterpositionnObservable","ChangelogObservable","StandortObservable","SettingsObservable","GetNewUniqueID","v4","GetNewMitarbeitersettings","FavoritenID","Favoritprojektindex","LeistungsphaseFilter","HeadermenueMaxFavoriten","AufgabenSortiermodus","AufgabenMeilensteineNachlauf","AufgabenShowMeilensteine","AufgabenShowNummer","AufgabenShowStartdatum","AufgabenShowAufgabe","AufgabenShowBemerkung","AufgabenShowTage","AufgabenShowTermin","AufgabenShowStatus","AufgabenShowFortschritt","AufgabenShowZustaendig","AufgabenShowMeintag","AufgabenShowZeitansatz","AufgabenShowMeinewoche","OberkostengruppeFilter","HauptkostengruppeFilter","UnterkostengruppeFilter","LOPListeGeschlossenZeitfilter","DatabaseStandorteService","GetStandort","standortid","Zeitpunkt","GetUniqueStandortID","UpdateStandortliste","currentstandort","DatabaseUrlaubService","Graph","LastMonatIndex","FirstMonatIndex","Ferienfarbe_DE","Ferienfarbe_BG","Feiertagefarbe_DE","Feiertagefarbe_BG","ServerReadfeiertageUrl","ServerReadRegionenUrl","ServerReadFerienUrl","Vertretrungliste","Urlaubfreigabenliste","Vertretungsanfragenanzahl","Vertretungsantwortenanzahl","Freigabenantwortenanzahl","Urlaubsanfragenanzahl","Homeofficeanfragenanzahl","Homeofficantwortenanzahl","Antwortenanzahl","CorrectSetup","Officeemailadress","Ferientag","Ferien_DE","Ferien_BG","Feiertage_DE","Feiertage_BG","Wochenende","Urlaubsfreigeberanzahl","Homeofficefreigeberanzahl","GetFreigabenliste","CountAnfrage","CountAntwort","PersonOk","urlaub","InitUrlaubzeitspanne","CheckUrlaubFreigabeanwortAge","CheckHomeofficeFreigabeanwortAge","GetVertretungkonversation","CheckVertretungsanwortAge","Dauer","duration","diff","asMinutes","GetVertretungsanwortAge","CheckMitarbeiterIsVertretung","Ergo","CheckMitarbeiterIsOffeneVertretung","GetVertretungenliste","Vertretung","CountAntworten","Freigabe","GetUrlaubStatuscolorSplit","checkanfragesended","Anfrage","VertreterIDListe","CurrentUrlaubzeitspannen","UpdatedZeitspannen","Empfaengerliste","Freigebender","Empfaengerlistetext","emailAddress","address","CurrentVertreterID","SendVertreteranfragen","concat","Freigabemeldung","SendBetriebsurlaubFreigabeanfrage","UpdateHomeofficefreigabeanfragen","CurrentHomeofficezeitspannen","UpdatedHomeofficezeitspannen","SendHomeofficefreigabeanfrage","CheckUrlaubsfreigeberAvailable","CheckHomeofficefreigeberAvailable","CountUrlaubsvertretungen","Gesamtanzahl","Freigeberlistetext","FreigabeReady","SendVertreterzusage","SendVertreterabsage","SendFreigabeanfrage","Betreff","Nachricht","Empfaenger","SendMail","Zeitspannenanzahl","SendAntwort","SendMitarbeiterHomeofficeFreigabeablehnung","SendMitarbeiterHomeofficeFreigabezusage","SendMitarbeiterFreigabeablehnung","SendMitarbeiterFreigabezusage","NextKonversation","NextMitarbeiter","GoOn","UrlaubsfreigeberID","UrlaubsvertreterID","Landcode","RegionenObserver","region","FerienObserver","Gesamturlaub","Urlaubstage","GetEmptyUrlaub","Urlaubzeitspanne","Homeofficezeitspanne","InitHomeofficezeitspanne","NameExtern","spanne","Homeoffizezeitspanne","Reset","jahr","CurrentTag","IsFerientag","CheckIsUrlaubstag","IsUrlaubstag","CheckIsHomeofficetag","Homeoffice","GetFeriennamen","ferientag","language","GetFeiertagnamen","feiertag","Blockerdatum","currenttag","Feiertagdatum","CountHomeoffice","Gesamthomeoffice","CountHomeGeplant","CountHomeFreigbeanfragen","CountHomeGenehmigt","CountHomeAbgelehnt","mitrbeiterid","HomeofficeLoeschen","_this6","Homeofficeliste","GetHomeofficezeitspannenByStataus","Gesamtliste","CheckVertretungIsAbgelehnt","GetUrlaubStatuscolorByKonversation","error_service_1","nav","Fehlerservice","Provider","Directive","Debugmessageliste","script","funktion","typ","Skript","Function","error2","code","stack","Projekteditor","Beteiligteneditor","Firmeneditor","Favoriteneditor","Favoritenauswahl","Projekteauswahl","Bauteileditor","Geschosseditor","Raumeditor","AufgabeProjektauswahl","Projektpunteditor","Beteiligteauswahl","Firmenauswahl","Protokolleditor","Kostengruppenauswahl","Raumauswahl","Protokolllistefilter","Aufgabenlistefilter","Meinewocheeditor","ProjektpunktStatusDatePicker","Verzeichnisauswahl","Bilderauswahl","Outlookkontakteauswahl","ProjektSendeEmail","Bautagebucheditor","Bautagebucheintrageditor","LOPListeEditor","LOPListeEintragEditor","Planungsmatrixeintrageditor","Notizenkapiteleditor","Festlegungkategorieneditor","Simontabelleeditor","Simontabellelesitungeditor","RechnungEditor","Dialogliste","ResetDialogliste","zindex","Dialog","Dialogname","forEach","dialog","ShowOpacity","Wert","ErrorService","Fehlermeldung","CanGoBack","microsoft_graph_client_1","Graphservice","domSanitizer","ImageZoomOut","UserimageSRC","TeamsRootfilelist","TeamsCurrentfilelist","TeamsSubdirectorylist","CurrentTeamsID","CurrentPDFDownload","KalenderKW","BAESiteID","Alle_Projekte","token","graphClient","Client","init","authProvider","done","api","select","GetEmptyTeamsfile","cTag","createdBy","user","displayName","createdDateTime","eTag","fileSystemInfo","lastModifiedDateTime","lastModifiedBy","parentReference","driveId","driveType","shared","size","webUrl","GetSiteSubdirictoryfilelist","file","showfiles","Dateiliste","Verzeichnisliste","isfolder","DownloadPDFTeamsFile","teamsid","Download","context","url","DownloadPDFSiteFile","DownloadPDFSiteFileViaLink","fileid","Link","document","createElement","body","appendChild","href","click","remove","TestGraph","GroupID","version","TeamsCheckFileExists","directoryid","filename","_this7","FileExists","Fileeintrag","folder","SiteCheckFileExists","_this8","GetTeamsSubDirectory","dirid","_this9","GetSiteSubDirectory","_this10","_this11","Userliste","Valueliste","nexturl","count","currentuser","_this12","sendMail","subject","contentType","content","toRecipients","saveToSentItems","_this13","responseType","ResponseType","BLOB","URL","createObjectURL","statusCode","GetOtherUserimage","userid","_this14","UserImageSRC","Loader","AjaxTime","title","HTML","Options","spinner","cssClass","showBackdrop","enableBackdropDismiss","translucent","dismissOnPageChange","Date","getTime","create","res","present","wait","WaitTime","TotalTime","dismiss","Fileliste","FirmaMenuebereiche","Standorte","Favoriten","Play","FilelisteAufrufer","FilelisteAufrufervarianten","Protokollliste","ImageZoom","PushPage","Navparameter","NavListe","Debugstatus","RemovePage","Lastpage","splice","PrintNavliste","AddPage","page","SetRootpage","SecurityService","Securitystatus","angular_2","navparameter_1","moment_2","NavParameter","alertCtrl","UID_Counter","IsRunningOnDeviceFirstTime","DialogMessage","IsRunningOnDeviceValue","IsNumeric","n","isFinite","GetButtonvalueSize","GetDatumFromZeitstempel","GesendetZeitstempel","GetZeitFromZeitstempel","GenerateFilename","extention","nummer","key","zahl","GenerateProjektkey","DeepCompareObjectarrays","ListeA","ListeB","Changed","Keyliste","EintragA","EintragB","Object","keys","Key","JSONCompareObjectarrays","JSON","stringify","CompareObjectarrays","ShowEntscheidungDialog","buttons","handler","ShowAuswahlDialog","inputs","label","checked","role","RemoveNullFromObject","obj","FormatCurrency","amount","decimalCount","decimal","thousands","Math","abs","negativeSign","Number","slice","FormatNumber","FormatMoney","FormatValue","wert","einheit","kommastellen","Ausgabe","round","GetUniqueID","hex","bigint","r","g","navigateRoot","animated","navigateForward","PopPage","navigateBack","GetBogenmass","winkel","PI","GetGradmass","IstGerade","IstUngerade","RundenDezimal","precision","multiplier","pow","Runden","stellen","Zahl","GetZeitstempelwert","GetZeitpunkttext","GetTimebasedID","monat","FormatLinebreaks","ReplaceSonderzeichen","RundenAsText","CheckArray","CheckObject","Array","CheckEmail","platform_browser_dynamic_1","app_module_1","enableProdMode","platformBrowserDynamic","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[85,86,117]} \ No newline at end of file