{"version":3,"sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auto-generated/auto-generated.component.ts","./src/app/auto-generated/auto-generated.component.html","./src/app/dateField.directive.ts","./src/app/decimal-numbers-Max.directive.ts","./src/app/even-numbers-Max.directive.ts","./src/app/german-date-adapter.ts","./src/app/layoutSize.ts","./src/app/pages/Mitarbeiterverwaltung/anrede.service.ts","./src/app/pages/Mitarbeiterverwaltung/branche.service.ts","./src/app/pages/Mitarbeiterverwaltung/components/feiertage-form-dialog/feiertage-formdialog.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/feiertage-form-dialog/feiertage-formdialog.component.html","./src/app/pages/Mitarbeiterverwaltung/components/feiertage-table/feiertage-table.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/feiertage-table/feiertage-table.component.html","./src/app/pages/Mitarbeiterverwaltung/components/firma-form-dialog/firma-formdialog.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/firma-form-dialog/firma-formdialog.component.html","./src/app/pages/Mitarbeiterverwaltung/components/firma-table/firma-table.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/firma-table/firma-table.component.html","./src/app/pages/Mitarbeiterverwaltung/components/firmazeiten-form-dialog/firmazeiten-formdialog.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/firmazeiten-form-dialog/firmazeiten-formdialog.component.html","./src/app/pages/Mitarbeiterverwaltung/components/mitarbeiter-filter/mitarbeiter-filter.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/mitarbeiter-filter/mitarbeiter-filter.component.html","./src/app/pages/Mitarbeiterverwaltung/components/mitarbeiter-form-dialog/mitarbeiter-formdialog.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/mitarbeiter-form-dialog/mitarbeiter-formdialog.component.html","./src/app/pages/Mitarbeiterverwaltung/components/mitarbeiter-table/mitarbeiter-table.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/mitarbeiter-table/mitarbeiter-table.component.html","./src/app/pages/Mitarbeiterverwaltung/components/mitarbeiterverwaltung-page/mitarbeiterverwaltung-page.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/mitarbeiterverwaltung-page/mitarbeiterverwaltung-page.component.html","./src/app/pages/Mitarbeiterverwaltung/components/rollenverwaltung-form-dialog/rollenverwaltung-formdialog.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/rollenverwaltung-form-dialog/rollenverwaltung-formdialog.component.html","./src/app/pages/Mitarbeiterverwaltung/components/rollenverwaltung-pageForm/rollenverwaltung-pageform.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/rollenverwaltung-pageForm/rollenverwaltung-pageform.component.html","./src/app/pages/Mitarbeiterverwaltung/components/rollenverwaltung-table/rollenverwaltung-table.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/rollenverwaltung-table/rollenverwaltung-table.component.html","./src/app/pages/Mitarbeiterverwaltung/components/saldo-table/saldo-table.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/saldo-table/saldo-table.component.html","./src/app/pages/Mitarbeiterverwaltung/components/userinfo-form-dialog/userinfo-formdialog.component.ts","./src/app/pages/Mitarbeiterverwaltung/components/userinfo-form-dialog/userinfo-formdialog.component.html","./src/app/pages/Mitarbeiterverwaltung/firma.service.ts","./src/app/pages/Mitarbeiterverwaltung/mitarbeiter.service.ts","./src/app/pages/Mitarbeiterverwaltung/mitarbeiterverwaltung.module.ts","./src/app/pages/Mitarbeiterverwaltung/rolle.service.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/anrede.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/branche.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/change-rolle.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-add.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-del.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-edit.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/firma-edit.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-add.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-del.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-edit.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getAllMitarbeiter.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getAllMitarbeiterSelectbox.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getAllRechte.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getFeiertage.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getFilteredMitarbeiter.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getFirma.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getFirmaZeiten.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getSaldo.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getUserInfo.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/getUserRollen.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/mitarbeiter-add.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/mitarbeiter-del.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/mitarbeiter-edit.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/mitarbeiter-reactivate.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/rolle-add.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/rolle-del.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/rolle-edit.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/rolle.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/saldo-del.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/userInfo-add.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/actions/userInfo-edit.actions.ts","./src/app/pages/Mitarbeiterverwaltung/store/effects/anrede.effects.ts","./src/app/pages/Mitarbeiterverwaltung/store/effects/branche.effects.ts","./src/app/pages/Mitarbeiterverwaltung/store/effects/firma.effects.ts","./src/app/pages/Mitarbeiterverwaltung/store/effects/mitarbeiter.effects.ts","./src/app/pages/Mitarbeiterverwaltung/store/effects/rolle.effects.ts","./src/app/pages/Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer.ts","./src/app/pages/Zeiterfassung/cache.service.ts","./src/app/pages/Zeiterfassung/components/spesen-form-dialog/spesen-formdialog.component.ts","./src/app/pages/Zeiterfassung/components/spesen-form-dialog/spesen-formdialog.component.html","./src/app/pages/Zeiterfassung/components/spesen-table/spesen-table.component.ts","./src/app/pages/Zeiterfassung/components/spesen-table/spesen-table.component.html","./src/app/pages/Zeiterfassung/components/spesenart-form-dialog/spesenart-formdialog.component.ts","./src/app/pages/Zeiterfassung/components/spesenart-form-dialog/spesenart-formdialog.component.html","./src/app/pages/Zeiterfassung/components/spesenart-pageForm/spesenart-pageform.component.ts","./src/app/pages/Zeiterfassung/components/spesenart-pageForm/spesenart-pageform.component.html","./src/app/pages/Zeiterfassung/components/spesenart-table/spesenart-table.component.ts","./src/app/pages/Zeiterfassung/components/spesenart-table/spesenart-table.component.html","./src/app/pages/Zeiterfassung/components/zeiterfassung-filter/zeiterfassung-filter.component.ts","./src/app/pages/Zeiterfassung/components/zeiterfassung-filter/zeiterfassung-filter.component.html","./src/app/pages/Zeiterfassung/components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component.ts","./src/app/pages/Zeiterfassung/components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component.html","./src/app/pages/Zeiterfassung/components/zeiterfassung-list/zeiterfassung-list.component.ts","./src/app/pages/Zeiterfassung/components/zeiterfassung-list/zeiterfassung-list.component.html","./src/app/pages/Zeiterfassung/components/zeiterfassung-page/zeiterfassung-page.component.ts","./src/app/pages/Zeiterfassung/components/zeiterfassung-page/zeiterfassung-page.component.html","./src/app/pages/Zeiterfassung/components/zeiterfassung-stufen/zeiterfassung-stufen.component.ts","./src/app/pages/Zeiterfassung/components/zeiterfassung-stufen/zeiterfassung-stufen.component.html","./src/app/pages/Zeiterfassung/components/zeiterfassung-table/zeiterfassung-table.component.ts","./src/app/pages/Zeiterfassung/components/zeiterfassung-table/zeiterfassung-table.component.html","./src/app/pages/Zeiterfassung/spesen.service.ts","./src/app/pages/Zeiterfassung/spesenart.service.ts","./src/app/pages/Zeiterfassung/store/actions/Zeit-add.actions.ts","./src/app/pages/Zeiterfassung/store/actions/Zeit-del.actions.ts","./src/app/pages/Zeiterfassung/store/actions/Zeit-edit.actions.ts","./src/app/pages/Zeiterfassung/store/actions/Zeit-output.actions.ts","./src/app/pages/Zeiterfassung/store/actions/Zeit-seek.actions.ts","./src/app/pages/Zeiterfassung/store/actions/allSpesenOfZeit-del.actions.ts","./src/app/pages/Zeiterfassung/store/actions/alleVerrechnet.actions.ts","./src/app/pages/Zeiterfassung/store/actions/cache-add.actions.ts","./src/app/pages/Zeiterfassung/store/actions/date-and-seek.actions.ts","./src/app/pages/Zeiterfassung/store/actions/filter-seek-date.actions.ts","./src/app/pages/Zeiterfassung/store/actions/filter-seek.actions.ts","./src/app/pages/Zeiterfassung/store/actions/getAllSpesen.actions.ts","./src/app/pages/Zeiterfassung/store/actions/getCacheNodes.actions.ts","./src/app/pages/Zeiterfassung/store/actions/getFerienReport.ts","./src/app/pages/Zeiterfassung/store/actions/getInactiveSpesenart.action.ts","./src/app/pages/Zeiterfassung/store/actions/getIstZeit.ts","./src/app/pages/Zeiterfassung/store/actions/getSaldoReport.actions.ts","./src/app/pages/Zeiterfassung/store/actions/getTaetCache.actions.ts","./src/app/pages/Zeiterfassung/store/actions/project-output.actions.ts","./src/app/pages/Zeiterfassung/store/actions/project-part-output.actions.ts","./src/app/pages/Zeiterfassung/store/actions/project-selectbox.actions.ts","./src/app/pages/Zeiterfassung/store/actions/setTimeToZero-edit.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spese-del.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spesen-add.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spesen-edit.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spesenart-activate.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spesenart-add.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spesenart-deactivate.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spesenart-del.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spesenart-edit.actions.ts","./src/app/pages/Zeiterfassung/store/actions/spesenart.actions.ts","./src/app/pages/Zeiterfassung/store/effects/cache.effects.ts","./src/app/pages/Zeiterfassung/store/effects/spesen.effects.ts","./src/app/pages/Zeiterfassung/store/effects/spesenart.effects.ts","./src/app/pages/Zeiterfassung/store/effects/zeiterfassung.effects.ts","./src/app/pages/Zeiterfassung/store/reducer/zeiterfassung.reducer.ts","./src/app/pages/Zeiterfassung/zeit.service.ts","./src/app/pages/Zeiterfassung/zeiterfassung.module.ts","./src/app/pages/auswertungen/auswertungen.module.ts","./src/app/pages/auswertungen/auswertungen.service.ts","./src/app/pages/auswertungen/components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component.ts","./src/app/pages/auswertungen/components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component.html","./src/app/pages/auswertungen/components/auswertungen-list/auswertungen-list.component.ts","./src/app/pages/auswertungen/components/auswertungen-list/auswertungen-list.component.html","./src/app/pages/auswertungen/components/auswertungen-page/auswertungen-page.component.ts","./src/app/pages/auswertungen/components/auswertungen-page/auswertungen-page.component.html","./src/app/pages/auswertungen/components/auswertungen-stufen/auswertungen-stufen.component.ts","./src/app/pages/auswertungen/components/auswertungen-stufen/auswertungen-stufen.component.html","./src/app/pages/auswertungen/components/auswertungen-table/auswertungen-table.component.ts","./src/app/pages/auswertungen/components/auswertungen-table/auswertungen-table.component.html","./src/app/pages/auswertungen/components/auswertungenferien-form/auswertungenferien-form.component.ts","./src/app/pages/auswertungen/components/auswertungenferien-form/auswertungenferien-form.component.html","./src/app/pages/auswertungen/store/actions/Zeit-output.actions.ts","./src/app/pages/auswertungen/store/actions/filter-seek-date.actions.ts","./src/app/pages/auswertungen/store/actions/getProjektauswahlNodes.actions.ts","./src/app/pages/auswertungen/store/effects/auswertungen.effects.ts","./src/app/pages/auswertungen/store/reducer/auswertungen.reducer.ts","./src/app/pages/landingpage/components/addButton-form-dialog/addButton-formdialog.component.ts","./src/app/pages/landingpage/components/addButton-form-dialog/addButton-formdialog.component.html","./src/app/pages/landingpage/components/landing-card/landing-card.component.ts","./src/app/pages/landingpage/components/landing-card/landing-card.component.html","./src/app/pages/landingpage/components/landing-page/landingpage-page.component.ts","./src/app/pages/landingpage/components/landing-page/landingpage-page.component.html","./src/app/pages/landingpage/dashboard.service.ts","./src/app/pages/landingpage/landingpage.module.ts","./src/app/pages/landingpage/store/actions/dashboard-add.actions.ts","./src/app/pages/landingpage/store/actions/dashboard-check.actions.ts","./src/app/pages/landingpage/store/actions/dashboard-continueTime.actions.ts","./src/app/pages/landingpage/store/actions/dashboard-del.actions.ts","./src/app/pages/landingpage/store/actions/dashboard-pauseTime.actions.ts","./src/app/pages/landingpage/store/actions/dashboard-startTime.actions.ts","./src/app/pages/landingpage/store/actions/dashboard-stopTime.actions.ts","./src/app/pages/landingpage/store/actions/getDashboard.actions.ts","./src/app/pages/landingpage/store/actions/getUser.actions.ts","./src/app/pages/landingpage/store/effects/dashboard.effects.ts","./src/app/pages/landingpage/store/effects/user.effects.ts","./src/app/pages/landingpage/store/reducer/landingpage.reducer.ts","./src/app/pages/landingpage/user.service.ts","./src/app/pages/projektverwaltung/components/projekt-expandable-table/projekt-expandable-table.component.ts","./src/app/pages/projektverwaltung/components/projekt-expandable-table/projekt-expandable-table.component.html","./src/app/pages/projektverwaltung/components/projekt-filter/projekt-filter.component.ts","./src/app/pages/projektverwaltung/components/projekt-filter/projekt-filter.component.html","./src/app/pages/projektverwaltung/components/projekt-form-dialog/projekt-formdialog.component.ts","./src/app/pages/projektverwaltung/components/projekt-form-dialog/projekt-formdialog.component.html","./src/app/pages/projektverwaltung/components/projekt-page/projektverwaltung-page.component.ts","./src/app/pages/projektverwaltung/components/projekt-page/projektverwaltung-page.component.html","./src/app/pages/projektverwaltung/components/projekt-table/projekt-table.component.ts","./src/app/pages/projektverwaltung/components/projekt-table/projekt-table.component.html","./src/app/pages/projektverwaltung/components/projektstufe-form-dialog/projektstufe-formdialog.component.ts","./src/app/pages/projektverwaltung/components/projektstufe-form-dialog/projektstufe-formdialog.component.html","./src/app/pages/projektverwaltung/projekt.service.ts","./src/app/pages/projektverwaltung/projektverwaltung.module.ts","./src/app/pages/projektverwaltung/store/actions/getAllNodes.actions.ts","./src/app/pages/projektverwaltung/store/actions/getAllProjekte.actions.ts","./src/app/pages/projektverwaltung/store/actions/getCopyNodes.actions.ts","./src/app/pages/projektverwaltung/store/actions/getFilteredProjekt.actions.ts","./src/app/pages/projektverwaltung/store/actions/getUserNodes.actions.ts","./src/app/pages/projektverwaltung/store/actions/projekt-add.actions.ts","./src/app/pages/projektverwaltung/store/actions/projekt-archive.actions.ts","./src/app/pages/projektverwaltung/store/actions/projekt-dearchive.actions.ts","./src/app/pages/projektverwaltung/store/actions/projekt-del.actions.ts","./src/app/pages/projektverwaltung/store/actions/projekt-edit.actions.ts","./src/app/pages/projektverwaltung/store/actions/projekt-paste.actions.ts","./src/app/pages/projektverwaltung/store/actions/projektstufe-add.actions.ts","./src/app/pages/projektverwaltung/store/actions/projektstufe-edit.actions.ts","./src/app/pages/projektverwaltung/store/effects/projekt.effects.ts","./src/app/pages/projektverwaltung/store/reducer/projektverwaltung.reducer.ts","./src/app/roundDownPipe.ts","./src/app/security.ts","./src/app/securityGuard.ts","./src/app/shared.module.ts","./src/app/ui-components/app-ui.module.ts","./src/app/ui-components/bestaetigungs-form/bestaetigungs-form.component.ts","./src/app/ui-components/bestaetigungs-form/bestaetigungs-form.component.html","./src/app/ui-components/information-form/information-form.component.ts","./src/app/ui-components/information-form/information-form.component.html","./src/app/ui-components/nav-bar/nav-bar.component.ts","./src/app/ui-components/nav-bar/nav-bar.component.html","./src/app/ui-components/newPasswort-form/newPasswort-form.component.ts","./src/app/ui-components/newPasswort-form/newPasswort-form.component.html","./src/app/ui-components/resetPasswort-form/resetPasswort-form.component.ts","./src/app/ui-components/resetPasswort-form/resetPasswort-form.component.html","./src/environments/environment.ts","./src/lib/util/getLocale.ts","./src/main.ts","./node_modules/moment/locale|sync|/^/.*$"],"names":[],"mappings":"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+EAAsB;QAMtB,0DACF;QADE,yKACF;;;;;;;;;;;;;;;;;AC/BF,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,sEAAsE;;;;;;;;;;;;;;;;ACftE;;;;GAIG;AACI,SAAS,SAAS;;IACvB,IAAI,gBAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,0CAAE,MAAM,IAAG,CAAC,EAAE;QACpC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC/B;IAED,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;QAAE,OAAO,SAAS,CAAC,QAAQ,CAAC;KAAE;IAEvD,OAAO,OAAO,CAAC;AACjB,CAAC;;;;;;;;;;;;;;;;;;ACb8C;AAGF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,0B","file":"main.js","sourcesContent":["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 = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import {NgModule, OnInit} from '@angular/core';\nimport {Routes, RouterModule, Router} from '@angular/router';\nimport {AppComponent} from './app.component';\nimport {LandingpagePageComponent} from './pages/landingpage/components/landing-page/landingpage-page.component';\nimport {LandingpageModule} from './pages/landingpage/landingpage.module';\nimport {MitarbeiterverwaltungPageComponent} from './pages/Mitarbeiterverwaltung/components/mitarbeiterverwaltung-page/mitarbeiterverwaltung-page.component';\nimport {MitarbeiterverwaltungModule} from './pages/Mitarbeiterverwaltung/mitarbeiterverwaltung.module';\nimport {ZeiterfassungPageComponentModule} from './pages/Zeiterfassung/zeiterfassung.module';\nimport {ZeiterfassungPageComponent} from './pages/Zeiterfassung/components/zeiterfassung-page/zeiterfassung-page.component';\nimport {ProjektverwaltungPageComponent} from './pages/projektverwaltung/components/projekt-page/projektverwaltung-page.component';\nimport {ProjektverwaltungModule} from './pages/projektverwaltung/projektverwaltung.module';\nimport {AuswertungenPageComponentModule} from './pages/auswertungen/auswertungen.module';\nimport {AuswertungenPageComponent} from './pages/auswertungen/components/auswertungen-page/auswertungen-page.component';\nimport {HttpClient} from '@angular/common/http';\nimport {SecurityGuard} from './securityGuard';\n\n\nconst routes: Routes = [\n { path: 'landingpage', component: LandingpagePageComponent },\n { path: 'zeitverwaltung', component: ZeiterfassungPageComponent, canActivate: [SecurityGuard], data: {code: '3000'}},\n { path: 'mitarbeiterverwaltung', component: MitarbeiterverwaltungPageComponent, canActivate: [SecurityGuard], data: {code: '1000'} },\n { path: 'projektverwaltung', component: ProjektverwaltungPageComponent, canActivate: [SecurityGuard], data: {code: '2000'} },\n { path: '**', redirectTo: '/landingpage', pathMatch: 'full' },\n];\n\n\n@NgModule({\n // tslint:disable-next-line:max-line-length\n imports: [ MitarbeiterverwaltungModule , LandingpageModule, ZeiterfassungPageComponentModule, ProjektverwaltungModule, AuswertungenPageComponentModule, RouterModule.forRoot( routes, { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule{\n\n}\n","import {AfterViewInit, Component, OnInit} from '@angular/core';\nimport {MenuItem} from './ui-components/nav-bar/nav-bar.component';\nimport {TranslateService} from '@ngx-translate/core';\nimport {select, Store} from '@ngrx/store';\nimport {State} from './pages/landingpage/store/reducer/landingpage.reducer';\nimport {loadUserStart} from './pages/landingpage/store/actions/getUser.actions';\nimport {Router} from '@angular/router';\nimport {map} from 'rxjs/operators';\nimport {HttpClient} from '@angular/common/http';\nimport {Security} from './security';\nimport {Observable, of} from 'rxjs';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit{\n public title = 'myDay';\n\n public user;\n\n public firmaId;\n\n // tslint:disable-next-line:variable-name\n constructor(private store: Store<{ landingpage: State }>, private translate: TranslateService, public router: Router, public http: HttpClient, public security: Security) {\n translate.setDefaultLang('de-DE');\n translate.use('de-DE');\n this.user = store.pipe(select((state) => state.landingpage.items));\n this.firmaId = store.pipe(select((state) => state.landingpage.items.firmaId));\n }\n\n\n // tslint:disable-next-line:use-lifecycle-interface\n public ngOnInit(): void {\n\n\n if (sessionStorage.getItem('email') != null){\n const email = sessionStorage.getItem('email');\n this.store.dispatch(loadUserStart({email}));\n }\n\n\n }\n}\n","\n \n\n","import { BrowserModule } from '@angular/platform-browser';\nimport {LOCALE_ID, NgModule} from '@angular/core';\nimport { getLocale } from '@src/lib/util/getLocale';\n\nimport { AppRoutingModule } from '@src/app/app-routing.module';\nimport { AppComponent } from '@src/app/app.component';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { StoreModule } from '@ngrx/store';\nimport { environment } from '@src/environments/environment';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport {AppUiModule} from '@src/app/ui-components/app-ui.module';\nimport {HttpClient, HttpClientModule} from '@angular/common/http';\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {EffectsModule} from '@ngrx/effects';\nimport {FormsModule} from '@angular/forms';\nimport {MatSelectModule} from '@angular/material/select';\nimport { GermanDateAdapter } from '@src/app/german-date-adapter';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\n\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n/* lokale Datepipe */\nimport { registerLocaleData } from '@angular/common';\nimport localeDE from '@angular/common/locales/DE';\nimport {SecurityGuard} from '@src/app/securityGuard';\nimport {Security} from '@src/app/security';\nimport {Layout} from '@src/app/layoutSize';\nimport { AutoGeneratedComponent } from '@src/app/auto-generated/auto-generated.component';\nregisterLocaleData(localeDE);\n/* Ende lokale Datepipe */\n\nexport function HttpLoaderFactory(http: HttpClient): TranslateLoader {\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\n}\n\nconst dev = environment.production ? [] : [StoreDevtoolsModule.instrument({ maxAge: 25 })];\n\n@NgModule({\n declarations: [\n AppComponent,\n AutoGeneratedComponent,\n\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n // ngx-translate and the loader module\n HttpClientModule,\n BrowserAnimationsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }),\n AppUiModule,\n StoreModule.forRoot({}),\n EffectsModule.forRoot([]),\n ...dev, // FUNTKIONIERT NICHT, environment schuldig?\n StoreDevtoolsModule.instrument({maxAge: 25, logOnly: environment.production}),\n FormsModule,\n MatSelectModule,\n\n\n ],\n providers: [\n {\n provide: LOCALE_ID,\n useValue: getLocale(),\n },\n {\n provide: MAT_DATE_LOCALE,\n useValue: getLocale(),\n },\n {\n provide: DateAdapter,\n useClass: GermanDateAdapter,\n },\n SecurityGuard,\n Security,\n Layout,\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-auto-generated',\n templateUrl: './auto-generated.component.html',\n styleUrls: ['./auto-generated.component.scss']\n})\nexport class AutoGeneratedComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

auto-generated works!

\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: 'input[dateField]'\n})\n// tslint:disable-next-line:directive-class-suffix\nexport class DateFieldDirective {\n\n private el: NgControl;\n\n constructor(private ngControl: NgControl) {\n this.el = ngControl;\n }\n\n // Listen for the input event to also handle copy and paste.\n @HostListener('input', ['$event.target.value'])\n onInput(value: string): void {\n // Use NgControl patchValue to prevent the issue on validation\n value = value.replace(/[^0-9.]/g, '');\n if (value.length > 10){\n value = value.slice(0, -1);\n }\n this.el.control.patchValue(value);\n }\n\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: 'input[decimalNumbersOnlyMax]'\n})\n// tslint:disable-next-line:directive-class-suffix\nexport class DecimalNumbersMaxDirective{\n\n private el: NgControl;\n private maxlength: number;\n private lastDigit: number;\n\n constructor(private ngControl: NgControl) {\n this.el = ngControl;\n }\n @Input('decimalNumbersOnlyMax') maxValue: number;\n @Input() kommaStellen: number;\n\n // Listen for the input event to also handle copy and paste.\n @HostListener('input', ['$event.target.value'])\n onInput(value: string): void {\n\n value = value.replace(/[^0-9.]/g, '');\n\n this.lastDigit = this.maxValue.toString().length;\n\n // Checkt ob ein . falsch gesetzt ist oder ob es mehrere gibt\n if (value.includes('.')){\n // Erste Stelle des Strings kann kein Punkt sein\n if (value[0] === '.'){\n // Wegschneiden des Punktes\n value = value.substring(1);\n }\n else{\n // Checkt nach ungültigen Punkten ( Wenn die höchste eingegebene Zahl dreistellig ist kann kein Punkt an der fünften Stelle des Strings sein)\n for (let j = this.lastDigit + 1; j <= this.lastDigit + 1 + this.kommaStellen; j++){\n if (value[j] === '.'){\n value = value.slice(0 , j);\n break;\n }\n }\n }\n // Checkt ob es 2 Punkte in dem legitimen Bereich gibt. ( Beispiel 1..3 ) Alles hinter dem Ersten Punkt wird entfernt falls dies der Fall ist\n if ( value.indexOf('.') !== value.lastIndexOf('.')){\n value = value.slice(0, value.lastIndexOf('.'));\n }\n }\n\n // Ändert die Variabel maxLength je nachdem wie viele Stellen die Zahl haben darf. ( wird anhand von der Stelle des Kommas gecheckt / ob es überhaupt ein Komma besitzt\n this.findMaxLength(value, this.lastDigit, this.kommaStellen);\n // Use NgControl patchValue to prevent the issue on validation\n\n // falls der Zahl zu lange ist wird einfach die letzte Stelle weggeschnitten\n if ( value.length > this.maxlength){\n value = value.slice(0, -1);\n // Es kann passieren das die letzte Stelle weggeschnitten wird und dann ein Punkt zuhinterst ist. Falls dies der Fall ist wird der Punkt auch weggeschnitten\n if ( value[value.length - 1] === '.'){\n value = value.slice(0, -1);\n }\n }\n // Falls die Zahl zu hoch ist wird diese zugeschnitten\n if ( parseInt(value) > this.maxValue){\n value = value.slice(0, this.lastDigit - 1);\n }\n\n this.el.control.patchValue(value);\n }\n @HostListener('focusout', ['$event.target.value'])\n onBlur(value: string): void{\n if(value.length === 0){\n return;\n }\n\n value = (parseFloat(value).toFixed(this.kommaStellen)).toString();\n this.el.control.patchValue(value);\n }\n\n findMaxLength(value: string, maxDigits: number, maxKommastellen: number): void{\n // Falls die Höchste Zahl erreicht wurde darf nichts mehr hinten angehängt werden\n if(parseInt(value) == this.maxValue){\n this.maxlength = this.lastDigit;\n return;\n }\n // je nachdem an welcher Stelle der Punkt sich befindet wird die maximalLänge angepasst\n for (let i = 0; i < maxDigits + 1; i++){\n if (value[i] === '.'){\n this.maxlength = i + 1 + maxKommastellen;\n break;\n }\n // Falls kein Punkt sich in der Zahl befindet ist die maximal länge die höchste erlaubte Zahl + 1 wegen dem Punkt\n if ( i === maxDigits){\n this.maxlength = maxDigits + 1;\n }\n }\n }\n\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: 'input[evenNumbersOnlyMax]'\n})\n// tslint:disable-next-line:directive-class-suffix\nexport class EvenNumbersMaxDirective {\n\n private el: NgControl;\n\n constructor(private ngControl: NgControl) {\n this.el = ngControl;\n }\n\n // tslint:disable-next-line:no-input-rename\n @Input('evenNumbersOnlyMax') maxNumber: number;\n\n // Listen for the input event to also handle copy and paste.\n @HostListener('input', ['$event.target.value'])\n onInput(value: string): void {\n // Use NgControl patchValue to prevent the issue on validation\n value = value.replace(/[^0-9]/g, '');\n if (value.length > this.maxNumber.toString().length){\n value = value.slice(0, -1);\n }\n\n // tslint:disable-next-line:radix\n if (parseInt(value) > this.maxNumber){\n value = value.slice(0, this.maxNumber.toString().length - 1);\n }\n this.el.control.patchValue(value);\n }\n\n}\n","import {NativeDateAdapter} from '@angular/material/core';\r\nimport {Inject, Injectable} from \"@angular/core\";\r\n\r\n@Injectable()\r\n\r\nexport class GermanDateAdapter extends NativeDateAdapter {\r\n public parse(value: any): Date | null {\r\n if (typeof value === 'string' && value.indexOf('.') > -1) {\r\n const str = value.split('.');\r\n if (str.length < 2 || Number.isNaN(+str[0]) || Number.isNaN(+str[1]) || Number.isNaN(+str[2])) {\r\n return null;\r\n }\r\n return new Date(Number(str[2]), Number(str[1]) - 1, Number(str[0]), 12);\r\n }\r\n const timestamp = typeof value === 'number' ? value : Date.parse(value);\r\n return Number.isNaN(timestamp) ? null : new Date(timestamp);\r\n }\r\n}\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport {Injectable} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class Layout{\r\n constructor() {}\r\n\r\n public setLayoutSizes(): void{\r\n localStorage.setItem('phoneWidth', '(max-width: 991px)');\r\n localStorage.setItem('tabletWidth', '(max-width: 991px)');\r\n localStorage.setItem('pcWidth', '(min-width: 991px)');\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { CollectionApiResponse } from '../../../lib/util/api-response';\nimport { AnredeItem } from './anrede.model';\n\ntype AnredenResponse = CollectionApiResponse;\n\n@Injectable()\nexport class AnredeService {\n /**\n * Constructor of SalutationsService\n *\n * @param httpClient - Http service of angular\n */\n constructor(private httpClient: HttpClient) {}\n\n /**\n * Get all salutations\n *\n * @returns - An observable that emits with the fetched salutations\n */\n\n public getAllSalutations(): Observable {\n // tslint:disable-next-line:max-line-length\n return this.httpClient.get(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/getAll/getAllSalutations.php') as Observable<\n AnredenResponse\n >;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { CollectionApiResponse } from '../../../lib/util/api-response';\nimport { BrancheItem } from './branche.model';\n\ntype BranchenResponse = CollectionApiResponse;\n\n@Injectable()\nexport class BrancheService {\n /**\n * Constructor of SalutationsService\n *\n * @param httpClient - Http service of angular\n */\n constructor(private httpClient: HttpClient) {}\n\n /**\n * Get all salutations\n *\n * @returns - An observable that emits with the fetched salutations\n */\n\n public getAllBranchen(): Observable {\n // tslint:disable-next-line:max-line-length\n return this.httpClient.get(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/getAll/getAllBranchen.php') as Observable<\n BranchenResponse\n >;\n }\n}\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {select, Store} from '@ngrx/store';\nimport {State} from '../../store/reducer/mitarbeiterverwaltung.reducer';\nimport {editFirmaStart} from '../../store/actions/firma-edit.actions';\nimport {loadBranchenStart} from '../../store/actions/branche.actions';\nimport {loadFirmaZeitenStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFirmaZeiten.actions';\nimport {deleteFirmaZeitStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-del.actions';\nimport {editFirmaZeitenStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-edit.actions';\nimport {loadFeiertageStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFeiertage.actions';\nimport {addFeiertageStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-add.actions';\nimport * as moment from 'moment';\nimport {editFeiertageStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-edit.actions';\n\nexport interface DialogData{\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n firmaZeitId: number;\n datum: Date;\n bez: string;\n}\n\n@Component({\n selector: 'app-feiertage-formdialog',\n templateUrl: './feiertage-formdialog.component.html',\n styleUrls: ['./feiertage-formdialog.component.scss']\n})\n\n\nexport class FeiertageFormdialogComponent implements OnInit{\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private store: Store<{ mitarbeiterverwaltung: State }>)\n {\n dialogRef.disableClose = true;\n\n this.feiertagForm.patchValue({\n datum: data.datum,\n bez: data.bez,\n firmaZeitId: data.firmaZeitId,\n id: data.id,\n });\n }\n\n public feiertagForm = new FormGroup({\n datum: new FormControl('', [Validators.required]),\n bez: new FormControl(''),\n id: new FormControl(''),\n firmaZeitId: new FormControl('')\n });\n\n\n public handleSubmitClick(): void{\n this.feiertagForm.value.datum = this.wandler(this.feiertagForm.value.datum);\n\n if(this.feiertagForm.value.id){\n this.store.dispatch(editFeiertageStart({item: this.feiertagForm.value}));\n }\n else{\n this.store.dispatch(addFeiertageStart({item: this.feiertagForm.value}));\n }\n\n\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public ngOnInit(): void {\n // this.store.dispatch(loadFeiertageStart({firmaZeitId: this.data.zeitId}));\n }\n\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n}\n","

{{ data.title | translate }}

\n\n\n
\n\n
\n \n {{ 'pages.mitarbeiterverwaltung.firmaZeitenDialog.datum' | translate }}\n \n \n \n \n\n \n {{ 'pages.mitarbeiterverwaltung.firmaZeitenDialog.bez' | translate }}\n \n \n
\n\n
\n\n\n\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {MatDialog} from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\nimport {Zeitstate} from '../../../Zeiterfassung/store/reducer/zeiterfassung.reducer';\nimport {SpesenartItem} from '../../../Zeiterfassung/spesenart.model';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {BestaetigungsFormComponent} from '@src/app/ui-components/bestaetigungs-form/bestaetigungs-form.component';\nimport {deleteFirmaZeitStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-del.actions';\nimport {FirmaZeitFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/firmazeiten-form-dialog/firmazeiten-formdialog.component';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\nimport {deleteFeiertageStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-del.actions';\nimport {FeiertageFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/feiertage-form-dialog/feiertage-formdialog.component';\n\n@Component({\n selector: 'app-feiertage-table',\n templateUrl: './feiertage-table.component.html',\n styleUrls: ['./feiertage-table.component.scss'],\n})\nexport class FeiertageTableComponent implements OnInit {\n public displayedColumns: string[] = [\n 'datum',\n 'bez',\n 'actions',\n ];\n\n public dataSource = new MatTableDataSource();\n\n constructor( public dialog: MatDialog , public store: Store<{ zeiterfassung: Zeitstate }> ) {\n }\n\n @Input()\n public showFunctionMenu = true;\n\n @Input()\n public zeitId: number;\n\n\n @Input()\n public set feiertage(feiertag: FeiertagItem[]) {\n this.dataSource.data = feiertag;\n\n }\n\n\n public ngOnInit(): void {}\n\n public editFeiertag(firmaZeit: FeiertagItem): void {\n const dialogRef = this.dialog.open(FeiertageFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.firmaZeitenDialog.feiertagTitle',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.cancelButtonLabel',\n firmaZeitId: firmaZeit.firmaZeitId,\n id: firmaZeit.id,\n datum: firmaZeit.datum,\n bez: firmaZeit.bez,\n }\n });\n }\n\n public deleteFeiertag(feiertagItem: FeiertagItem): void {\n this.store.dispatch(deleteFeiertageStart({item: feiertagItem}));\n }\n\n\n}\n","\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n
{{ 'pages.mitarbeiterverwaltung.feiertage.datum' | translate }} {{feiertag.datum | date:'dd.MM.yyyy'}} {{ 'pages.mitarbeiterverwaltung.feiertage.bez' | translate }} {{feiertag.bez}} \n \n \n \n \n \n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {select, Store} from '@ngrx/store';\nimport {State} from '../../store/reducer/mitarbeiterverwaltung.reducer';\nimport {Observable} from 'rxjs';\nimport {BrancheItem} from '../../branche.model';\nimport {editFirmaStart} from '../../store/actions/firma-edit.actions';\nimport {loadBranchenStart} from '../../store/actions/branche.actions';\nimport {loadFirmaZeitenStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFirmaZeiten.actions';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {MitarbeiterFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/mitarbeiter-form-dialog/mitarbeiter-formdialog.component';\nimport {FirmaZeitFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/firmazeiten-form-dialog/firmazeiten-formdialog.component';\nimport {addFirmaZeitFailed, addFirmaZeitStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-add.actions';\n\nexport interface DialogData{\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n name: string;\n email: string;\n telefon: string;\n ort: string;\n plz: string;\n str1: string;\n str2: string;\n branche: string;\n arbsol: number;\n}\n\n@Component({\n selector: 'app-firma-formdialog',\n templateUrl: './firma-formdialog.component.html',\n styleUrls: ['./firma-formdialog.component.scss']\n})\n\n\nexport class FirmaFormdialogComponent implements OnInit {\n\n public $branchen: Observable;\n public $firmaZeiten: Observable;\n\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private store: Store<{ mitarbeiterverwaltung: State }>,\n public dialog: MatDialog,\n )\n {\n dialogRef.disableClose = true;\n this.$branchen = store.pipe(select((state) => state.mitarbeiterverwaltung.branchen.items));\n this.$firmaZeiten = store.pipe(select((state) => state.mitarbeiterverwaltung.firmaZeiten));\n this.firmaForm.patchValue({\n name: data.name,\n email: data.email,\n telefon: data.telefon,\n arbsol: data.arbsol?.toFixed(2),\n branche: data.branche,\n ort: data.ort,\n plz: data.plz,\n str1: data.str1,\n str2: data.str2,\n id: data.id\n });\n }\n\n public firmaForm = new FormGroup({\n name: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(255), Validators.pattern('[a-zA-Z áéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ]*')]),\n email: new FormControl('' , [Validators.maxLength(255), Validators.pattern('^[a-záéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]),\n telefon: new FormControl('', [Validators.maxLength(255), Validators.pattern('^[0-9.]*$')] ),\n ort: new FormControl('', [Validators.required , Validators.minLength(3), Validators.maxLength(255), Validators.pattern('[a-zA-Z áéíóúàèìòùâêîôûäëïöüñõçßáéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ]*')]),\n plz: new FormControl('', [Validators.required, Validators.pattern('^[0-9]*$'), Validators.min(1000), Validators.maxLength(255) ]),\n str1: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(255)]),\n str2: new FormControl('' , [Validators.maxLength(255)]),\n arbsol: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.pattern('^[0-9.]*$')]),\n branche: new FormControl(''),\n });\n\n public getErrorMessage(formField: string): string {\n const formControl = this.firmaForm.get(formField);\n if ( formControl.hasError('required')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.pflichtfeld`;\n }\n else if ( formControl.hasError('minlength')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.minlength`;\n }\n else if ( formControl.hasError('maxlength')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.maxlength`;\n }\n else if ( formControl.hasError('min')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.min`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.pattern`;\n }\n return 'pages.mitarbeiterverwaltung.firmaDialog.err.generic';\n }\n\n public handleSubmitClick(): void{\n const item = this.firmaForm.value;\n this.store.dispatch(editFirmaStart({item: {...item, id: this.data.id}}));\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n ngOnInit(): void {\n this.store.dispatch(loadBranchenStart());\n this.store.dispatch(loadFirmaZeitenStart());\n\n }\n\n public addFirmaZeit(): void{\n this.store.dispatch(addFirmaZeitStart());\n const dialogRef = this.dialog.open(FirmaZeitFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.firmaDialog.firmaZeitenh',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.cancelButtonLabel',\n }\n\n });\n dialogRef.afterClosed().subscribe();\n }\n}\n","

{{ data.title | translate }}

\n\n\n
\n
\n \n {{ 'pages.mitarbeiterverwaltung.firmaDialog.name' | translate }}\n \n {{ getErrorMessage('name') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.firmaDialog.email' | translate }}\n \n {{ getErrorMessage('email') | translate }}\n \n
\n
\n\n \n {{ 'pages.mitarbeiterverwaltung.firmaDialog.plz' | translate }}\n \n {{ getErrorMessage('plz') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.firmaDialog.ort' | translate }}\n \n {{ getErrorMessage('ort') | translate }}\n \n
\n
\n \n {{ 'pages.mitarbeiterverwaltung.firmaDialog.adr1' | translate }}\n \n {{ getErrorMessage('str1') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.firmaDialog.adr2' | translate }}\n \n {{ getErrorMessage('str2') | translate }}\n
\n
\n \n {{ 'pages.mitarbeiterverwaltung.firmaDialog.tel' | translate }}\n \n {{ getErrorMessage('telefon') | translate }}\n \n\n \n {{ 'pages.mitarbeiterverwaltung.firmaDialog.branche' | translate }}\n \n Keine\n \n {{branche.key }}\n \n \n \n
\n\n\n
\n
\n
\n

{{ 'pages.mitarbeiterverwaltung.firmaDialog.firmaZeiten' | translate }}

\n
\n\n \n
\n
\n\n
\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {MatDialog} from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\nimport {Zeitstate} from '../../../Zeiterfassung/store/reducer/zeiterfassung.reducer';\nimport {SpesenartItem} from '../../../Zeiterfassung/spesenart.model';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {BestaetigungsFormComponent} from '@src/app/ui-components/bestaetigungs-form/bestaetigungs-form.component';\nimport {deleteFirmaZeitStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-del.actions';\nimport {FirmaZeitFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/firmazeiten-form-dialog/firmazeiten-formdialog.component';\nimport {loadFeiertageStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFeiertage.actions';\n\n@Component({\n selector: 'app-firma-table',\n templateUrl: './firma-table.component.html',\n styleUrls: ['./firma-table.component.scss'],\n})\nexport class FirmaTableComponent implements OnInit {\n public displayedColumns: string[] = [\n 'jahr',\n 'jahreszeit',\n 'tageszeit',\n 'arbeitstage',\n 'feiertage',\n 'actions',\n ];\n\n public dataSource = new MatTableDataSource();\n\n constructor( public dialog: MatDialog , public store: Store<{ zeiterfassung: Zeitstate }> ) {\n }\n\n @Input()\n public showFunctionMenu = true;\n\n @Input()\n public zeitId: number;\n\n\n @Input()\n public set firmaZeiten(firmaZeiten: FirmaZeitItem[]) {\n this.dataSource.data = firmaZeiten;\n\n }\n\n\n public ngOnInit(): void {}\n\n public editFirmaZeit(firmaZeit: FirmaZeitItem): void {\n this.store.dispatch(loadFeiertageStart({firmaZeitId: firmaZeit.id}));\n this.dialog.open(FirmaZeitFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.firmaDialog.firmaZeitenb',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n jahr: firmaZeit.jahr,\n jahreszeit: firmaZeit.jahreszeit,\n tageszeit: firmaZeit.tageszeit,\n arbeitstage: firmaZeit.arbeitstage,\n id: firmaZeit.id\n },\n });\n }\n\n public deleteFirmaZeit(firmaZeit: FirmaZeitItem): void {\n const bestätigungsForm = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.deleteSpesenart.title',\n text: 'pages.zeitverwaltung.deleteSpesenart.text',\n },\n });\n bestätigungsForm.afterClosed().subscribe(result => {\n if (result === true){\n this.store.dispatch(deleteFirmaZeitStart({item: firmaZeit.id}));\n }\n });\n\n }\n\n\n}\n","\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n
{{ 'pages.mitarbeiterverwaltung.firmaTable.jahr' | translate }} {{firmaZeit.jahr | date:'dd.MM.yyyy'}} {{ 'pages.mitarbeiterverwaltung.firmaTable.jahreszeit' | translate }} {{ firmaZeit.jahreszeit }} {{ 'pages.mitarbeiterverwaltung.firmaTable.tageszeit' | translate }} {{firmaZeit.tageszeit }} {{ 'pages.mitarbeiterverwaltung.firmaTable.feiertage' | translate }} {{ firmaZeit.anzahlFeiertage}} {{ 'pages.mitarbeiterverwaltung.firmaTable.arbeitstage' | translate }} {{ firmaZeit.arbeitstage}} \n \n \n \n \n \n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {select, Store} from '@ngrx/store';\nimport {State} from '@src/app/pages/Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\nimport {deleteFirmaZeitStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-del.actions';\nimport {editFirmaZeitenStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-edit.actions';\nimport {FeiertageFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/feiertage-form-dialog/feiertage-formdialog.component';\nimport {loadFeiertageStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFeiertage.actions';\nimport {Observable} from 'rxjs';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\nimport * as moment from 'moment';\n\nexport interface DialogData{\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n jahr: number;\n jahreszeit: number;\n tageszeit: number;\n arbeitstage: number;\n}\n\n@Component({\n selector: 'app-firmazeiten-formdialog',\n templateUrl: './firmazeiten-formdialog.component.html',\n styleUrls: ['./firmazeiten-formdialog.component.scss']\n})\n\n\nexport class FirmaZeitFormdialogComponent implements OnInit {\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private store: Store<{ mitarbeiterverwaltung: State }>,\n public dialog: MatDialog,\n )\n {\n dialogRef.disableClose = true;\n this.$feiertage = store.pipe(select((state) => state.mitarbeiterverwaltung.feiertage));\n this.firmaZeitForm.patchValue({\n jahr: data.jahr,\n jahreszeit: data.jahreszeit,\n tageszeit: data.tageszeit,\n arbeitstage: data.arbeitstage,\n id: data.id,\n });\n }\n\n public $feiertage: Observable;\n\n public firmaZeitForm = new FormGroup({\n jahr: new FormControl('', [ Validators.maxLength(255) ]),\n jahreszeit: new FormControl('', [Validators.required, Validators.pattern('^[0-9,.]*$'), Validators.maxLength(255) ]),\n tageszeit: new FormControl('', [Validators.required, Validators.pattern('^[0-9,.]*$'), Validators.maxLength(255) ]),\n arbeitstage: new FormControl('', [Validators.required, Validators.pattern('^[0-9,.]*$'), Validators.maxLength(255) ])\n });\n\n public getErrorMessage(formField: string): string {\n const formControl = this.firmaZeitForm.get(formField);\n if ( formControl.hasError('required')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.pflichtfeld`;\n }\n else if ( formControl.hasError('minlength')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.minlength`;\n }\n else if ( formControl.hasError('maxlength')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.maxlength`;\n }\n else if ( formControl.hasError('min')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.min`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.mitarbeiterverwaltung.firmaDialog.err.${formField}.pattern`;\n }\n return 'pages.mitarbeiterverwaltung.firmaDialog.err.generic';\n }\n\n public handleSubmitClick(): void{\n const item = this.firmaZeitForm.value;\n if ( isNaN( Number(sessionStorage.getItem('firmaZeitId'))) === false){\n item.id = sessionStorage.getItem('firmaZeitId');\n }else{\n item.id = this.data.id;\n }\n item.jahr = this.wandler(item.jahr);\n sessionStorage.setItem('firmaZeitId', null);\n this.store.dispatch(editFirmaZeitenStart({item}));\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n if ( isNaN( Number(sessionStorage.getItem('firmaZeitId'))) === false){\n this.store.dispatch(deleteFirmaZeitStart({item: Number(sessionStorage.getItem('firmaZeitId'))}));\n }\n sessionStorage.setItem('firmaZeitId', null);\n this.dialogRef.close(true);\n }\n\n public addFeiertage(): void{\n let zeitId;\n if ( isNaN( Number(sessionStorage.getItem('firmaZeitId'))) === false){\n zeitId = sessionStorage.getItem('firmaZeitId');\n }\n else{\n zeitId = this.data.id;\n }\n console.log(zeitId);\n const dialogRef = this.dialog.open(FeiertageFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.firmaZeitenDialog.feiertagTitle',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.cancelButtonLabel',\n firmaZeitId: zeitId,\n }\n });\n }\n\n ngOnInit(): void {\n let zeitId;\n if ( isNaN( Number(sessionStorage.getItem('firmaZeitId'))) === false){\n zeitId = sessionStorage.getItem('firmaZeitId');\n }\n else{\n zeitId = this.data.id;\n }\n\n // this.store.dispatch(loadFeiertageStart({firmaZeitId: zeitId}));\n }\n\n /* Wandelt Datum um: Ohne Zeitzone und im richtigen Backendformat */\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n\n\n\n\n}\n","

{{ data.title | translate }}

\n\n\n
\n
\n\n \n {{ 'pages.mitarbeiterverwaltung.firmaZeitenDialog.jahr' | translate }}\n \n \n \n {{ getErrorMessage('jahr') | translate }}\n \n\n\n \n {{ 'pages.mitarbeiterverwaltung.firmaZeitenDialog.jahreszeit' | translate }}\n \n {{ getErrorMessage('jahreszeit') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.firmaZeitenDialog.tageszeit' | translate }}\n \n {{ getErrorMessage('tageszeit') | translate }}\n \n\n \n {{ 'pages.mitarbeiterverwaltung.firmaZeitenDialog.arbeitstage' | translate }}\n \n {{ getErrorMessage('arbeitstage') | translate }}\n \n
\n\n\n
\n
\n
\n

{{ 'pages.mitarbeiterverwaltung.firmaZeitenDialog.feiertage' | translate }}

\n
\n\n \n
\n
\n \n
\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport * as moment from 'moment';\nimport {select, Store} from '@ngrx/store';\nimport {MatDialog} from '@angular/material/dialog';\nimport {State} from '../../store/reducer/mitarbeiterverwaltung.reducer';\nimport {loadAllMitarbeiterStart} from '../../store/actions/getAllMitarbeiter.actions';\nimport {getFilteredMitarbeiterStart} from '../../store/actions/getFilteredMitarbeiter.actions';\n\n@Component({\n selector: 'app-mitarbeiter-filter',\n templateUrl: './mitarbeiter-filter.component.html',\n styleUrls: ['./mitarbeiter-filter.component.scss'],\n})\nexport class MitarbeiterFilterComponent {\n\n constructor(private store: Store<{ mitarbeiterverwaltung: State }>, public dialog: MatDialog) {\n }\n\n public filterForm = new FormGroup({\n search: new FormControl(''),\n deleted: new FormControl(''),\n });\n\n public search(): void{\n\n let searchString = '';\n // Suche ausgefüllt\n if (this.filterForm.value.search){\n searchString += 'search';\n sessionStorage.setItem('mitarbeiterSuche', this.filterForm.value.search);\n }\n else{\n sessionStorage.setItem('mitarbeiterSuche', '');\n }\n if (this.filterForm.value.deleted){\n searchString += 'check';\n sessionStorage.setItem('mitarbeiterDeaktiviert', this.filterForm.value.deleted);\n }\n else{\n sessionStorage.setItem('mitarbeiterDeaktiviert', 'false');\n }\n\n sessionStorage.setItem('mitarbeiterSearchString', searchString);\n this.store.dispatch(getFilteredMitarbeiterStart({string: searchString, item: this.filterForm.value}));\n }\n}\n","\n
\n \n {{ 'pages.mitarbeiterverwaltung.filter.suche' | translate }}\n \n \n \n {{ 'pages.mitarbeiterverwaltung.filter.deletedUsers' | translate }}\n \n\n","import {AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {loadSalutationsStart} from '../../store/actions/anrede.actions';\nimport {select, Store} from '@ngrx/store';\nimport {State} from '../../store/reducer/mitarbeiterverwaltung.reducer';\nimport {Observable} from 'rxjs';\nimport {AnredeItem} from '../../anrede.model';\nimport {RolleItem} from '../../rolle.model';\nimport {addMitarbeiterStart} from '../../store/actions/mitarbeiter-add.actions';\nimport {editMitarbeiterStart} from '../../store/actions/mitarbeiter-edit.actions';\nimport * as moment from 'moment';\nimport {MatSelect, MatSelectChange} from '@angular/material/select';\nimport {loadRollenStart} from \"../../store/actions/rolle.actions\";\nimport {InformationFormComponent} from \"../../../../ui-components/information-form/information-form.component\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {SpesenartItem} from '@src/app/pages/Zeiterfassung/spesenart.model';\nimport {Zeitstate} from '@src/app/pages/Zeiterfassung/store/reducer/zeiterfassung.reducer';\nimport {loadSaldoStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getSaldo.actions';\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\nimport {SpesenFormdialogComponent} from '@src/app/pages/Zeiterfassung/components/spesen-form-dialog/spesen-formdialog.component';\nimport {UserinfoFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/userinfo-form-dialog/userinfo-formdialog.component';\nimport {loadUserInfoStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getUserInfo.actions';\nimport {UserInfoItem} from '@src/app/pages/Mitarbeiterverwaltung/userInfo.model';\n\nexport interface DialogData{\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n vorname: string;\n name: string;\n anrede: string;\n geburtstag: string;\n email: string;\n passwort: string;\n mobile: string;\n rolle: string;\n ferientage: number;\n anstellungprozent: number;\n ort: string;\n plz: string;\n str1: string;\n str2: string;\n stundenProTag: number;\n aktiv: number;\n}\n\n@Component({\n selector: 'app-mitarbeiter-formdialog',\n templateUrl: './mitarbeiter-formdialog.component.html',\n styleUrls: ['./mitarbeiter-formdialog.component.scss']\n})\n\nexport class MitarbeiterFormdialogComponent implements OnInit {\n\n constructor(\n private http: HttpClient,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialog: MatDialog,\n public zeitStore: Store<{ zeiterfassung: Zeitstate }>,\n private store: Store<{ mitarbeiterverwaltung: State }>)\n\n {\n dialogRef.disableClose = true;\n this.$userInfos = store.pipe(select((state) => state.mitarbeiterverwaltung.userinfos));\n this.$anreden = store.pipe(select((state) => state.mitarbeiterverwaltung.anreden.items));\n this.$rollen = store.pipe(select((state) => state.mitarbeiterverwaltung.rollen.items));\n this.$spesenarten = zeitStore.pipe(select((state) => state.zeiterfassung.spesenarten));\n this.$userInfos = store.pipe(select((state) => state.mitarbeiterverwaltung.userinfos));\n // tslint:disable-next-line:triple-equals\n if (data.geburtstag == ''){\n this.geburtstag = null;\n }\n else{\n this.geburtstag = moment(data.geburtstag).format('YYYY-MM-DD');\n }\n this.mitarbeiterForm.patchValue({\n id: data.id,\n name: data.name,\n vorname: data.vorname,\n email: data.email,\n passwort: data.passwort,\n geburtstag: this.geburtstag,\n mobile: data.mobile,\n rolle: data.rolle,\n ferientage: data.ferientage?.toFixed(1),\n anstellungprozent: data.anstellungprozent,\n anrede: data.anrede,\n ort: data.ort,\n plz: data.plz,\n str1: data.str1,\n str2: data.str2,\n stundenProTag: data.stundenProTag,\n aktiv: data.aktiv,\n });\n }\n public wertDatum = new Date().toLocaleDateString();\n public parseDateString = this.wertDatum;\n public parsedDatum = new Date(this.parseDateString);\n public $anreden: Observable;\n public $spesenarten: Observable;\n public $rollen: Observable;\n public $saldos: Observable;\n public $userInfos: Observable;\n public vergleichVariable: string;\n public geburtstag;\n @ViewChild('mySel') private skillSel: MatSelect;\n // tslint:disable-next-line:variable-name\n public last_selection = null;\n\n public mitarbeiterForm = new FormGroup({\n anrede: new FormControl(''),\n name: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(255), Validators.pattern('[a-zA-Z áéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ]*')]),\n // tslint:disable-next-line:max-line-length\n vorname: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(255), Validators.pattern('[a-zA-Z áéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ]*')]),\n // tslint:disable-next-line:max-line-length\n email: new FormControl({value: '', disabled: this.data.email}, [Validators.required, Validators.minLength(3), Validators.maxLength(255), Validators.pattern('^[a-záéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ0-9._%+-]+@[a-záéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ0-9.-]+\\\\.[a-z]{2,4}$')], ),\n passwort: new FormControl('', [ Validators.maxLength(255)]),\n geburtstag: new FormControl('', [Validators.maxLength(255)]),\n mobile: new FormControl('', [Validators.maxLength(255), Validators.pattern('^[0-9]*$')]),\n rolle: new FormControl('', [Validators.required]),\n ort: new FormControl('', [Validators.maxLength(255), Validators.pattern('[a-zA-Z áéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ]*')]),\n plz: new FormControl('', [Validators.min(1000), Validators.maxLength(255), Validators.pattern('^[0-9]*$') ]),\n str1: new FormControl('', [Validators.maxLength(255)]),\n str2: new FormControl('', [Validators.maxLength(255)]),\n aktiv: new FormControl({value: '', disabled: this.data.rolle === 'Admin'}),\n id: new FormControl(''),\n });\n\n public yearForm = new FormGroup({\n year: new FormControl('')\n });\n\n /* Wandelt Datum um: Ohne Zeitzone und im richtigen Backendformat */\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n\n public getErrorMessage(formField: string): string {\n const formControl = this.mitarbeiterForm.get(formField);\n if ( formControl.hasError('required')){\n return `pages.mitarbeiterverwaltung.mitarbeiterDialog.err.${formField}.pflichtfeld`;\n }\n else if ( formControl.hasError('minlength')){\n return `pages.mitarbeiterverwaltung.mitarbeiterDialog.err.${formField}.minlength`;\n }\n else if ( formControl.hasError('maxlength')){\n return `pages.mitarbeiterverwaltung.mitarbeiterDialog.err.${formField}.maxlength`;\n }\n else if ( formControl.hasError('min')){\n return `pages.mitarbeiterverwaltung.mitarbeiterDialog.err.${formField}.min`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.mitarbeiterverwaltung.mitarbeiterDialog.err.${formField}.pattern`;\n }\n else if ( formControl.hasError('max')){\n return `pages.mitarbeiterverwaltung.mitarbeiterDialog.err.${formField}.max`;\n }\n return 'pages.mitarbeiterverwaltung.mitarbeiterDialog.err.generic';\n }\n\n public handleSubmitClick(): void{\n this.mitarbeiterForm.value.geburtstag = this.wandler(this.mitarbeiterForm.value.geburtstag);\n const item = this.mitarbeiterForm.getRawValue();\n\n if (this.data.id) {\n this.store.dispatch(editMitarbeiterStart({item}));\n } else {\n\n // Check ob User EMAIL schon gebraucht wird\n this.http.get\n (\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/checkIfActiveUserExists.php?email=${item.email}`,\n {responseType: 'json'}\n ).subscribe((data: {data: {aktiv: number}}) => {\n // ERROR: USER EXISTIERT BEREITS\n if (data.data.aktiv == 0 || data.data.aktiv == 1){\n const okDialog = this.dialog.open(InformationFormComponent, {\n data: {\n title: 'Information',\n text: 'pages.mitarbeiterverwaltung.mitarbeiterDialog.error'\n }\n });\n }\n // User hinzufügen\n else{\n this.store.dispatch(addMitarbeiterStart({item}));\n }\n });\n }\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public addUserinfo(): void{\n this.dialog.open(UserinfoFormdialogComponent, {\n maxWidth: '90%',\n data: {\n title: 'pages.mitarbeiterverwaltung.userinfo.htitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n userId: this.mitarbeiterForm.value.id\n },\n });\n }\n\n public filterUserInfo(): void{\n this.store.dispatch(loadUserInfoStart({userId: this.data.id, showYears: this.yearForm.controls.year.value ? 1 : 0}));\n }\n\n\n ngOnInit(): void {\n this.store.dispatch(loadUserInfoStart({userId: this.data.id, showYears: 0}));\n // this.store.dispatch(loadSaldoStart({userId: this.data.id}));\n this.store.dispatch(loadSalutationsStart());\n this.store.dispatch(loadRollenStart());\n }\n\n public okClicked(): void {\n this.last_selection = this.mitarbeiterForm.controls.rolle.value;\n this.skillSel.close();\n }\n\n}\n","

{{ data.title | translate }}

\n\n\n\n
\n\n
\n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.anrede' | translate }}\n \n Keine\n \n {{anrede.key }}\n \n \n {{ getErrorMessage('anrede') | translate }}\n \n\n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.aktiv' | translate }}\n \n
\n
\n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.vorname' | translate }}\n \n {{ getErrorMessage('vorname') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.name' | translate }}\n \n {{ getErrorMessage('name') | translate }}\n \n
\n
\n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.email' | translate }}\n \n {{ getErrorMessage('email') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.geburtstag' | translate }}\n \n \n \n {{ getErrorMessage('geburtstag') | translate }}\n
\n
\n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.adr1' | translate }}\n \n {{ getErrorMessage('str1') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.adr2' | translate }}\n \n {{ getErrorMessage('str2') | translate }}\n
\n
\n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.plz' | translate }}\n \n {{ getErrorMessage('plz') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.ort' | translate }}\n \n {{ getErrorMessage('ort') | translate }}\n \n
\n
\n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.mobile' | translate }}\n \n {{ getErrorMessage('mobile') | translate }}\n \n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.rolle' | translate }}\n \n \n {{rolle.key}}\n \n
\n \n {{ data.submitButtonLabel | translate }}\n \n
\n
\n {{ getErrorMessage('rolle') | translate }}\n
\n
\n \n
\n
\n
\n

{{ 'pages.mitarbeiterverwaltung.firmaDialog.firmaZeiten' | translate }}

\n
\n \n {{ 'pages.mitarbeiterverwaltung.jahr' | translate }}\n
\n
\n \n
\n
\n \n
\n
\n\n\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {MitarbeiterItem} from '../../mitarbeiter.model';\nimport {stringify} from 'querystring';\nimport {Router} from '@angular/router';\nimport {HttpClient} from '@angular/common/http';\nimport {Security} from '../../../../security';\nimport {Observable} from 'rxjs';\n\n\n\n@Component({\n selector: 'app-mitarbeiter-table',\n templateUrl: './mitarbeiter-table.component.html',\n styleUrls: ['./mitarbeiter-table.component.scss'],\n})\nexport class MitarbeiterTableComponent implements OnInit {\n public displayedColumns: string[] = [\n 'salutation',\n 'firstName',\n 'lastName',\n 'email',\n 'mobile',\n 'birthday',\n ];\n\n // tslint:disable-next-line:variable-name\n constructor(\n public router: Router,\n public security: Security\n )\n {\n\n }\n public showFunctions: boolean;\n public dataSource = new MatTableDataSource();\n\n @Output()\n public editMitarbeiter = new EventEmitter();\n\n @Output()\n public deleteMitarbeiter = new EventEmitter();\n\n @Output()\n public reactivateMitarbeiter = new EventEmitter();\n\n @Input()\n public showFunctionMenu = true;\n\n /**\n * Sets addresses to datasource\n *\n * @param addresses - The addresses\n */\n @Input()\n public set mitarbeiter(mitarbeiter: MitarbeiterItem[]) {\n this.dataSource.data = mitarbeiter;\n }\n\n /**\n * Executed in initialization\n */\n public ngOnInit(): void {\n this.security.checkLogin('1001').subscribe(\n x => {\n console.log(x);\n this.showFunctions = x;\n\n });\n if (this.showFunctionMenu) {\n this.displayedColumns = this.displayedColumns.concat('actions');\n }\n }\n\n public zeiterfassung(userId: number): void {\n sessionStorage.setItem('zeitUserId', userId.toString());\n this.router.navigate(['zeitverwaltung']);\n }\n}\n","\n\n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n \n \n\n \n \n \n \n \n \n \n\n
{{ 'pages.mitarbeiterverwaltung.table.salutation' | translate }} {{mitarbeiter.anrede }} {{ 'pages.mitarbeiterverwaltung.table.firstName' | translate }} {{ mitarbeiter.vorname }} {{ 'pages.mitarbeiterverwaltung.table.lastName' | translate }} {{ mitarbeiter.name }} {{ 'pages.mitarbeiterverwaltung.table.email' | translate }} {{mitarbeiter.email}} {{ 'pages.mitarbeiterverwaltung.table.mobile' | translate }} {{mitarbeiter.mobile}} {{ 'pages.mitarbeiterverwaltung.table.birthday' | translate }} \n {{ mitarbeiter.geburtstag | date:'dd.MM.yyyy'}}\n \n \n \n \n \n \n \n \n
\n","import {AfterViewInit, Component, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {select, Store} from '@ngrx/store';\nimport { State } from '../../store/reducer/mitarbeiterverwaltung.reducer';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport {loadAllMitarbeiterStart} from '../../store/actions/getAllMitarbeiter.actions';\nimport {ZeiterfassungFormdialogNeuComponent} from '../../../Zeiterfassung/components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\nimport {MitarbeiterFormdialogComponent} from '../mitarbeiter-form-dialog/mitarbeiter-formdialog.component';\nimport {loadSalutationsStart} from '../../store/actions/anrede.actions';\nimport {loadRollenStart} from '../../store/actions/rolle.actions';\nimport {MitarbeiterItem} from '../../mitarbeiter.model';\nimport {FirmaFormdialogComponent} from '../firma-form-dialog/firma-formdialog.component';\nimport {loadBranchenStart} from '../../store/actions/branche.actions';\nimport {loadFirmaStart} from '../../store/actions/getFirma.actions';\nimport {FirmaItem} from '../../firma.model';\nimport {deleteMitarbeiterStart} from '../../store/actions/mitarbeiter-del.actions';\nimport {reactivateMitarbeiterStart} from \"../../store/actions/mitarbeiter-reactivate.actions\";\nimport {loadUserStart} from \"../../../landingpage/store/actions/getUser.actions\";\nimport {Router} from \"@angular/router\";\nimport {HttpClient} from '@angular/common/http';\nimport {Security} from '../../../../security';\nimport {Observable} from 'rxjs';\nimport {getFilteredMitarbeiterStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFilteredMitarbeiter.actions';\n\n\n@Component({\n selector: 'app-mitarbeiterverwaltung-page',\n templateUrl: './mitarbeiterverwaltung-page.component.html',\n styleUrls: ['./mitarbeiterverwaltung-page.component.scss'],\n})\n\n\n\n\nexport class MitarbeiterverwaltungPageComponent implements OnInit {\n\n /**\n * Constructor of Addresses page\n *\n * @param store - The store service\n * @param dialog - The dialog service\n */\n // tslint:disable-next-line:max-line-length variable-name\n constructor(\n private _router: Router ,\n private store: Store<{ mitarbeiterverwaltung: State }>,\n private landingStore: Store<{ landingpage: State }>,\n public dialog: MatDialog,\n public http: HttpClient,\n public security: Security) {\n\n this.$firma = store.pipe(select((state) => state.mitarbeiterverwaltung.firma.item));\n this.$mitarbeiter = store.pipe(select((state) => state.mitarbeiterverwaltung.items));\n this.$personalien = landingStore.pipe(select((state) => state.landingpage.items));\n\n }\n public showAdd: Observable;\n public $mitarbeiter;\n\n public $personalien;\n\n public $firma;\n\n public functionMenuEnabled: boolean;\n\n /**\n * Executed when the component is initialized\n */\n public ngOnInit(): void {\n this.showAdd = this.security.checkIfAllowed('1001');\n this.functionMenuEnabled = true;\n const firmaId = sessionStorage.getItem('firmaId');\n this.store.dispatch(loadAllMitarbeiterStart({string: firmaId }));\n }\n\n public editPersonalien(mitarbeiter: MitarbeiterItem): void {\n const dialogRef = this.dialog.open(MitarbeiterFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.editpersonalien.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.cancelButtonLabel',\n id: mitarbeiter.id,\n anrede: mitarbeiter.anrede,\n name: mitarbeiter.name,\n vorname: mitarbeiter.vorname,\n email: mitarbeiter.email,\n passwort: mitarbeiter.passwort,\n geburtstag: mitarbeiter.geburtstag,\n mobile: mitarbeiter.mobile,\n rolle: mitarbeiter.rolle,\n ferientage: mitarbeiter.ferientage,\n anstellungprozent: mitarbeiter.anstellungprozent * 100,\n ort: mitarbeiter.ort,\n plz: mitarbeiter.plz,\n str1: mitarbeiter.str1,\n str2: mitarbeiter.str2,\n aktiv: mitarbeiter.aktiv,\n stundenProTag: mitarbeiter.stundenProTag\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n public deletePersonalien(mitarbeiter: MitarbeiterItem): void{\n this.store.dispatch(deleteMitarbeiterStart({item: mitarbeiter}));\n }\n\n public reactivatePersonalien(mitarbeiter: MitarbeiterItem): void{\n this.store.dispatch(reactivateMitarbeiterStart({item: mitarbeiter}));\n }\n\n public addMitarbeiter(): void{\n const dialogRef = this.dialog.open(MitarbeiterFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.addMitarbeiter.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.addMitarbeiter.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.addMitarbeiter.cancelButtonLabel',\n geburtstag: '',\n aktiv: true,\n },\n });\n dialogRef.afterClosed().subscribe(result => {\n getFilteredMitarbeiterStart({\n string: sessionStorage.getItem('mitarbeiterSearchString'),\n item: {search: sessionStorage.getItem('mitarbeiterSuche'), deleted: Boolean(sessionStorage.getItem('mitarbeiterDeaktiviert'))}\n });\n });\n }\n\n public editFirma(firma: FirmaItem): void {\n const dialogRef = this.dialog.open(FirmaFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.editFirma.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.cancelButtonLabel',\n id: firma.id,\n email: firma.email,\n name: firma.name,\n telefon: firma.telefon,\n arbsol: firma.arbsol,\n branche: firma.branche,\n ort: firma.ort,\n plz: firma.plz,\n str1: firma.str1,\n str2: firma.str2\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n}\n","\n \n
{{ 'pages.mitarbeiterverwaltung.title' | translate }}
\n \n
\n \n
\n\n
\n\n
\n
\n\n\n
\n","import {Component, Inject, OnInit, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {DialogData, RollenverwaltungPageformComponent} from '../rollenverwaltung-pageForm/rollenverwaltung-pageform.component';\nimport {select, Store} from '@ngrx/store';\nimport {State} from '../../store/reducer/mitarbeiterverwaltung.reducer';\nimport {loadRechteStart} from '../../store/actions/getAllRechte.actions';\nimport {addRolleStart} from '../../store/actions/rolle-add.actions';\nimport {editRolleStart} from '../../store/actions/rolle-edit.actions';\nimport {MatSelect} from '@angular/material/select';\n\n\n@Component({\n selector: 'app-rollenverwaltung-formdialog',\n templateUrl: './rollenverwaltung-formdialog.component.html',\n styleUrls: ['./rollenverwaltung-formdialog.component.scss']\n})\n\n\nexport class RollenverwaltungFormdialogComponent implements OnInit {\n\n\n\n constructor(public dialogRef: MatDialogRef,\n private store: Store<{ mitarbeiterverwaltung: State }>,\n @Inject(MAT_DIALOG_DATA) public data: DialogData)\n {\n dialogRef.disableClose = true;\n this.rollenForm.patchValue({\n bezeichnung: data.bezeichnung,\n rechte: data.rechte,\n id: data.id,\n });\n this.$rechte = store.pipe(select((state) => state.mitarbeiterverwaltung.rechte.items));\n }\n\n public $rechte;\n public rollenForm = new FormGroup({\n bezeichnung: new FormControl('' , [Validators.required, Validators.maxLength(255)]),\n rechte: new FormControl('', [Validators.required]),\n id: new FormControl(''),\n });\n // tslint:disable-next-line:variable-name\n public last_selection = null;\n @ViewChild('mySel') private skillSel: MatSelect;\n\n public getErrorMessage(formField: string): string {\n const formControl = this.rollenForm.get(formField);\n if ( formControl.hasError('required')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.pflichtfeld`;\n }\n else if ( formControl.hasError('minlength')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.minlength`;\n }\n else if ( formControl.hasError('maxlength')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.maxlength`;\n }\n else if ( formControl.hasError('min')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.min`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.pattern`;\n }\n return 'pages.zeitverwaltung.spesenDialog.err.generic';\n }\n\n public handleSubmitClick(): void{\n const item = this.rollenForm.value;\n // Rolle hinzufügen, da die ID nicht gesetzt ist\n if (!this.rollenForm.value.id){\n this.store.dispatch(addRolleStart({rolle: item}));\n }\n // Rolle editieren, da eine ID mitgegeben wurde\n else{\n this.store.dispatch(editRolleStart({rolle: item}));\n }\n this.dialogRef.close(true);\n }\n\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n\n }\n\n\n ngOnInit(): void {\n this.store.dispatch(loadRechteStart());\n }\n\n okClicked(): void {\n this.last_selection = this.rollenForm.controls.rechte.value;\n this.skillSel.close();\n }\n}\n","

{{ data.title | translate }}

\n\n\n
\n \n {{ 'pages.zeitverwaltung.spesenartDialog.bezeichnung' | translate }}\n \n \n\n \n {{ 'pages.rollenverwaltung.addRollen.rechte' | translate }}\n \n \n {{rechte.code + \" \" + rechte.bezeichnung}}\n \n
\n \n {{ data.submitButtonLabel | translate }}\n \n
\n
\n
\n\n\n
\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import {Component, Inject, OnInit, ViewChild, AfterViewInit, OnDestroy, HostListener} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\nimport {State} from '../../store/reducer/mitarbeiterverwaltung.reducer';\nimport {RollenverwaltungFormdialogComponent} from '../rollenverwaltung-form-dialog/rollenverwaltung-formdialog.component';\nimport {RechteItem} from '../../rechte.model';\n\n\n\nexport interface DialogData {\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n rechte: number[];\n bezeichnung: string;\n}\n\n\n@Component({\n selector: 'app-rollenverwaltung-pageform',\n templateUrl: './rollenverwaltung-pageform.component.html',\n styleUrls: ['./rollenverwaltung-pageform.component.scss'],\n})\n\n\n\nexport class RollenverwaltungPageformComponent{\n\n public $rollen;\n public $error;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialog: MatDialog,\n public dialogRef: MatDialogRef,\n private store: Store<{ mitarbeiterverwaltung: State }>,\n ) {\n dialogRef.disableClose = true;\n this.$rollen = store.pipe(select((state) => state.mitarbeiterverwaltung.rollen.items));\n this.$error = store.pipe(select((state) => state.mitarbeiterverwaltung.rollen.error));\n }\n\n\n\n public handleSubmitClick(): void{\n this.dialogRef.close(true);\n }\n\n public addRolle(): void{\n const dialogRef = this.dialog.open(RollenverwaltungFormdialogComponent, {\n data: {\n title: 'pages.rollenverwaltung.addRollen.title',\n submitButtonLabel: 'pages.projektverwaltung.addProjekt.submitButtonLabel',\n cancelButtonLabel: 'pages.projektverwaltung.addProjekt.cancelButtonLabel',\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n\n\n}\n\n","

{{ data.title | translate }}\n\n
\n \n
\n

\n
\n {{ error }}\n
\n\n\n\n\n\n\n \n {{ data.submitButtonLabel | translate }}\n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {MatDialog} from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\n\nimport {RolleItem} from '../../rolle.model';\nimport {RollenverwaltungFormdialogComponent} from '../rollenverwaltung-form-dialog/rollenverwaltung-formdialog.component';\nimport {State} from '../../store/reducer/mitarbeiterverwaltung.reducer';\nimport {deleteRolleStart} from '../../store/actions/rolle-del.actions';\n\n@Component({\n selector: 'app-rollenverwaltung-table',\n templateUrl: './rollenverwaltung-table.component.html',\n styleUrls: ['./rollenverwaltung-table.component.scss'],\n})\nexport class RollenverwaltungTableComponent implements OnInit {\n public displayedColumns: string[] = [\n 'bezeichnung',\n 'actions'\n ];\n\n public dataSource = new MatTableDataSource();\n\n constructor( public dialog: MatDialog,\n private store: Store<{ mitarbeiterverwaltung: State }>\n ) {\n }\n\n /**\n * Sets addresses to datasource\n *\n * @param addresses - The addresses\n */\n @Input()\n public set rollen(rollen: RolleItem[]) {\n this.dataSource.data = rollen;\n }\n\n\n public ngOnInit(): void {}\n\n public editRolle(rolle: RolleItem): void {\n // Öfnnen von Rollen Formular mit mitgegebenen Werten\n const dialogRef = this.dialog.open(RollenverwaltungFormdialogComponent, {\n data: {\n title: 'pages.rollenverwaltung.editRollen.title',\n submitButtonLabel: 'pages.projektverwaltung.addProjekt.submitButtonLabel',\n cancelButtonLabel: 'pages.projektverwaltung.addProjekt.cancelButtonLabel',\n id: rolle.id,\n bezeichnung: rolle.key,\n rechte: rolle.rechte,\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n\n public deleteRolle(rolle: RolleItem): void {\n this.store.dispatch(deleteRolleStart({item: rolle}));\n }\n\n}\n","\n\n\n \n \n \n \n\n\n \n \n \n \n\n \n \n
{{ 'pages.zeitverwaltung.spesenverwaltung.table.bezeichnung' | translate }} {{rolle.key }} \n \n \n \n \n \n \n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {MatDialog} from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\nimport {Zeitstate} from '../../../Zeiterfassung/store/reducer/zeiterfassung.reducer';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {BestaetigungsFormComponent} from '@src/app/ui-components/bestaetigungs-form/bestaetigungs-form.component';\nimport {deleteFirmaZeitStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-del.actions';\nimport {FirmaZeitFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/firmazeiten-form-dialog/firmazeiten-formdialog.component';\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\nimport {UserInfoItem} from '@src/app/pages/Mitarbeiterverwaltung/userInfo.model';\nimport {UserinfoFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/userinfo-form-dialog/userinfo-formdialog.component';\nimport {deleteUserInfoStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/saldo-del.actions';\n\n@Component({\n selector: 'app-saldo-table',\n templateUrl: './saldo-table.component.html',\n styleUrls: ['./saldo-table.component.scss'],\n})\nexport class SaldoTableComponent implements OnInit {\n public displayedColumns: string[] = [\n 'jahr',\n '%',\n 'ferien',\n 'actions',\n ];\n\n public dataSource = new MatTableDataSource();\n\n constructor( public dialog: MatDialog , public store: Store<{ zeiterfassung: Zeitstate }> ) {\n }\n\n @Input()\n public showFunctionMenu = true;\n\n @Input()\n public zeitId: number;\n\n\n @Input()\n public set saldo(saldo: UserInfoItem[]) {\n this.dataSource.data = saldo;\n\n }\n\n\n public ngOnInit(): void {\n\n }\n\n public editUserinfo(firmaZeit: UserInfoItem): void {\n this.dialog.open(UserinfoFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.userinfo.editUserinfo',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n id: firmaZeit.id,\n datum: firmaZeit.datum,\n prozent: firmaZeit.prozent,\n ferien: firmaZeit.ferien,\n userId: firmaZeit.userId,\n saldoFerien: firmaZeit.saldoFerien,\n saldoZeit: firmaZeit.saldoZeit\n },\n });\n }\n\n public deleteUserinfo(saldo: UserInfoItem): void {\n const bestätigungsForm = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.deleteUserInfo.title',\n text: 'pages.mitarbeiterverwaltung.deleteUserInfo.text',\n },\n });\n bestätigungsForm.afterClosed().subscribe(result => {\n if (result === true){\n this.store.dispatch(deleteUserInfoStart({item: saldo.id, userId: saldo.userId}));\n }\n });\n\n }\n\n\n}\n","\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n \n \n
{{ 'pages.mitarbeiterverwaltung.saldoTable.jahr' | translate }} {{saldo.datum | date:'dd.MM.yyyy'}} {{ 'pages.mitarbeiterverwaltung.saldoTable.prozent' | translate }} {{ saldo.prozent }} {{ 'pages.mitarbeiterverwaltung.saldoTable.ferien' | translate }} {{saldo.ferien }} \n \n \n \n \n \n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {select, Store} from '@ngrx/store';\nimport * as moment from 'moment';\n\nimport {addUserInfoStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/userInfo-add.actions';\nimport {editUserInfoStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/userInfo-edit.actions';\nimport {State} from '@src/app/pages/Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\n\nexport interface DialogData{\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n userId: number;\n datum: Date;\n prozent: number;\n ferien: number;\n saldoZeit: number;\n saldoFerien: number;\n}\n\n@Component({\n selector: 'app-userinfo-formdialog',\n templateUrl: './userinfo-formdialog.component.html',\n styleUrls: ['./userinfo-formdialog.component.scss']\n})\n\n\nexport class UserinfoFormdialogComponent implements OnInit{\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private store: Store<{ mitarbeiterverwaltung: State }>)\n {\n dialogRef.disableClose = true;\n this.yearFerien = (data.datum).toString().slice(0, 4);\n\n this.userinfo.patchValue({\n datum: data.datum,\n prozent: data.prozent,\n userId: data.userId,\n saldoZeit: data.saldoZeit,\n saldoFerien: data.saldoFerien,\n id: data.id,\n ferien: data.ferien,\n });\n }\n\n public yearFerien: string;\n\n\n public userinfo = new FormGroup({\n datum: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n prozent: new FormControl('', [Validators.required]),\n ferien: new FormControl('', [Validators.required]),\n saldoZeit: new FormControl(''),\n saldoFerien: new FormControl(''),\n id: new FormControl(''),\n userId: new FormControl('')\n });\n\n\n public handleSubmitClick(): void{\n this.userinfo.value.datum = this.wandler(this.userinfo.value.datum);\n\n if (this.userinfo.value.id){\n this.store.dispatch(editUserInfoStart({item: this.userinfo.value}));\n }\n else{\n this.store.dispatch(addUserInfoStart({userInfo: this.userinfo.value}));\n }\n\n\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public ngOnInit(): void {\n // this.store.dispatch(loadFeiertageStart({firmaZeitId: this.data.zeitId}));\n }\n\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n}\n","

{{ data.title | translate }}

\n\n\n
\n\n
\n \n {{ 'pages.mitarbeiterverwaltung.userinfo.gueltig' | translate }}\n \n \n \n \n\n \n {{ 'pages.mitarbeiterverwaltung.userinfo.prozent' | translate }}\n \n \n\n\n
\n\n
\n \n {{ 'pages.mitarbeiterverwaltung.userinfo.saldoZeitLastYear' | translate }}\n \n \n \n {{ 'pages.mitarbeiterverwaltung.userinfo.saldoFerienLastYear' | translate }}\n \n \n\n \n {{ 'pages.mitarbeiterverwaltung.userinfo.ferien' | translate }}{{\" \" + yearFerien}}\n \n \n
\n
\n\n\n\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { FirmaItem } from './firma.model';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\n\ntype Firma = CollectionApiResponse;\ntype FirmaZeiten = CollectionApiResponse;\ntype Feiertage = CollectionApiResponse;\n\n@Injectable()\nexport class FirmaService {\n /**\n * Constructor of address service\n *\n * @param http - The http client\n */\n constructor(private http: HttpClient) {}\n\n /**\n * Returns a list of addresses\n *\n * @returns - An observable that emits the response\n */\n public getFirma(): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/getFirma.php?${sessionStorage.getItem('session')}`) as Observable<\n FirmaItem\n >;\n }\n\n public getFeiertage(firmaZeitId: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/getFeiertage.php?${sessionStorage.getItem('session')}&firmaZeit=${firmaZeitId}`) as Observable<\n Feiertage\n >;\n }\n\n public getFirmaZeiten(): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/getFirmaZeiten.php?${sessionStorage.getItem('session')}`) as Observable<\n FirmaZeiten\n >;\n }\n\n public addFirmaZeit(): Observable {\n // eslint-disable-next-line max-len\n return this.http.get(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/addFirmaZeit.php?${sessionStorage.getItem('session')}`,\n ) as Observable;\n }\n\n public addFeiertage(feiertag: FeiertagItem): Observable {\n // eslint-disable-next-line max-len\n return this.http.post(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/addFeiertage.php?${sessionStorage.getItem('session')}`, feiertag) as Observable;\n }\n\n public editFeiertage(feiertag: FeiertagItem): Observable {\n // eslint-disable-next-line max-len\n return this.http.put(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/editFeiertage.php?${sessionStorage.getItem('session')}`, feiertag) as Observable;\n }\n\n public deleteFeiertage(feiertag: FeiertagItem): Observable {\n console.log(feiertag);\n // eslint-disable-next-line max-len\n return this.http.delete(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/deleteFeiertage.php?${sessionStorage.getItem('session')}&feiertagId=${feiertag.id}&firmaZeitId=${feiertag.firmaZeitId}`) as Observable;\n }\n\n public editFirmaZeit(firmaZeit: FirmaZeitItem): Observable {\n // eslint-disable-next-line max-len\n return this.http.put(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/editFirmaZeit.php?${sessionStorage.getItem('session')}`,\n firmaZeit,\n ) as Observable;\n }\n\n public deleteFirmaZeit(firmaZeitId: number): Observable {\n // eslint-disable-next-line max-len\n return this.http.delete(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/deleteFirmaZeit.php?${sessionStorage.getItem('session')}&firmaZeitId=${firmaZeitId}`,\n ) as Observable;\n }\n\n public edit(firma: FirmaItem): Observable {\n // eslint-disable-next-line max-len\n return this.http.put(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/editFirma.php?${sessionStorage.getItem('session')}`,\n firma,\n ) as Observable;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { MitarbeiterItem } from './mitarbeiter.model';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\nimport {FilterItem} from '../Mitarbeiterverwaltung/filter.model';\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\nimport {UserInfoItem} from '@src/app/pages/Mitarbeiterverwaltung/userInfo.model';\n\ntype Mitarbeiter = CollectionApiResponse;\ntype Saldos = CollectionApiResponse;\ntype UserInfos = CollectionApiResponse;\n\n@Injectable()\nexport class MitarbeiterService {\n /**\n * Constructor of address service\n *\n * @param http - The http client\n */\n constructor(private http: HttpClient) {}\n\n /**\n * Returns a list of addresses\n *\n * @returns - An observable that emits the response\n */\n public getAllMitarbeiter(item: string): Observable {\n const firmaId = item;\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/getAllMitarbeiter.php?${sessionStorage.getItem('session')}`) as Observable<\n Mitarbeiter\n >;\n }\n\n public getAllMitarbeiterSelectbox(item: string): Observable {\n const firmaId = item;\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/getAll/getAllMitarbeiterSelectbox.php?${sessionStorage.getItem('session')}`) as Observable<\n Mitarbeiter\n >;\n }\n\n public getFilteredMitarbeiter(filterOption: string, item: FilterItem): Observable {\n const filter = filterOption;\n const filterItem = item;\n const firmaId = sessionStorage.getItem('firmaId');\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/getFilteredMitarbeiter.php?${sessionStorage.getItem('session')}&filter=${filter}`, filterItem) as Observable<\n Mitarbeiter\n >;\n }\n\n public getSaldo(userId: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/getSaldo.php?${sessionStorage.getItem('session')}&userId=${userId}`) as Observable<\n SaldoItem\n >;\n }\n\n public getUserInfo(userId: number, showYears: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/getUserInfo.php?${sessionStorage.getItem('session')}&userId=${userId}&showYears=${showYears}`) as Observable<\n UserInfos\n >;\n }\n\n public addUserInfo(userInfo: UserInfoItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/addUserInfo.php?${sessionStorage.getItem('session')}`, userInfo) as Observable<\n UserInfoItem\n >;\n }\n\n public editUserInfo(userInfo: UserInfoItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/editUserInfo.php?${sessionStorage.getItem('session')}`, userInfo) as Observable<\n UserInfoItem\n >;\n }\n\n public deleteUserInfo(saldoId: number, userId: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.delete(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/deleteUserInfo.php?${sessionStorage.getItem('session')}&userInfoId=${saldoId}&userId=${userId}`) as Observable<\n number\n >;\n }\n\n\n public add(item: MitarbeiterItem): Observable {\n return this.http.post(window.location.protocol + '//' + window.location.hostname +\n `/myDay/backend/mitarbeiterverwaltung/addMitarbeiter.php?${sessionStorage.getItem('session')}`, item) as Observable<\n MitarbeiterItem\n >;\n }\n\n public edit(mitarbeiter: MitarbeiterItem): Observable {\n return this.http.put(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/editMitarbeiter.php?${sessionStorage.getItem('session')}`,\n mitarbeiter,\n ) as Observable;\n }\n\n public delete(mitarbeiter: MitarbeiterItem): Observable {\n return this.http.put(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/deleteMitarbeiter.php?${sessionStorage.getItem('session')}`,\n mitarbeiter\n ) as Observable;\n }\n\n public reactivate(mitarbeiter: MitarbeiterItem): Observable {\n return this.http.put(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/mitarbeiterverwaltung/reactivateMitarbeiter.php?${sessionStorage.getItem('session')}`,\n mitarbeiter\n ) as Observable;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\nimport { MatTableModule } from '@angular/material/table';\nimport { CommonModule } from '@angular/common';\nimport {MatToolbar, MatToolbarModule} from '@angular/material/toolbar';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatListModule } from '@angular/material/list';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MAT_DATE_LOCALE, MatNativeDateModule } from '@angular/material/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatSortModule } from '@angular/material/sort';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {MitarbeiterverwaltungPageComponent} from './components/mitarbeiterverwaltung-page/mitarbeiterverwaltung-page.component';\nimport {MitarbeiterTableComponent} from './components/mitarbeiter-table/mitarbeiter-table.component';\nimport {MitarbeiterService} from './mitarbeiter.service';\nimport {MitarbeiterEffects} from './store/effects/mitarbeiter.effects';\nimport {mitarbeiterverwaltungReducer} from './store/reducer/mitarbeiterverwaltung.reducer';\nimport {MitarbeiterFormdialogComponent} from './components/mitarbeiter-form-dialog/mitarbeiter-formdialog.component';\nimport {BsDatepickerModule} from 'ngx-bootstrap/datepicker';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {AnredeEffects} from './store/effects/anrede.effects';\nimport {AnredeService} from './anrede.service';\nimport {RolleEffects} from './store/effects/rolle.effects';\nimport {RolleService} from './rolle.service';\nimport {FirmaFormdialogComponent} from './components/firma-form-dialog/firma-formdialog.component';\nimport {BrancheService} from './branche.service';\nimport {BrancheEffects} from './store/effects/branche.effects';\nimport {FirmaService} from './firma.service';\nimport {FirmaEffects} from './store/effects/firma.effects';\nimport {MitarbeiterFilterComponent} from './components/mitarbeiter-filter/mitarbeiter-filter.component';\nimport {SharedModule} from '../../shared.module';\nimport {RollenverwaltungPageformComponent} from './components/rollenverwaltung-pageForm/rollenverwaltung-pageform.component';\nimport {RollenverwaltungTableComponent} from './components/rollenverwaltung-table/rollenverwaltung-table.component';\nimport {RollenverwaltungFormdialogComponent} from './components/rollenverwaltung-form-dialog/rollenverwaltung-formdialog.component';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\nimport {ZeiterfassungPageComponentModule} from '@src/app/pages/Zeiterfassung/zeiterfassung.module';\nimport {FirmaTableComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/firma-table/firma-table.component';\nimport {FirmaZeitFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/firmazeiten-form-dialog/firmazeiten-formdialog.component';\nimport {FeiertageFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/feiertage-form-dialog/feiertage-formdialog.component';\nimport {FeiertageTableComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/feiertage-table/feiertage-table.component';\nimport {SaldoTableComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/saldo-table/saldo-table.component';\nimport {UserinfoFormdialogComponent} from '@src/app/pages/Mitarbeiterverwaltung/components/userinfo-form-dialog/userinfo-formdialog.component';\n\n\n@NgModule({\n imports: [\n StoreModule.forFeature('mitarbeiterverwaltung', mitarbeiterverwaltungReducer),\n EffectsModule.forFeature([MitarbeiterEffects, AnredeEffects, RolleEffects, BrancheEffects, FirmaEffects]),\n MatTableModule,\n CommonModule,\n TranslateModule,\n MatToolbarModule,\n FlexLayoutModule,\n MatListModule,\n MatCardModule,\n MatMenuModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n ReactiveFormsModule,\n MatSortModule,\n BsDatepickerModule,\n MatCheckboxModule,\n SharedModule,\n MatTooltipModule,\n TooltipModule,\n ZeiterfassungPageComponentModule,\n\n ],\n providers: [MitarbeiterService, AnredeService, RolleService, BrancheService, FirmaService],\n declarations: [\n MitarbeiterverwaltungPageComponent,\n MitarbeiterTableComponent,\n MitarbeiterFormdialogComponent,\n FirmaFormdialogComponent,\n MitarbeiterFilterComponent,\n RollenverwaltungPageformComponent,\n RollenverwaltungTableComponent,\n RollenverwaltungFormdialogComponent,\n FirmaTableComponent,\n FirmaZeitFormdialogComponent,\n FeiertageFormdialogComponent,\n FeiertageTableComponent,\n SaldoTableComponent,\n UserinfoFormdialogComponent\n ],\n})\nexport class MitarbeiterverwaltungModule {}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { CollectionApiResponse } from '../../../lib/util/api-response';\nimport { RolleItem } from './rolle.model';\nimport {RechteItem} from './rechte.model';\n\ntype RolleResponse = CollectionApiResponse;\ntype RechteResponse = CollectionApiResponse;\n\n@Injectable()\nexport class RolleService {\n /**\n * Constructor of SalutationsService\n *\n * @param httpClient - Http service of angular\n */\n constructor(private httpClient: HttpClient) {}\n\n /**\n * Get all salutations\n *\n * @returns - An observable that emits with the fetched salutations\n */\n\n public getAllRollen(): Observable {\n // tslint:disable-next-line:max-line-length\n return this.httpClient.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/getAll/getAllRollen.php?${sessionStorage.getItem('session')}`) as Observable<\n RolleResponse\n >;\n }\n\n public getAllRechte(): Observable {\n // tslint:disable-next-line:max-line-length\n return this.httpClient.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/getAll/getAllRechte.php?${sessionStorage.getItem('session')}`) as Observable<\n RechteResponse\n >;\n }\n\n public getUserRollen(): Observable {\n // tslint:disable-next-line:max-line-length\n return this.httpClient.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/rollenverwaltung/getUserRollen.php?${sessionStorage.getItem('session')}`) as Observable<\n RolleResponse\n >;\n }\n\n public changeRolle(rolleId: number): Observable {\n return this.httpClient.get(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/rollenverwaltung/changeRolle.php?${sessionStorage.getItem('session')}&rolleId=${rolleId}`) as Observable<\n number\n >;\n }\n\n public addRolle(rolle: RolleItem): Observable {\n return this.httpClient.post(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/rollenverwaltung/addRolle.php?${sessionStorage.getItem('session')}`, rolle) as Observable<\n RolleItem\n >;\n }\n\n public editRolle(rolle: RolleItem): Observable {\n return this.httpClient.post(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/rollenverwaltung/editRolle.php?${sessionStorage.getItem('session')}`, rolle) as Observable<\n RolleItem\n >;\n }\n\n public deleteRolle(rolle: RolleItem): Observable {\n return this.httpClient.post(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/rollenverwaltung/deleteRolle.php?${sessionStorage.getItem('session')}`, rolle) as Observable<\n RolleItem\n >;\n }\n}\n","import { createAction, props } from '@ngrx/store';\n\nexport const loadSalutationsStart = createAction('MITARBEITERVERWALTUNG::ANREDE_LOAD_START');\nexport const loadSalutationsSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::ANREDE_LOAD_SUCCEEDED',\n props<{ anreden: any[] }>(),\n);\nexport const loadSalutationFailed = createAction('MITARBEITERVERWALTUNG::ANREDE_LOAD_FAILED');\n","import { createAction, props } from '@ngrx/store';\n\nexport const loadBranchenStart = createAction('MITARBEITERVERWALTUNG::BRANCHEN_LOAD_START');\nexport const loadBranchenSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::BRANCHEN_LOAD_SUCCEEDED',\n props<{ branchen: any[] }>(),\n);\nexport const loadBranchenFailed = createAction('MITARBEITERVERWALTUNG::BRANCHEN_LOAD_FAILED');\n","import { createAction, props } from '@ngrx/store';\n\nexport const changeRolleStart = createAction('MITARBEITERVERWALTUNG::ROLLE_CHANGE_START', props<{rolleId: number}>());\nexport const changeRolleSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::ROLLE_CHANGE_SUCCEEDED',\n props<{ rollenId: number }>(),\n);\nexport const changeRolleFailed = createAction('MITARBEITERVERWALTUNG::ROLLE_CHANGE_FAILED');\n","import { createAction, props } from '@ngrx/store';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\n\nexport const addFeiertageStart = createAction('MITARBEITERVERWALTUNG::ADD_FEIERTAGE_START', props<{ item: FeiertagItem }>());\nexport const addFeiertageSucceeded = createAction('MITARBEITERVERWALTUNG::ADD_FEIERTAGE_SUCCEEDED', props<{ item: FeiertagItem }>());\nexport const addFeiertageFailed = createAction('MITARBEITERVERWALTUNG::ADD_FEIERTAGE_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\n\nexport const deleteFeiertageStart = createAction('MITARBEITERVERWALTUNG::DELETE_FEIERTAGE_START', props<{ item: FeiertagItem }>());\nexport const deleteFeiertageSucceeded = createAction('MITARBEITERVERWALTUNG::DELETE_FEIERTAGE_SUCCEEDED', props<{ item: FeiertagItem }>());\nexport const deleteFeiertageFailed = createAction('MITARBEITERVERWALTUNG::DELETE_FEIERTAGE_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\n\nexport const editFeiertageStart = createAction('MITARBEITERVERWALTUNG::EDIT_FEIERTAGE_START', props<{ item: FeiertagItem }>());\nexport const editFeiertageSucceeded = createAction('MITARBEITERVERWALTUNG::EDIT_FEIERTAGE_SUCCEEDED', props<{ item: FeiertagItem }>());\nexport const editFeiertageFailed = createAction('MITARBEITERVERWALTUNG::EDIT_FEIERTAGE_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { FirmaItem } from '../../firma.model';\n\nexport const editFirmaStart = createAction('MITARBEITERVERWALTUNG::EDIT_FIRMA_START', props<{ item: FirmaItem }>());\nexport const editFirmaSucceeded = createAction('MITARBEITERVERWALTUNG::EDIT_FIRMA_SUCCEEDED', props<{ item: FirmaItem }>());\nexport const editFirmaFailed = createAction('MITARBEITERVERWALTUNG::EDIT_FIRMA_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\n\nexport const addFirmaZeitStart = createAction('MITARBEITERVERWALTUNG::ADD_FIRMAZEIT_START');\nexport const addFirmaZeitSucceeded = createAction('MITARBEITERVERWALTUNG::ADD_FIRMAZEIT_SUCCEEDED', props<{ item: number }>());\nexport const addFirmaZeitFailed = createAction('MITARBEITERVERWALTUNG::ADD_FIRMAZEIT_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { MitarbeiterItem } from '../../mitarbeiter.model';\nimport {RolleItem} from '../../rolle.model';\n\nexport const deleteFirmaZeitStart = createAction('MITARBEITERVERWALTUNG::DELETE_FIRMAZEIT_START', props<{ item: number }>());\nexport const deleteFirmaZeitSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::DELETE_FIRMAZEIT_SUCCEEDED'\n);\nexport const deleteFirmaZeitFailed = createAction('MITARBEITERVERWALTUNG::DELETE_FIRMAZEIT_FAILED', props<{ error: string }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\n\nexport const editFirmaZeitenStart = createAction('MITARBEITERVERWALTUNG::EDIT_FIRMAZEITEN_START', props<{ item: FirmaZeitItem }>());\nexport const editFirmaZeitenSucceeded = createAction('MITARBEITERVERWALTUNG::EDIT_FIRMAZEITEN_SUCCEEDED', props<{ item: FirmaZeitItem }>());\nexport const editFirmaZeitenFailed = createAction('MITARBEITERVERWALTUNG::EDIT_FIRMAZEITEN_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { MitarbeiterItem } from '../../mitarbeiter.model';\n\nexport const loadAllMitarbeiterStart = createAction('MITARBEITERVERWALTUNG::LOAD_ALL_USERS_START', props<{string: string}>() , );\nexport const loadAllMitarbeiterSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::LOAD_ALL_USERS_SUCCEEDED',\n props<{ item: any[] }>(),\n);\nexport const loadAllMitarbeiterFailed = createAction('MITARBEITERVERWALTUNG::LOAD_ALL_USERS_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { MitarbeiterItem } from '../../mitarbeiter.model';\n\nexport const loadAllMitarbeiterSelectboxStart = createAction('MITARBEITERVERWALTUNG::LOAD_ALL_SELECTBOXUSERS_START', props<{string: string}>() , );\nexport const loadAllMitarbeiterSelectboxSuceeded = createAction(\n 'MITARBEITERVERWALTUNG::LOAD_ALL_SELECTBOXUSERS_SUCCEEDED',\n props<{ item: any[] }>(),\n);\nexport const loadAllMitarbeiterSelectboxFailed = createAction('MITARBEITERVERWALTUNG::LOAD_ALL_SELECTBOXUSERS_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\n\nexport const loadRechteStart = createAction('MITARBEITERVERWALTUNG::RECHTE_LOAD_START');\nexport const loadRechteSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::RECHTE_LOAD_SUCCEEDED',\n props<{ rechte: any[] }>(),\n);\nexport const loadRechteFailed = createAction('MITARBEITERVERWALTUNG::RECHTE_LOAD_FAILED');\n","import { createAction, props } from '@ngrx/store';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\n\nexport const loadFeiertageStart = createAction('MITARBEITERVERWALTUNG::LOAD_FEIERTAGE_START', props<{firmaZeitId: number}>());\nexport const loadFeiertageSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::LOAD_FEIERTAGE_SUCCEEDED',\n props<{ item: FeiertagItem[] }>(),\n);\nexport const loadFeiertageFailed = createAction('MITARBEITERVERWALTUNG::LOAD_FEIERTAGE_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FilterItem} from '../../filter.model';\nimport {MitarbeiterItem} from '../../mitarbeiter.model';\n\nexport const getFilteredMitarbeiterStart = createAction('MITARBEITERVERWALTUNG::GET_FILTERED_MITARBEITER_START', props<{ string: string, item: FilterItem }>());\nexport const getFilteredMitarbeiterSucceeded = createAction('MITARBEITERVERWALTUNG::GET_FILTERED_MITARBEITER_SUCCEEDED', props<{ item: MitarbeiterItem[] }>());\nexport const getFilteredMitarbeiterFailed = createAction('MITARBEITERVERWALTUNG::GET_FILTERED_MITARBEITER_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FirmaItem} from '../../firma.model';\n\nexport const loadFirmaStart = createAction('MITARBEITERVERWALTUNG::LOAD_FIRMA_START');\nexport const loadFirmaSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::LOAD_FIRMA_SUCCEEDED',\n props<{ item: FirmaItem }>(),\n);\nexport const loadFirmaFailed = createAction('MITARBEITERVERWALTUNG::LOAD_FIRMA_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\n\nexport const loadFirmaZeitenStart = createAction('MITARBEITERVERWALTUNG::LOAD_FIRMAZEITEN_START' );\nexport const loadFirmaZeitenSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::LOAD_FIRMAZEITEN_SUCCEEDED',\n props<{ item: any[] }>(),\n);\nexport const loadFirmaZeitenFailed = createAction('MITARBEITERVERWALTUNG::FIRMAZEITEN_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\n\nexport const loadSaldoStart = createAction('MITARBEITERVERWALTUNG::LOAD_SALDO_START', props<{userId: number}>());\nexport const loadSaldoSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::LOAD_SALDO_SUCCEEDED',\n props<{ item: SaldoItem }>(),\n);\nexport const loadSaldoFailed = createAction('MITARBEITERVERWALTUNG::LOAD_SALDO_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {UserInfoItem} from '@src/app/pages/Mitarbeiterverwaltung/userInfo.model';\n\nexport const loadUserInfoStart = createAction('MITARBEITERVERWALTUNG::LOAD_USERINFO_START' , props<{userId: number, showYears: number}>());\nexport const loadUserInfoSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::LOAD_USERINFO_SUCCEEDED',\n props<{ item: UserInfoItem[] }>(),\n);\nexport const loadUserInfoFailed = createAction('MITARBEITERVERWALTUNG::LOAD_USERINFO_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\n\nexport const loadUserRollenStart = createAction('MITARBEITERVERWALTUNG::USERROLLEN_LOAD_START');\nexport const loadUserRollenSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::USERROLLEN_LOAD_SUCCEEDED',\n props<{ rollen: any[] }>(),\n);\nexport const loadUserRollenFailed = createAction('MITARBEITERVERWALTUNG::USERROLLEN_LOAD_FAILED');\n","import { createAction, props } from '@ngrx/store';\nimport { MitarbeiterItem } from '../../mitarbeiter.model';\n\nexport const addMitarbeiterStart = createAction('MITARBEITERVERWALTUNG::ADD_MITARBEITER_START', props<{ item: MitarbeiterItem }>());\nexport const addMitarbeiterSucceeded = createAction('MITARBEITERVERWALTUNG::ADD_MITARBEITER_SUCCEEDED', props<{ item: MitarbeiterItem }>());\nexport const addMitarbeiterFailed = createAction('MITARBEITERVERWALTUNG::ADD_MITARBEITER_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { MitarbeiterItem } from '../../mitarbeiter.model';\n\nexport const deleteMitarbeiterStart = createAction('MITARBEITERVERWALTUNG::DELETE_MITARBEITER_START', props<{ item: MitarbeiterItem }>());\nexport const deleteMitarbeiterSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::DELETE_MITARBEITER_SUCCEEDED'\n);\nexport const deleteMitarbeiterFailed = createAction('MITARBEITERVERWALTUNG::DELETE_MITARBEITER_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {MitarbeiterItem} from '../../mitarbeiter.model';\n\nexport const editMitarbeiterStart = createAction('MITARBEITERVERWALTUNG::EDIT_MITARBEITER_START', props<{ item: MitarbeiterItem }>());\nexport const editMitarbeiterSucceeded = createAction('MITARBEITERVERWALTUNG::EDIT_MITARBEITER_SUCCEEDED', props<{ item: MitarbeiterItem }>());\nexport const editMitarbeiterFailed = createAction('MITARBEITERVERWALTUNG::EDIT_MITARBEITER_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { MitarbeiterItem } from '../../mitarbeiter.model';\n\nexport const reactivateMitarbeiterStart = createAction('MITARBEITERVERWALTUNG::REACTIVATE_MITARBEITER_START', props<{ item: MitarbeiterItem }>());\nexport const reactivateMitarbeiterSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::REACTIVATE_MITARBEITER_SUCCEEDED'\n);\nexport const reactivateMitarbeiterFailed = createAction('MITARBEITERVERWALTUNG::REACTIVATE_MITARBEITER_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {RolleItem} from '../../rolle.model';\n\nexport const addRolleStart = createAction('MITARBEITERVERWALTUNG::ROLLE_ADD_START', props<{rolle: RolleItem}>());\nexport const addRolleSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::ROLLE_ADD_SUCCEEDED',\n props<{ rolle: RolleItem}>(),\n);\nexport const addRolleFailed = createAction('MITARBEITERVERWALTUNG::ROLLE_ADD_FAILED');\n","import { createAction, props } from '@ngrx/store';\nimport { MitarbeiterItem } from '../../mitarbeiter.model';\nimport {RolleItem} from '../../rolle.model';\n\nexport const deleteRolleStart = createAction('MITARBEITERVERWALTUNG::DELETE_ROLLE_START', props<{ item: RolleItem }>());\nexport const deleteRolleSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::DELETE_ROLLE_SUCCEEDED',\n props<{item: RolleItem}>()\n);\nexport const deleteRolleFailed = createAction('MITARBEITERVERWALTUNG::DELETE_ROLLE_FAILED', props<{ error: string }>());\n","import { createAction, props } from '@ngrx/store';\nimport {MitarbeiterItem} from '../../mitarbeiter.model';\nimport {RolleItem} from '../../rolle.model';\n\nexport const editRolleStart = createAction('MITARBEITERVERWALTUNG::EDIT_ROLLE_START', props<{ rolle: RolleItem }>());\nexport const editRolleSucceeded = createAction('MITARBEITERVERWALTUNG::EDIT_ROLLE_SUCCEEDED', props<{ rolle: RolleItem }>());\nexport const editRolleFailed = createAction('MITARBEITERVERWALTUNG::EDIT_ROLLE_FAILED');\n"," import { createAction, props } from '@ngrx/store';\n\nexport const loadRollenStart = createAction('MITARBEITERVERWALTUNG::ROLLE_LOAD_START');\nexport const loadRollenSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::ROLLE_LOAD_SUCCEEDED',\n props<{ rollen: any[] }>(),\n);\nexport const loadRollenFailed = createAction('MITARBEITERVERWALTUNG::ROLLE_LOAD_FAILED');\n","import { createAction, props } from '@ngrx/store';\n\nexport const deleteUserInfoStart = createAction('MITARBEITERVERWALTUNG::DELETE_USERINFO_START', props<{ item: number, userId: number }>());\nexport const deleteUserInfoSucceeded = createAction(\n 'MITARBEITERVERWALTUNG::DELETE_USERINFO_SUCCEEDED'\n);\nexport const deleteUserInfoFailed = createAction('MITARBEITERVERWALTUNG::DELETE_USERINFO_FAILED', props<{ error: string }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {UserInfoItem} from '@src/app/pages/Mitarbeiterverwaltung/userInfo.model';\n\nexport const addUserInfoStart = createAction('MITARBEITERVERWALTUNG::ADD_USERINFO_START', props<{userInfo: UserInfoItem}>());\nexport const addUserInfoSucceeded = createAction('MITARBEITERVERWALTUNG::ADD_USERINFO_SUCCEEDED', props<{ item: UserInfoItem }>());\nexport const addUserInfoFailed = createAction('MITARBEITERVERWALTUNG::ADD_USERINFO_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\nimport {UserInfoItem} from '@src/app/pages/Mitarbeiterverwaltung/userInfo.model';\n\nexport const editUserInfoStart = createAction('MITARBEITERVERWALTUNG::EDIT_USERINFO_START', props<{ item: UserInfoItem }>());\nexport const editUserInfoSucceeded = createAction('MITARBEITERVERWALTUNG::EDIT_USERINFO_SUCCEEDED', props<{ item: UserInfoItem }>());\nexport const editUserInfoFailed = createAction('MITARBEITERVERWALTUNG::EDIT_USERINFO_FAILED', props<{ error: Error }>());\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { catchError, map, mergeMap } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { AnredeService } from '../../anrede.service';\nimport { loadSalutationFailed, loadSalutationsStart, loadSalutationsSucceeded } from '../actions/anrede.actions';\n\n@Injectable()\nexport class AnredeEffects {\n /**\n * Loads the salutations when dispatching the start action\n */\n\n public loadAnreden$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadSalutationsStart),\n mergeMap(() =>\n this.anredeService.getAllSalutations().pipe(\n map((response) => loadSalutationsSucceeded({ anreden: response.data })),\n catchError(() => of(loadSalutationFailed())),\n ),\n ),\n ),\n );\n\n /**\n * Constructor of address effects\n *\n * @param actions$ - The action observable\n * @param salutationsService - The salutations service\n */\n constructor(private actions$: Actions, private anredeService: AnredeService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { catchError, map, mergeMap } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { BrancheService } from '../../branche.service';\nimport { loadBranchenFailed, loadBranchenStart, loadBranchenSucceeded } from '../actions/branche.actions';\n\n@Injectable()\nexport class BrancheEffects {\n /**\n * Loads the salutations when dispatching the start action\n */\n\n public loadAnreden$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadBranchenStart),\n mergeMap(() =>\n this.brancheService.getAllBranchen().pipe(\n map((response) => loadBranchenSucceeded({ branchen: response.data })),\n catchError(() => of(loadBranchenStart())),\n ),\n ),\n ),\n );\n\n /**\n * Constructor of address effects\n *\n * @param actions$ - The action observable\n * @param salutationsService - The salutations service\n */\n constructor(private actions$: Actions, private brancheService: BrancheService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport {catchError, map, mergeMap, tap} from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { loadFirmaFailed, loadFirmaStart, loadFirmaSucceeded } from '../actions/getFirma.actions';\nimport {MitarbeiterService} from '../../mitarbeiter.service';\nimport {addMitarbeiterFailed, addMitarbeiterStart, addMitarbeiterSucceeded} from '../actions/mitarbeiter-add.actions';\nimport {FirmaService} from '../../firma.service';\nimport {editFirmaFailed, editFirmaStart, editFirmaSucceeded} from '../actions/firma-edit.actions';\nimport {\n loadFirmaZeitenFailed,\n loadFirmaZeitenStart,\n loadFirmaZeitenSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFirmaZeiten.actions';\nimport {\n addFirmaZeitFailed,\n addFirmaZeitStart,\n addFirmaZeitSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-add.actions';\nimport {\n deleteFirmaZeitFailed,\n deleteFirmaZeitStart,\n deleteFirmaZeitSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-del.actions';\nimport {\n editFirmaZeitenFailed,\n editFirmaZeitenStart,\n editFirmaZeitenSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-edit.actions';\nimport {\n loadFeiertageFailed,\n loadFeiertageStart,\n loadFeiertageSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFeiertage.actions';\nimport {\n addFeiertageFailed,\n addFeiertageStart,\n addFeiertageSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-add.actions';\nimport {\n deleteFeiertageFailed,\n deleteFeiertageStart,\n deleteFeiertageSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-del.actions';\nimport {\n editFeiertageFailed,\n editFeiertageStart,\n editFeiertageSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-edit.actions';\n\n@Injectable()\nexport class FirmaEffects {\n /**\n * Loads the address list when dispatching the start action\n */\n public loadFirma$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadFirmaStart),\n mergeMap(() =>\n this.firmaService.getFirma().pipe(\n map((response) => loadFirmaSucceeded({ item: response })),\n catchError((e) => of(loadFirmaFailed(e))),\n ),\n ),\n ),\n );\n\n public loadFeiertage$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadFeiertageStart),\n mergeMap((firmaZeit) =>\n this.firmaService.getFeiertage(firmaZeit.firmaZeitId).pipe(\n map((response) => loadFeiertageSucceeded({ item: response.data })),\n catchError((e) => of(loadFeiertageFailed(e))),\n ),\n ),\n ),\n );\n\n public loadFirmaZeiten$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadFirmaZeitenStart),\n mergeMap(() =>\n this.firmaService.getFirmaZeiten().pipe(\n map((response) => loadFirmaZeitenSucceeded({ item: response.data })),\n catchError((e) => of(loadFirmaZeitenFailed(e))),\n ),\n ),\n ),\n );\n\n public addFirmaZeit$ = createEffect(() =>\n this.actions$.pipe(\n ofType(addFirmaZeitStart),\n mergeMap(() =>\n this.firmaService.addFirmaZeit().pipe(\n tap((item) => sessionStorage.setItem('firmaZeitId', item.toString())),\n mergeMap((response) => of(addFirmaZeitSucceeded({ item: response }))),\n catchError((e) => of(addFirmaZeitFailed(e))),\n ),\n ),\n ),\n );\n\n public addFeiertage$ = createEffect(() =>\n this.actions$.pipe(\n ofType(addFeiertageStart),\n mergeMap((feiertag) =>\n this.firmaService.addFeiertage(feiertag.item).pipe(\n mergeMap((response) => of(addFeiertageSucceeded({ item: response }), loadFeiertageStart({firmaZeitId: response.firmaZeitId}))),\n catchError((e) => of(addFeiertageFailed(e))),\n ),\n ),\n ),\n );\n\n public editFeiertage$ = createEffect(() =>\n this.actions$.pipe(\n ofType(editFeiertageStart),\n mergeMap((feiertag) =>\n this.firmaService.editFeiertage(feiertag.item).pipe(\n mergeMap((response) => of(editFeiertageSucceeded({ item: response }), loadFeiertageStart({firmaZeitId: response.firmaZeitId}))),\n catchError((e) => of(editFeiertageFailed(e))),\n ),\n ),\n ),\n );\n\n public deleteFeiertage$ = createEffect(() =>\n this.actions$.pipe(\n ofType(deleteFeiertageStart),\n mergeMap((feiertag) =>\n this.firmaService.deleteFeiertage(feiertag.item).pipe(\n mergeMap((response) => of(deleteFeiertageSucceeded({ item: response }), loadFeiertageStart({firmaZeitId: response.firmaZeitId}))),\n catchError((e) => of(deleteFeiertageFailed(e))),\n ),\n ),\n ),\n );\n\n public editFirmaZeit$ = createEffect(() =>\n this.actions$.pipe(\n ofType(editFirmaZeitenStart),\n mergeMap((firmaZeit) =>\n this.firmaService.editFirmaZeit(firmaZeit.item).pipe(\n mergeMap((response) => of(editFirmaZeitenSucceeded({ item: response }), loadFirmaZeitenStart())),\n catchError((e) => of(editFirmaZeitenFailed(e))),\n ),\n ),\n ),\n );\n\n public deleteFirmaZeit$ = createEffect(() =>\n this.actions$.pipe(\n ofType(deleteFirmaZeitStart),\n mergeMap((firmaZeitId) =>\n this.firmaService.deleteFirmaZeit(firmaZeitId.item).pipe(\n mergeMap((response) => of(deleteFirmaZeitSucceeded(), loadFirmaZeitenStart())),\n tap(() => sessionStorage.setItem('firmaZeitId', 'F')),\n catchError((e) => of(deleteFirmaZeitFailed(e))),\n ),\n ),\n ),\n );\n\n public editFirma$ = createEffect(() =>\n this.actions$.pipe(\n ofType(editFirmaStart),\n mergeMap((addressStartAction) =>\n this.firmaService.edit(addressStartAction.item).pipe(\n mergeMap((response) => of(editFirmaSucceeded({ item: response }), loadFirmaStart())),\n catchError((e) => of(editFirmaFailed(e))),\n ),\n ),\n ),\n );\n\n\n /**\n * Constructor of address effects\n *\n * @param actions$ - The action observable\n * @param addressesService - The address service\n */\n constructor(private actions$: Actions, private firmaService: FirmaService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport {catchError, map, mergeMap, tap} from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { loadAllMitarbeiterFailed, loadAllMitarbeiterStart, loadAllMitarbeiterSucceeded } from '../actions/getAllMitarbeiter.actions';\nimport {MitarbeiterService} from '../../mitarbeiter.service';\nimport {addMitarbeiterFailed, addMitarbeiterStart, addMitarbeiterSucceeded} from '../actions/mitarbeiter-add.actions';\nimport {editMitarbeiterFailed, editMitarbeiterStart, editMitarbeiterSucceeded} from '../actions/mitarbeiter-edit.actions';\nimport {loadUserStart} from '../../../landingpage/store/actions/getUser.actions';\nimport {deleteMitarbeiterFailed, deleteMitarbeiterStart, deleteMitarbeiterSucceeded} from '../actions/mitarbeiter-del.actions';\nimport {\n getFilteredMitarbeiterFailed,\n getFilteredMitarbeiterStart,\n getFilteredMitarbeiterSucceeded\n} from '../actions/getFilteredMitarbeiter.actions';\nimport {\n reactivateMitarbeiterFailed,\n reactivateMitarbeiterStart,\n reactivateMitarbeiterSucceeded\n} from '../actions/mitarbeiter-reactivate.actions';\nimport {\n loadAllMitarbeiterSelectboxFailed,\n loadAllMitarbeiterSelectboxStart,\n loadAllMitarbeiterSelectboxSuceeded\n} from \"../actions/getAllMitarbeiterSelectbox.actions\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {stringify} from \"@angular/compiler/src/util\";\nimport {\n loadFirmaZeitenFailed,\n loadFirmaZeitenStart,\n loadFirmaZeitenSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFirmaZeiten.actions';\nimport {loadSaldoFailed, loadSaldoStart, loadSaldoSucceeded} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getSaldo.actions';\nimport {\n deleteRolleFailed,\n deleteRolleStart,\n deleteRolleSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/rolle-del.actions';\nimport {loadRollenStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/rolle.actions';\nimport {\n loadUserInfoFailed,\n loadUserInfoStart,\n loadUserInfoSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getUserInfo.actions';\nimport {\n addFirmaZeitFailed,\n addFirmaZeitStart,\n addFirmaZeitSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/firmaZeiten-add.actions';\nimport {\n addUserInfoFailed,\n addUserInfoStart,\n addUserInfoSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/userInfo-add.actions';\nimport {deleteUserInfoStart, deleteUserInfoSucceeded} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/saldo-del.actions';\nimport {\n editFeiertageFailed,\n editFeiertageStart,\n editFeiertageSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-edit.actions';\nimport {loadFeiertageStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFeiertage.actions';\nimport {\n editUserInfoFailed,\n editUserInfoStart,\n editUserInfoSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/userInfo-edit.actions';\n\n@Injectable()\nexport class MitarbeiterEffects {\n /**\n * Loads the address list when dispatching the start action\n */\n public loadUser$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadAllMitarbeiterStart),\n mergeMap((mitarbeiterStartAction) =>\n this.mitarbeiterService.getAllMitarbeiter(mitarbeiterStartAction.string).pipe(\n map((response) => loadAllMitarbeiterSucceeded({ item: response.data })),\n catchError((e) => of(loadAllMitarbeiterFailed(e))),\n ),\n ),\n ),\n );\n\n public loadSaldo$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadSaldoStart),\n mergeMap((userId) =>\n this.mitarbeiterService.getSaldo(userId.userId).pipe(\n map((response) => loadSaldoSucceeded({ item: response })),\n catchError((e) => of(loadSaldoFailed(e))),\n ),\n ),\n ),\n );\n\n public loadUserInfo$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadUserInfoStart),\n mergeMap((userId) =>\n this.mitarbeiterService.getUserInfo(userId.userId, userId.showYears).pipe(\n map((response) => loadUserInfoSucceeded({ item: response.data })),\n tap((item) => sessionStorage.setItem('showYear', userId.showYears.toString() )),\n catchError((e) => of(loadUserInfoFailed(e))),\n ),\n ),\n ),\n );\n\n public addUserInfo$ = createEffect(() =>\n this.actions$.pipe(\n ofType(addUserInfoStart),\n mergeMap((userInfo) =>\n this.mitarbeiterService.addUserInfo(userInfo.userInfo).pipe(\n // tslint:disable-next-line:radix\n mergeMap((response) => of(addUserInfoSucceeded({ item: response }), loadUserInfoStart({userId: response.userId, showYears: parseInt(sessionStorage.getItem('showYear'))}))),\n catchError((e) => of(addUserInfoFailed(e))),\n ),\n ),\n ),\n );\n\n public editUserInfo$ = createEffect(() =>\n this.actions$.pipe(\n ofType(editUserInfoStart),\n mergeMap((userInfo) =>\n this.mitarbeiterService.editUserInfo(userInfo.item).pipe(\n // tslint:disable-next-line:triple-equals radix\n mergeMap((response) => of(editUserInfoSucceeded({ item: response }), loadUserInfoStart({userId: response.userId, showYears: parseInt(sessionStorage.getItem('showYear'))}))),\n catchError((e) => of(editUserInfoFailed(e))),\n ),\n ),\n ),\n );\n\n public deleteUserInfo$ = createEffect(() =>\n this.actions$.pipe(\n ofType(deleteUserInfoStart),\n mergeMap((value) =>\n this.mitarbeiterService.deleteUserInfo(value.item, value.userId).pipe(\n // tslint:disable-next-line:radix\n mergeMap((response) => of(deleteUserInfoSucceeded(), loadUserInfoStart({userId: response, showYears: parseInt(sessionStorage.getItem('showYear'))}))),\n catchError((e) => of(deleteMitarbeiterFailed(e))),\n ),\n ),\n ),\n );\n\n public loadUserSelectbox$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadAllMitarbeiterSelectboxStart),\n mergeMap((mitarbeiterStartAction) =>\n this.mitarbeiterService.getAllMitarbeiterSelectbox(mitarbeiterStartAction.string).pipe(\n map((response) => loadAllMitarbeiterSelectboxSuceeded({ item: response.data })),\n catchError((e) => of(loadAllMitarbeiterSelectboxFailed(e))),\n ),\n ),\n ),\n );\n\n public addUser$ = createEffect(() =>\n this.actions$.pipe(\n ofType(addMitarbeiterStart),\n mergeMap((mitarbeiterStartAction) =>\n this.mitarbeiterService.add(mitarbeiterStartAction.item).pipe(\n mergeMap((response) => of(\n addMitarbeiterSucceeded({ item: response }),\n //getFilteredMitarbeiterStart({string: sessionStorage.getItem('mitarbeiterSearchString'), item: {search: sessionStorage.getItem('mitarbeiterSuche'), deleted: Boolean(sessionStorage.getItem('mitarbeiterDeaktiviert'))}})\n // neuem User Passwort zuschicken\n )),\n tap(() =>\n this.http.get\n (\n `https://local.curion.ch/AccMan/addacc.php?app=1003&email=${mitarbeiterStartAction.item.email}`,\n {responseType: 'text'}\n ).subscribe(),\n ),\n catchError((e) => of(addMitarbeiterFailed(e))),\n ),\n ),\n ),\n);\n\n public editUser$ = createEffect(() =>\n this.actions$.pipe(\n ofType(editMitarbeiterStart),\n mergeMap((mitarbeiterStartAction) =>\n this.mitarbeiterService.edit(mitarbeiterStartAction.item).pipe(\n mergeMap((response) => of(editMitarbeiterSucceeded({ item: response }),\n getFilteredMitarbeiterStart({string: sessionStorage.getItem('mitarbeiterSearchString'), item: {search: sessionStorage.getItem('mitarbeiterSuche'), deleted: Boolean(sessionStorage.getItem('mitarbeiterDeaktiviert'))}}),\n loadUserStart({email: sessionStorage.getItem('email')}))),\n catchError((e) => of(editMitarbeiterFailed(e))),\n ),\n ),\n ),\n );\n\n public deleteUser$ = createEffect(() =>\n this.actions$.pipe(\n ofType(deleteMitarbeiterStart),\n mergeMap((mitarbeiterStartAction) =>\n this.mitarbeiterService.delete(mitarbeiterStartAction.item).pipe(\n // tslint:disable-next-line:max-line-length\n mergeMap((response) => of(deleteMitarbeiterSucceeded(), loadUserStart({email: sessionStorage.getItem('email')}),\n getFilteredMitarbeiterStart({string: sessionStorage.getItem('mitarbeiterSearchString'), item: {search: sessionStorage.getItem('mitarbeiterSuche'), deleted: Boolean(sessionStorage.getItem('mitarbeiterDeaktiviert'))}}),\n )),\n catchError((e) => of(deleteMitarbeiterFailed(e))),\n ),\n ),\n ),\n );\n\n public reactivateUser$ = createEffect(() =>\n this.actions$.pipe(\n ofType(reactivateMitarbeiterStart),\n mergeMap((mitarbeiterStartAction) =>\n this.mitarbeiterService.reactivate(mitarbeiterStartAction.item).pipe(\n // tslint:disable-next-line:max-line-length\n mergeMap((response) => of(reactivateMitarbeiterSucceeded(),\n getFilteredMitarbeiterStart({string: sessionStorage.getItem('mitarbeiterSearchString'), item: {search: sessionStorage.getItem('mitarbeiterSuche'), deleted: Boolean(sessionStorage.getItem('mitarbeiterDeaktiviert'))}}),\n loadUserStart({email: sessionStorage.getItem('email')}))\n\n ),\n catchError((e) => of(reactivateMitarbeiterFailed(e))),\n ),\n ),\n ),\n );\n\n public loadFilteredMitarbeiter$ = createEffect(() =>\n this.actions$.pipe(\n ofType(getFilteredMitarbeiterStart),\n mergeMap((projekt) =>\n this.mitarbeiterService.getFilteredMitarbeiter(projekt.string, projekt.item).pipe(\n mergeMap((response) => of(getFilteredMitarbeiterSucceeded({ item: response.data}))),\n catchError((e) => of(getFilteredMitarbeiterFailed(e))),\n ),\n ),\n ),\n );\n\n\n\n\n\n\n /**\n * Constructor of address effects\n *\n * @param actions$ - The action observable\n * @param addressesService - The address service\n */\n constructor(private actions$: Actions, private mitarbeiterService: MitarbeiterService, private http: HttpClient) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { catchError, map, mergeMap } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { RolleService } from '../../rolle.service';\nimport { loadRollenStart, loadRollenFailed, loadRollenSucceeded } from '../actions/rolle.actions';\nimport {changeRolleFailed, changeRolleStart, changeRolleSucceeded} from '../actions/change-rolle.actions';\nimport {loadUserStart} from '../../../landingpage/store/actions/getUser.actions';\nimport {loadUserRollenFailed, loadUserRollenStart, loadUserRollenSucceeded} from '../actions/getUserRollen.actions';\nimport {loadRechteFailed, loadRechteStart, loadRechteSucceeded} from '../actions/getAllRechte.actions';\nimport {addRolleFailed, addRolleStart, addRolleSucceeded} from '../actions/rolle-add.actions';\nimport {deleteRolleFailed, deleteRolleStart, deleteRolleSucceeded} from '../actions/rolle-del.actions';\nimport {editRolleFailed, editRolleStart, editRolleSucceeded} from '../actions/rolle-edit.actions';\n\n@Injectable()\nexport class RolleEffects {\n /**\n * Loads the salutations when dispatching the start action\n */\n\n public loadRollen$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadRollenStart),\n mergeMap(() =>\n this.rolleService.getAllRollen().pipe(\n map((response) => loadRollenSucceeded({ rollen: response.data })),\n catchError(() => of(loadRollenFailed())),\n ),\n ),\n ),\n );\n\n public loadRechte$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadRechteStart),\n mergeMap(() =>\n this.rolleService.getAllRechte().pipe(\n map((response) => loadRechteSucceeded({ rechte: response.data })),\n catchError(() => of(loadRechteFailed())),\n ),\n ),\n ),\n );\n\n public loadUserRollen$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadUserRollenStart),\n mergeMap(() =>\n this.rolleService.getUserRollen().pipe(\n map((response) => loadUserRollenSucceeded({ rollen: response.data })),\n catchError(() => of(loadUserRollenFailed())),\n ),\n ),\n ),\n );\n\n public changeRolle$ = createEffect(() =>\n this.actions$.pipe(\n ofType(changeRolleStart),\n mergeMap((value) =>\n this.rolleService.changeRolle(value.rolleId).pipe(\n mergeMap((rollenId, index) => of(\n changeRolleSucceeded({ rollenId }),\n loadUserStart({email: sessionStorage.getItem('email')}),\n )),\n catchError(() => of(changeRolleFailed())),\n ),\n ),\n ),\n );\n\n public addRolle$ = createEffect(() =>\n this.actions$.pipe(\n ofType(addRolleStart),\n mergeMap((value) =>\n this.rolleService.addRolle(value.rolle).pipe(\n mergeMap((rolle, index) => of(\n addRolleSucceeded({rolle}),\n loadRollenStart(),\n )),\n catchError(() => of(addRolleFailed())),\n ),\n ),\n ),\n );\n\n public editRolle$ = createEffect(() =>\n this.actions$.pipe(\n ofType(editRolleStart),\n mergeMap((value) =>\n this.rolleService.editRolle(value.rolle).pipe(\n mergeMap((rolle, index) => of(\n editRolleSucceeded({rolle}),\n loadRollenStart(),\n )),\n catchError(() => of(editRolleFailed())),\n ),\n ),\n ),\n );\n\n\n public deleteRolle$ = createEffect(() =>\n this.actions$.pipe(\n ofType(deleteRolleStart),\n mergeMap((value) =>\n this.rolleService.deleteRolle(value.item).pipe(\n mergeMap((rolle) => of(\n deleteRolleSucceeded({item: rolle} ),\n loadRollenStart(),\n )),\n catchError((error) => of(deleteRolleFailed({error: 'Rolle konnte nicht gelöscht werden da sie schon einem Benutzer zugeteilt ist'}))),\n ),\n ),\n ),\n );\n\n /**\n * Constructor of address effects\n *\n * @param actions$ - The action observable\n * @param salutationsService - The salutations service\n */\n constructor(private actions$: Actions, private rolleService: RolleService) {}\n}\n","import { createReducer, on } from '@ngrx/store';\nimport { loadAllMitarbeiterSucceeded, loadAllMitarbeiterStart } from '../actions/getAllMitarbeiter.actions';\nimport { MitarbeiterItem } from '../../mitarbeiter.model';\nimport {AnredeItem} from '../../anrede.model';\nimport {loadSalutationsStart, loadSalutationsSucceeded} from '../actions/anrede.actions';\nimport {RolleItem} from '../../rolle.model';\nimport {loadRollenStart, loadRollenSucceeded} from '../actions/rolle.actions';\nimport {addMitarbeiterFailed, addMitarbeiterStart, addMitarbeiterSucceeded} from '../actions/mitarbeiter-add.actions';\nimport {BrancheItem} from '../../branche.model';\nimport {loadBranchenStart, loadBranchenSucceeded} from '../actions/branche.actions';\nimport {FirmaItem} from '../../firma.model';\nimport {loadFirmaStart, loadFirmaSucceeded} from '../actions/getFirma.actions';\nimport {editFirmaFailed, editFirmaStart, editFirmaSucceeded} from '../actions/firma-edit.actions';\nimport {editMitarbeiterFailed, editMitarbeiterStart, editMitarbeiterSucceeded} from '../actions/mitarbeiter-edit.actions';\nimport {deleteMitarbeiterFailed, deleteMitarbeiterStart, deleteMitarbeiterSucceeded} from '../actions/mitarbeiter-del.actions';\nimport {\n getFilteredMitarbeiterFailed,\n getFilteredMitarbeiterStart,\n getFilteredMitarbeiterSucceeded\n} from \"../actions/getFilteredMitarbeiter.actions\";\nimport {\n loadAllMitarbeiterSelectboxStart,\n loadAllMitarbeiterSelectboxSuceeded\n} from \"../actions/getAllMitarbeiterSelectbox.actions\";\nimport {changeRolleFailed, changeRolleStart, changeRolleSucceeded} from '../actions/change-rolle.actions';\nimport {loadUserRollenFailed, loadUserRollenStart, loadUserRollenSucceeded} from '../actions/getUserRollen.actions';\nimport {loadRechteFailed, loadRechteStart, loadRechteSucceeded} from '../actions/getAllRechte.actions';\nimport {RechteItem} from '../../rechte.model';\nimport {addRolleFailed, addRolleStart, addRolleSucceeded} from '../actions/rolle-add.actions';\nimport {deleteRolleFailed, deleteRolleStart, deleteRolleSucceeded} from '../actions/rolle-del.actions';\nimport {editRolleFailed, editRolleStart, editRolleSucceeded} from '../actions/rolle-edit.actions';\nimport {FirmaZeitItem} from '@src/app/pages/Mitarbeiterverwaltung/firmaZeit.model';\nimport {loadFirmaZeitenStart, loadFirmaZeitenSucceeded} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFirmaZeiten.actions';\nimport {loadFeiertageStart, loadFeiertageSucceeded} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getFeiertage.actions';\nimport {FeiertagItem} from '@src/app/pages/Mitarbeiterverwaltung/feiertage.model';\nimport {\n addFeiertageFailed,\n addFeiertageStart,\n addFeiertageSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/feiertage-add.actions';\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\nimport {loadSaldoStart, loadSaldoSucceeded} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getSaldo.actions';\nimport {UserInfoItem} from '@src/app/pages/Mitarbeiterverwaltung/userInfo.model';\nimport {loadUserInfoStart, loadUserInfoSucceeded} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getUserInfo.actions';\nimport {\n addUserInfoFailed,\n addUserInfoStart,\n addUserInfoSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/userInfo-add.actions';\nimport {\n deleteUserInfoFailed,\n deleteUserInfoStart,\n deleteUserInfoSucceeded\n} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/saldo-del.actions';\n\nexport interface State {\n isLoading: boolean;\n items: MitarbeiterItem[];\n selectboxItems: MitarbeiterItem[];\n firmaZeiten: FirmaZeitItem[];\n feiertage: FeiertagItem[];\n saldos: SaldoItem;\n userinfos: UserInfoItem[];\n anreden: {\n items: AnredeItem[];\n };\n rollen: {\n error: string;\n items: RolleItem[];\n };\n branchen: {\n items: BrancheItem[];\n };\n firma: {\n item: FirmaItem;\n };\n userRollen: {\n items: RolleItem[];\n };\n rechte: {\n items: RechteItem[];\n };\n}\n\nexport const initialState: State = {\n isLoading: false,\n items: [],\n selectboxItems: [],\n firmaZeiten: [],\n feiertage: [],\n saldos: {userId:null, datum: null, ferien: null, zeit: null},\n userinfos: [],\n anreden: {\n items: [],\n },\n rollen: {\n error: '',\n items: [],\n },\n userRollen: {\n items: [],\n },\n rechte: {\n items: [],\n },\n branchen: {\n items: [],\n },\n firma: {\n item: {id: null, email: null, name: null, telefon: null, arbsol: null, branche: null, ort: null, plz: null, str1: null, str2: null},\n },\n};\n\nconst ons = [\n on(loadAllMitarbeiterStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadAllMitarbeiterSucceeded, (state: State, action) => ({\n ...state,\n isLoading: false,\n items: action.item,\n })),\n on(loadAllMitarbeiterSelectboxStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadAllMitarbeiterSelectboxSuceeded, (state: State, action) => ({\n ...state,\n isLoading: false,\n selectboxItems: action.item,\n })),\n on(getFilteredMitarbeiterStart, (state: State) => ({ ...state, isLoading: true })),\n on(getFilteredMitarbeiterSucceeded, (state: State, action) => ({\n ...state,\n isLoading: false,\n items: action.item,\n })),\n on(getFilteredMitarbeiterFailed, (state: State) => ({ ...state, isLoading: false })),\n on(loadSalutationsStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadSalutationsSucceeded, (state: State, action) => ({\n ...state,\n anreden: {\n ...state.anreden,\n items: action.anreden,\n },\n })),\n on(loadRollenStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadRollenSucceeded, (state: State, action) => ({\n ...state,\n rollen: {\n ...state.rollen,\n items: action.rollen,\n },\n })),\n on(loadRechteStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadRechteFailed, (state: State) => ({ ...state, isLoading: true })),\n on(loadRechteSucceeded, (state: State, action) => ({\n ...state,\n isLoading: false,\n rechte: {\n ...state.rechte,\n items: action.rechte,\n },\n })),\n\n on(loadUserRollenStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadUserRollenFailed, (state: State) => ({ ...state, isLoading: false })),\n on(loadUserRollenSucceeded, (state: State, action) => ({\n ...state,\n isLoading: false,\n userRollen: {\n ...state.rollen,\n items: action.rollen,\n },\n })),\n on(loadBranchenStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadBranchenSucceeded, (state: State, action) => ({\n ...state,\n branchen: {\n ...state.branchen,\n items: action.branchen,\n },\n })),\n on(loadFeiertageStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadFeiertageSucceeded, (state: State, action) => ({\n ...state,\n feiertage: action.item,\n })),\n on(loadFirmaZeitenStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadFirmaZeitenSucceeded, (state: State, action) => ({\n ...state,\n firmaZeiten: action.item,\n })),\n on(loadUserInfoStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadUserInfoSucceeded, (state: State, action) => ({\n ...state,\n userinfos: action.item,\n })),\n on(loadFirmaStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadFirmaSucceeded, (state: State, action) => ({\n ...state,\n firma: {\n ...state.firma,\n item: action.item,\n },\n })),\n on(loadSaldoStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadSaldoSucceeded, (state: State, action) => ({\n ...state,\n saldos: action.item,\n })),\n on(addRolleStart, (state: State) => ({ ...state, isAddingRolle: true })),\n on(addRolleSucceeded, (state: State) => ({ ...state, isAddingRolle: false })),\n on(addRolleFailed, (state: State) => ({ ...state, isAddingRolle: false })),\n on(addUserInfoStart, (state: State) => ({ ...state, isAddingRolle: true })),\n on(addUserInfoSucceeded, (state: State) => ({ ...state, isAddingRolle: false })),\n on(addUserInfoFailed, (state: State) => ({ ...state, isAddingRolle: false })),\n on(addMitarbeiterStart, (state: State) => ({ ...state, isAddingFirma: true })),\n on(addMitarbeiterFailed, (state: State) => ({ ...state, isAddingFirma: false })),\n on(addMitarbeiterSucceeded, (state: State) => ({ ...state, isAddingFirma: false })),\n on(addFeiertageStart, (state: State) => ({ ...state, isAddingFirma: true })),\n on(addFeiertageSucceeded, (state: State) => ({ ...state, isAddingFirma: false })),\n on(addFeiertageFailed, (state: State) => ({ ...state, isAddingFirma: false })),\n on(editMitarbeiterStart, (state: State) => ({ ...state, isEditingFirma: true })),\n on(editMitarbeiterFailed, (state: State) => ({ ...state, isEditingFirma: false })),\n on(editMitarbeiterSucceeded, (state: State, action) => ({\n ...state, isEditingFirma: false\n })),\n\n on(editFirmaStart, (state: State) => ({ ...state, isEditingFirma: true })),\n on(editFirmaFailed, (state: State) => ({ ...state, isEditingFirma: false })),\n on(editFirmaSucceeded, (state: State, action) => ({\n ...state, isEditingFirma: false\n })),\n\n on(editRolleStart, (state: State) => ({ ...state, isEditingRolle: true })),\n on(editRolleFailed, (state: State) => ({ ...state, isEditingRolle: false })),\n on(editRolleSucceeded, (state: State, action) => ({\n ...state, isEditingRolle: false\n })),\n\n on(deleteUserInfoStart, (state: State) => ({ ...state, isDeletingMitarbeiter: true })),\n on(deleteUserInfoSucceeded, (state: State) => ({ ...state, isDeletingMitarbeiter: false })),\n on(deleteUserInfoFailed, (state: State) => ({\n ...state, isDeletingMitarbeiter: false\n })),\n\n on(deleteMitarbeiterStart, (state: State) => ({ ...state, isDeletingMitarbeiter: true })),\n on(deleteMitarbeiterFailed, (state: State) => ({ ...state, isDeletingMitarbeiter: false })),\n on(deleteMitarbeiterSucceeded, (state: State) => ({\n ...state, isDeletingMitarbeiter: false\n })),\n\n on(deleteRolleStart, (state: State) => ({ ...state, isDeletingRolle: true })),\n on(deleteRolleFailed, (state: State, action) => ({\n ...state,\n isDeletingRolle: false,\n rollen: {\n ...state.rollen,\n error: action.error,\n },\n })),\n on(deleteRolleSucceeded, (state: State) => ({\n ...state,\n isDeletingRolle: false,\n rollen: {\n ...state.rollen,\n error: '',\n }\n })),\n on(changeRolleStart, (state: State) => ({ ...state, isChangingRolle: true })),\n on(changeRolleSucceeded, (state: State) => ({ ...state, isChangingRolle: false })),\n on(changeRolleFailed, (state: State) => ({ ...state, isChangingRolle: false })),\n];\n\nexport const mitarbeiterverwaltungReducer = createReducer(initialState, ...ons);\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\nimport {SpesenItem} from './spesen.model';\nimport { HttpClient } from '@angular/common/http';\nimport {SpesenartItem} from './spesenart.model';\nimport {CacheItem} from \"./cache.model\";\nimport {DialogData} from \"./components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component\";\nimport {DashboardItem} from \"../landingpage/dashboard.model\";\n\ntype caches = CollectionApiResponse;\ntype cacheNodes = CollectionApiResponse;\n\n@Injectable({ providedIn: 'root'})\n\nexport class CacheService {\n\n constructor(private http: HttpClient) {}\n\n\n public addCache(cache: DialogData): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/addCache.php?userId=${userId}&${sessionStorage.getItem('session')}`, cache) as Observable;\n }\n\n public loadCache(): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/getCache.php?userId=${userId}&${sessionStorage.getItem('session')}`) as Observable;\n }\n\n public loadTaetCache(prjId: number, eingabe: string): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n if(!eingabe){\n eingabe = '';\n }\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/getTaetCache.php?userId=${userId}&${sessionStorage.getItem('session')}&prjId=${prjId}&eingabe=${eingabe}`) as Observable;\n }\n\n\n}\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {select, Store} from '@ngrx/store';\nimport {Observable} from 'rxjs';\nimport {Zeitstate} from '../../store/reducer/zeiterfassung.reducer';\nimport {SpesenartItem} from '../../spesenart.model';\nimport {editZeitStart} from '../../store/actions/Zeit-edit.actions';\nimport {addZeitStart} from '../../store/actions/Zeit-add.actions';\nimport {addSpesenStart} from '../../store/actions/spesen-add.actions';\nimport {editSpesenStart} from \"../../store/actions/spesen-edit.actions\";\nimport {loadSpesenStart} from '../../store/actions/getAllSpesen.actions';\nimport {loadSpesenartenStart} from '../../store/actions/spesenart.actions';\nimport {map} from 'rxjs/operators';\nimport {BreakpointObserver} from '@angular/cdk/layout';\n\nexport interface DialogData{\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n zeitId: number;\n rspeId: number;\n spesenArt: string;\n beschreibung: string;\n menge: number;\n betragInt: number;\n betragExt: number;\n ansatzInt: number;\n ansatzExt: number;\n}\n\n@Component({\n selector: 'app-spesen-formdialog',\n templateUrl: './spesen-formdialog.component.html',\n styleUrls: ['./spesen-formdialog.component.scss']\n})\n\n\nexport class SpesenFormdialogComponent implements OnInit {\n\n\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public store: Store<{ zeiterfassung: Zeitstate }>,\n private breakpointObserver: BreakpointObserver\n ) {\n this.$spesenarten = store.pipe(select((state) => state.zeiterfassung.spesenarten));\n\n if (data.menge === null || data.menge === 0){\n data.ansatzInt = null;\n data.ansatzExt = null;\n }\n else{\n data.ansatzInt = (data.betragInt / data.menge);\n data.ansatzExt = (data.betragExt / data.menge);\n }\n\n\n this.spesenForm.patchValue({\n spesencode: data.spesenArt,\n menge: data.menge?.toFixed(2),\n ansatzInt: data.ansatzInt?.toFixed(2),\n betragInt: data.betragInt?.toFixed(2),\n ansatzExt: data.ansatzExt?.toFixed(2),\n betragExt: data.betragExt?.toFixed(2),\n beschreibung: data.beschreibung,\n zeitId: data.zeitId,\n id: data.id,\n });\n }\n\n public $spesenarten: Observable;\n public isSmallDevice = false;\n\n public spesenForm = new FormGroup({\n spesencode: new FormControl('', [Validators.required]),\n menge: new FormControl('' , [Validators.required, Validators.maxLength(255)]),\n ansatzInt: new FormControl('', [Validators.maxLength(255)]),\n betragInt: new FormControl('', [Validators.required , Validators.maxLength(255) ]),\n ansatzExt: new FormControl('', [Validators.maxLength(255) ]),\n betragExt: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n beschreibung: new FormControl('' , [Validators.maxLength(255)]),\n zeitId: new FormControl(''),\n id: new FormControl(''),\n });\n\n public getErrorMessage(formField: string): string {\n const formControl = this.spesenForm.get(formField);\n if ( formControl.hasError('required')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.pflichtfeld`;\n }\n else if ( formControl.hasError('minlength')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.minlength`;\n }\n else if ( formControl.hasError('maxlength')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.maxlength`;\n }\n else if ( formControl.hasError('min')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.min`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.pattern`;\n }\n return 'pages.zeitverwaltung.spesenDialog.err.generic';\n }\n\n public handleSubmitClick(): void{\n const item = this.spesenForm.value;\n if (this.data.id){\n console.log(item);\n // edit da ID gesetzt ist\n this.store.dispatch(editSpesenStart({ item }));\n } else {\n // add da keine ID gesetzt ist\n this.store.dispatch(addSpesenStart({ item }));\n }\n this.dialogRef.close(true);\n }\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public fillUpAnsatz(spesen: SpesenartItem): void{\n this.spesenForm.patchValue({\n ansatzInt: spesen.ansatzInt?.toFixed(2),\n ansatzExt: spesen.ansatzExt?.toFixed(2),\n }\n );\n}\n compareFn(c1: SpesenartItem, c2: number): boolean {\n return c1 && c2 ? c1.id === c2 : false;\n }\n\n public rechneBetrag(): void {\n if (this.spesenForm.value.ansatzInt != 0 && this.spesenForm.value.ansatzInt !== undefined && this.spesenForm.value.menge != 0 && this.spesenForm.value.menge !== undefined){\n this.spesenForm.value.betragInt = this.spesenForm.value.ansatzInt * this.spesenForm.value.menge;\n this.spesenForm.patchValue({\n betragInt: this.spesenForm.value.betragInt.toFixed(2)\n });\n }\n\n if (this.spesenForm.value.ansatzExt != 0 && this.spesenForm.value.ansatzExt !== undefined && this.spesenForm.value.menge != 0 && this.spesenForm.value.menge !== undefined){\n this.spesenForm.value.betragExt = this.spesenForm.value.ansatzExt * this.spesenForm.value.menge;\n this.spesenForm.patchValue({\n betragExt: this.spesenForm.value.betragExt.toFixed(2)\n });\n }\n }\n ngOnInit(): void {\n this.store.dispatch(loadSpesenartenStart());\n\n this.breakpointObserver\n .observe(localStorage.getItem('phoneWidth'))\n .pipe(map((result) => result.matches))\n .subscribe((isSmallDevice) => {\n this.isSmallDevice = isSmallDevice;\n\n });\n }\n\n}\n","

{{ data.title | translate }}

\n\n\n
\n
\n \n {{ 'pages.zeitverwaltung.spesenDialog.spesencode' | translate }}\n \n \n {{spesenart.bezeichnung }}\n \n \n \n\n
\n\n\n
\n \n {{ 'pages.zeitverwaltung.spesenDialog.menge' | translate }}\n \n {{ getErrorMessage('menge') | translate }}\n \n
\n \n {{ 'pages.zeitverwaltung.spesenDialog.ansatzInt' | translate }}\n \n {{ getErrorMessage('ansatzInt') | translate }}\n \n \n {{ 'pages.zeitverwaltung.spesenDialog.betragInt' | translate }}\n \n {{ getErrorMessage('betragInt') | translate }}\n \n\n \n {{ 'pages.zeitverwaltung.spesenDialog.ansatzExt' | translate }}\n \n {{ getErrorMessage('ansatzExt') | translate }}\n \n \n {{ 'pages.zeitverwaltung.spesenDialog.betragExt' | translate }}\n \n {{ getErrorMessage('betragExt') | translate }}\n \n
\n\n\n \n {{ 'pages.zeitverwaltung.spesenDialog.beschreibung' | translate }}\n \n \n\n
\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n"," import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {SpesenItem} from '../../spesen.model';\nimport {BestaetigungsFormComponent} from '../../../../ui-components/bestaetigungs-form/bestaetigungs-form.component';\nimport {deleteZeitStart} from '../../store/actions/Zeit-del.actions';\nimport {MatDialog} from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\nimport {Zeitstate} from '../../store/reducer/zeiterfassung.reducer';\nimport {deleteSpeseStart} from '../../store/actions/spese-del.actions';\nimport {SpesenFormdialogComponent} from '../spesen-form-dialog/spesen-formdialog.component';\n import {BreakpointObserver} from '@angular/cdk/layout';\n import {map} from 'rxjs/operators';\n\n@Component({\n selector: 'app-spesen-table',\n templateUrl: './spesen-table.component.html',\n styleUrls: ['./spesen-table.component.scss'],\n})\nexport class SpesenTableComponent implements OnInit {\n public displayedColumns: string[];\n\n public dataSource = new MatTableDataSource();\n\n constructor(\n public dialog: MatDialog,\n public store: Store<{ zeiterfassung: Zeitstate }>,\n private breakpointObserver: BreakpointObserver\n )\n {\n }\n\n @Input()\n public showFunctionMenu = true;\n\n @Input()\n public zeitId: number;\n\n /**\n * Sets addresses to datasource\n *\n * @param addresses - The addresses\n */\n @Input()\n public set spesen(spesen: SpesenItem[]) {\n this.dataSource.data = spesen;\n }\n public isSmallDevice = false;\n\n /**\n * Executed in initialization\n */\n public ngOnInit(): void {\n this.breakpointObserver\n .observe(localStorage.getItem('phoneWidth'))\n .pipe(map((result) => result.matches))\n .subscribe((isSmallDevice) => {\n this.isSmallDevice = isSmallDevice;\n if(this.isSmallDevice){\n this.displayedColumns = [\n 'bezeichnung',\n 'menge',\n 'betragInt',\n 'actions',\n ];\n }\n else{\n this.displayedColumns = [\n 'bezeichnung',\n 'menge',\n 'betragInt',\n 'betragExt',\n 'beschreibung',\n 'actions',\n ];\n }\n\n });\n }\n\n public zeiterfassung(): void {\n console.log('Verlinkung zu Zeiterfassung');\n }\n\n public editSpese(spese: SpesenItem): void {\n this.dialog.open(SpesenFormdialogComponent, {\n data: {\n title: 'pages.zeitverwaltung.addSpesenDialog.title',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n zeitId: this.zeitId,\n id: spese.id,\n menge: parseFloat(String(spese.menge)),\n beschreibung: spese.beschreibung,\n spesenArt: spese.rspeId,\n betragInt: parseFloat(String(spese.betragInt)),\n betragExt: parseFloat(String(spese.betragExt)),\n },\n });\n }\n\n public deleteSpese(spese: SpesenItem): void {\n\n const bestätigungsForm = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.deleteSpese.title',\n text: 'pages.zeitverwaltung.deleteSpese.text'\n },\n });\n bestätigungsForm.afterClosed().subscribe(result => {\n if (result === true){\n this.store.dispatch(deleteSpeseStart({item: spese}));\n }\n });\n\n }\n\n}\n","
\n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
{{ 'pages.zeitverwaltung.table.bezeichnung' | translate }} {{spese.spesenArt }} {{ 'pages.zeitverwaltung.table.menge' | translate }} {{ spese.menge | number:'1.2':'en-US'}} {{ 'pages.zeitverwaltung.table.betragInt' | translate }} {{ spese.betragInt | number:'1.2':'en-US' }} {{ 'pages.zeitverwaltung.table.betragExt' | translate }} {{spese.betragExt | number:'1.2':'en-US'}} {{ 'pages.zeitverwaltung.table.beschreibung' | translate }} {{spese.beschreibung}} \n \n \n \n \n \n
\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {select, Store} from '@ngrx/store';\nimport {Observable} from 'rxjs';\nimport {Zeitstate} from '../../store/reducer/zeiterfassung.reducer';\nimport {SpesenartItem} from '../../spesenart.model';\nimport {editZeitStart} from '../../store/actions/Zeit-edit.actions';\nimport {addZeitStart} from '../../store/actions/Zeit-add.actions';\nimport {addSpesenStart} from '../../store/actions/spesen-add.actions';\nimport {editSpesenStart} from \"../../store/actions/spesen-edit.actions\";\nimport {addSpesenartStart} from '../../store/actions/spesenart-add.actions';\nimport {DialogData} from '../spesenart-pageForm/spesenart-pageform.component';\nimport {toFixed} from 'wijmo/wijmo';\nimport {editSpesenartStart} from '../../store/actions/spesenart-edit.actions';\n\n\n@Component({\n selector: 'app-spesenart-formdialog',\n templateUrl: './spesenart-formdialog.component.html',\n styleUrls: ['./spesenart-formdialog.component.scss']\n})\n\n\nexport class SpesenartFormdialogComponent implements OnInit {\n\n\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public store: Store<{ zeiterfassung: Zeitstate }>)\n {\n dialogRef.disableClose = true;\n this.spesenartForm.patchValue({\n code: data.code,\n bezeichnung: data.bezeichnung,\n ansatzInt: data.ansatzInt.toFixed(2),\n ansatzExt: data.ansatzExt.toFixed(2),\n konto: data.konto,\n firmaId: data.firmaId,\n id: data.id,\n projektId: data.projektId,\n });\n\n }\n\n public spesenartForm = new FormGroup({\n code: new FormControl('', [ Validators.maxLength(255)]),\n konto: new FormControl('' , [ Validators.maxLength(255)]),\n ansatzInt: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n ansatzExt: new FormControl('', [Validators.required , Validators.maxLength(255) ]),\n bezeichnung: new FormControl('' , [Validators.required, Validators.maxLength(255)]),\n firmaId: new FormControl(''),\n id: new FormControl(''),\n });\n\n public getErrorMessage(formField: string): string {\n const formControl = this.spesenartForm.get(formField);\n if ( formControl.hasError('required')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.pflichtfeld`;\n }\n else if ( formControl.hasError('minlength')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.minlength`;\n }\n else if ( formControl.hasError('maxlength')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.maxlength`;\n }\n else if ( formControl.hasError('min')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.min`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.zeitverwaltung.spesenDialog.err.${formField}.pattern`;\n }\n return 'pages.zeitverwaltung.spesenDialog.err.generic';\n }\n\n public handleSubmitClick(): void{\n\n if (!this.spesenartForm.value.id){\n this.store.dispatch(addSpesenartStart({item: this.spesenartForm.value}));\n }\n else{\n this.store.dispatch(editSpesenartStart({item: this.spesenartForm.value}));\n }\n this.dialogRef.close(true);\n }\n\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n\n ngOnInit(): void {}\n\n}\n","

{{ data.title | translate }}

\n\n\n
\n\n \n {{ 'pages.zeitverwaltung.spesenartDialog.bezeichnung' | translate }}\n \n \n\n
\n \n {{ 'pages.zeitverwaltung.spesenartDialog.code' | translate }}\n \n \n \n {{ 'pages.zeitverwaltung.spesenartDialog.ansatzInt' | translate }}\n \n \n\n\n \n {{ 'pages.zeitverwaltung.spesenartDialog.ansatzExt' | translate }}\n \n \n \n {{ 'pages.zeitverwaltung.spesenartDialog.konto' | translate }}\n \n \n\n
\n\n
\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import {Component, Inject, OnInit, ViewChild, AfterViewInit, OnDestroy, HostListener} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport * as moment from 'moment';\nimport { addZeitStart } from '../../store/actions/Zeit-add.actions';\nimport {select, Store} from '@ngrx/store';\nimport {Zeitstate} from '../../store/reducer/zeiterfassung.reducer';\nimport {loadSpesenartenStart} from '../../store/actions/spesenart.actions';\nimport {ZeiterfassungFormdialogNeuComponent} from '../zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\nimport {loadSpesenStart} from '../../store/actions/getAllSpesen.actions';\nimport {SpesenartFormdialogComponent} from '../spesenart-form-dialog/spesenart-formdialog.component';\nimport {loadInactiveSpesenartenStart} from '../../store/actions/getInactiveSpesenart.action';\n\n\nexport interface DialogData {\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n code: string;\n bezeichnung: string;\n ansatzInt: number;\n ansatzExt: number;\n konto: number;\n firmaId: number;\n id: number;\n projektId: number;\n\n}\n\n\n@Component({\n selector: 'app-spesenart-pageform',\n templateUrl: './spesenart-pageform.component.html',\n styleUrls: ['./spesenart-pageform.component.scss'],\n})\n\n\n\nexport class SpesenartPageFormComponent implements OnInit{\n\n public $spesenarten;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public store: Store<{ zeiterfassung: Zeitstate }>,\n public dialog: MatDialog\n )\n {\n dialogRef.disableClose = true;\n this.$spesenarten = store.pipe(select((state) => state.zeiterfassung.spesenarten));\n }\n\n public ngOnInit(): void {\n sessionStorage.setItem('spesenartIsAktiv', '1');\n this.store.dispatch(loadSpesenartenStart());\n }\n\n\n public handleSubmitClick(): void{\n this.dialogRef.close(true);\n\n }\n\n public addSpesenart(): void{\n\n const dialogEdit = this.dialog.open(SpesenartFormdialogComponent, {\n data: {\n title: 'pages.zeitverwaltung.spesenartDialog.addTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n code: null,\n bezeichnung: null,\n ansatzInt: 0.00,\n ansatzExt: 0.00,\n konto: null,\n firmaId: null,\n id: null,\n projektId: null,\n },\n });\n }\n\n public showInactive(event): void {\n if (event.checked){\n sessionStorage.setItem('spesenartIsAktiv', '0' );\n // this.store.dispatch(loadInactiveSpesenartenStart());\n }\n else{\n sessionStorage.setItem('spesenartIsAktiv', '1' );\n // this.store.dispatch(loadSpesenartenStart());\n }\n this.store.dispatch(loadSpesenartenStart());\n }\n}\n\n","\n

{{ data.title | translate }}\n \n\n {{ 'pages.zeitverwaltung.spesenverwaltung.showInactive' | translate }}\n
\n \n
\n\n

\n\n\n\n\n \n\n\n\n \n {{ data.submitButtonLabel | translate }}\n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {SpesenItem} from '../../spesen.model';\nimport {BestaetigungsFormComponent} from '../../../../ui-components/bestaetigungs-form/bestaetigungs-form.component';\nimport {deleteZeitStart} from '../../store/actions/Zeit-del.actions';\nimport {MatDialog} from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\nimport {Zeitstate} from '../../store/reducer/zeiterfassung.reducer';\nimport {deleteSpeseStart} from '../../store/actions/spese-del.actions';\nimport {SpesenFormdialogComponent} from '../spesen-form-dialog/spesen-formdialog.component';\nimport {SpesenartItem} from '../../spesenart.model';\nimport {deleteSpesenartStart} from '../../store/actions/spesenart-del.actions';\nimport {ZeiterfassungFormdialogNeuComponent} from '../zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\nimport {SpesenartFormdialogComponent} from '../spesenart-form-dialog/spesenart-formdialog.component';\nimport {deleteDashboardStart} from '../../../landingpage/store/actions/dashboard-del.actions';\nimport {activateSpesenartStart} from '../../store/actions/spesenart-activate.actions';\nimport {deactivateSpesenartStart} from '../../store/actions/spesenart-deactivate.actions';\n\n@Component({\n selector: 'app-spesenart-table',\n templateUrl: './spesenart-table.component.html',\n styleUrls: ['./spesenart-table.component.scss'],\n})\nexport class SpesenartTableComponent implements OnInit {\n public displayedColumns: string[] = [\n 'code',\n 'bezeichnung',\n 'ansatzInt',\n 'ansatzExt',\n 'konto',\n 'actions',\n ];\n\n public dataSource = new MatTableDataSource();\n\n constructor( public dialog: MatDialog , public store: Store<{ zeiterfassung: Zeitstate }> ) {\n }\n\n @Input()\n public showFunctionMenu = true;\n\n @Input()\n public zeitId: number;\n\n /**\n * Sets addresses to datasource\n *\n * @param addresses - The addresses\n */\n @Input()\n public set spesenart(spesenart: SpesenartItem[]) {\n this.dataSource.data = spesenart;\n }\n\n\n public ngOnInit(): void {}\n\n public editSpesenart(spesenArt: SpesenartItem): void {\n this.dialog.open(SpesenartFormdialogComponent, {\n data: {\n title: 'pages.zeitverwaltung.spesenartDialog.editTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n code: spesenArt.code,\n bezeichnung: spesenArt.bezeichnung,\n ansatzInt: spesenArt.ansatzInt,\n ansatzExt: spesenArt.ansatzExt,\n konto: spesenArt.konto,\n firmaId: spesenArt.firmaId,\n id: spesenArt.id,\n projektId: spesenArt.projekt,\n },\n });\n }\n\n public deleteSpesenart(spese: SpesenartItem): void {\n const bestätigungsForm = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.deleteSpesenart.title',\n text: 'pages.zeitverwaltung.deleteSpesenart.text'\n },\n });\n bestätigungsForm.afterClosed().subscribe(result => {\n if (result === true){\n this.store.dispatch(deleteSpesenartStart({item: spese}));\n }\n });\n\n }\n\n public activateSpesenart(spese: SpesenartItem): void {\n this.store.dispatch(activateSpesenartStart({item: spese}));\n }\n\n public deactivateSpesenart(spese: SpesenartItem): void {\n this.store.dispatch(deactivateSpesenartStart({item: spese}));\n }\n\n}\n","
\n\n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
{{ 'pages.zeitverwaltung.spesenverwaltung.table.code' | translate }} {{ spesenart.code}} {{ 'pages.zeitverwaltung.spesenverwaltung.table.bezeichnung' | translate }} {{spesenart.bezeichnung }} {{ 'pages.zeitverwaltung.spesenverwaltung.table.ansatzInt' | translate }} {{ spesenart.ansatzInt | number:'1.2':'en-US' }} {{ 'pages.zeitverwaltung.spesenverwaltung.table.ansatzExt' | translate }} {{spesenart.ansatzExt | number:'1.2':'en-US'}} {{ 'pages.zeitverwaltung.spesenverwaltung.table.konto' | translate }} {{spesenart.konto}} \n \n \n \n \n \n \n \n
\n
\n","import {Component, Inject, OnInit, ViewChild, AfterViewInit, OnDestroy, HostListener} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport * as moment from 'moment';\nimport {DialogData} from '../../../auswertungen/components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\nimport {select, Store} from '@ngrx/store';\nimport {Observable} from 'rxjs';\nimport {NodeItem} from '../../../projektverwaltung/node.model';\nimport {AuswertungState} from '../../../auswertungen/store/reducer/auswertungen.reducer';\nimport {Zeitstate} from '../../store/reducer/zeiterfassung.reducer';\nimport {loadProjektauswahlNodesStart} from '../../../auswertungen/store/actions/getProjektauswahlNodes.actions';\nimport {getFilteredZeitStarted} from '../../../auswertungen/store/actions/filter-seek-date.actions';\nimport {ZeiterfassungStufenComponent} from '../zeiterfassung-stufen/zeiterfassung-stufen.component';\nimport {getFilteredSeekDateStart} from '../../store/actions/filter-seek-date.actions';\nimport {DashboardItem} from '../../../landingpage/dashboard.model';\nimport {loadProjektSelectboxStart} from '../../store/actions/project-selectbox.actions';\nimport {loadCacheStart} from '../../store/actions/getCacheNodes.actions';\nimport {Security} from '@src/app/security';\n\n\n\n@Component({\n selector: 'app-zeiterfassung-filter',\n templateUrl: './zeiterfassung-filter.component.html',\n styleUrls: ['./zeiterfassung-filter.component.scss'],\n})\n\nexport class ZeiterfassungFilterComponent implements OnInit {\n\n /* Ende Projekt Auswahl */\n private prjId: any;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public store: Store<{ zeiterfassung: Zeitstate }>,\n public security: Security,\n )\n {\n dialogRef.disableClose = true;\n\n\n this.$projektSelectbox = store.pipe(select((state) => state.zeiterfassung.selectboxProjekte));\n this.$cache = store.pipe(select((state) => state.zeiterfassung.cacheNodes));\n this.filterForm.patchValue({\n start: this.wandler(data.start),\n ende: this.wandler(data.ende),\n offen: parseInt(data.verrechnen, 10),\n });\n\n }\n public $cache: Observable;\n public $projektSelectbox: Observable;\n public filterForm = new FormGroup({\n start: new FormControl(''),\n cache: new FormControl(''),\n ende: new FormControl(''),\n offen: new FormControl(''),\n projektSuche: new FormControl(''),\n ferien: new FormControl('')\n });\n\n /* Zuweisen der Werte vom Kind in die Variable daten */\n daten;\n @ViewChild(ZeiterfassungStufenComponent) stufe;\n\n public disableProjektstufe: boolean;\n\n public getErrorMessage(Feld: string): string {\n const formControl = this.filterForm.get(Feld);\n if (formControl.hasError('required')){\n return`pages.timeDialog.formValidation.error.${Feld}.required`;\n }\n return 'pages.timeDialog.formValidation.error.generic';\n }\n\n // tslint:disable-next-line:typedef use-lifecycle-interface\n ngAfterViewInit() {\n this.daten = this.stufe.addButtonForm;\n }\n\n /* Ende Checkbox 3 */\n\n /* Wandelt Datum um: Ohne Zeitzone und im richtigen Backendformat */\n public wandler(date: any): any {\n const dwD = date.toLocaleString( 'en-US', { timezone: 'utc' } );\n return moment(dwD).format('YYYY-MM-DD');\n }\n\n public ngOnInit(): void {\n this.store.dispatch(loadProjektauswahlNodesStart());\n this.store.dispatch(loadCacheStart());\n }\n\n public handleSubmitClick(): void {\n this.filterForm.value.start = this.wandler(this.filterForm.value.start);\n this.filterForm.value.ende = this.wandler(this.filterForm.value.ende);\n this.filterForm.value.projektSuche = this.getLastProjektstufe();\n let searchString = 'datumVondatumBiszuverrechnen';\n if(this.filterForm.value.ferien){\n searchString = searchString + 'Ferien';\n }\n\n\n if (this.filterForm.value.projektSuche?.id === undefined){\n this.prjId = '';\n }\n else{\n this.prjId = this.filterForm.value.projektSuche.id;\n }\n\n\n\n // tslint:disable-next-line:max-line-length\n this.store.dispatch(getFilteredSeekDateStart({ string: searchString , item: {datumVon: this.filterForm.value.start, datumBis: this.filterForm.value.ende, zuverrechnen: this.filterForm.value.offen, projektSuche: this.prjId}}));\n\n sessionStorage.setItem('zeitFilterDatumVon', this.filterForm.value.start );\n sessionStorage.setItem('zeitFilterDatumBis', this.filterForm.value.ende );\n sessionStorage.setItem('zeitFilterZuverrechnen', String(this.filterForm.value.offen ? 1 : 0)) ;\n sessionStorage.setItem('zeitFilterSearchString', searchString);\n sessionStorage.setItem('zeitFilterPrjId', String(this.prjId));\n\n\n\n this.dialogRef.close(true);\n }\n\n /* Abbruchfunktion */\n // tslint:disable-next-line:typedef\n public handleCancelClick() {\n\n this.dialogRef.close(false);\n }\n\n /* holt die letzteProjektstufe */\n public getLastProjektstufe(): NodeItem{\n // tslint:disable-next-line:prefer-const\n let projektStufe;\n let letzteStufe;\n for (let i = 0; i < 1000; i++){\n const testString = 'projektStufe = this.daten.value.projektstufe' + i;\n // tslint:disable-next-line:no-eval\n eval(testString);\n if (projektStufe?.children?.length === 0){\n letzteStufe = projektStufe;\n return letzteStufe;\n }\n else if (projektStufe !== undefined && projektStufe !== ''){\n letzteStufe = projektStufe;\n }\n else{\n return letzteStufe;\n }\n }\n }\n\n public selectProjects(projektId: number): void {\n this.store.dispatch(loadProjektSelectboxStart({projektId}));\n }\n\n public setProjektstufeDisabled(checked: boolean): void{\n this.disableProjektstufe = checked;\n if(checked){\n this.filterForm.get('cache').disable();\n }\n else{\n this.filterForm.get('cache').enable();\n }\n }\n\n}\n\n","

{{ data.title | translate }}

\n\n
\n\n
\n \n {{ 'pages.auswertungen.auswertungDialog.start' | translate }}\n \n \n \n\n \n \n {{ 'pages.auswertungen.auswertungDialog.ende' | translate }}\n \n \n \n \n \n {{ 'pages.zeitverwaltung.offen' | translate }}\n \n {{ 'pages.zeitverwaltung.ferien' | translate }}\n
\n\n \n \n\n \n {{ 'pages.timeDialog.cache' | translate }}\n \n \n {{cacheNode.obersteProjektstufe.join(' - ')}}\n \n \n \n\n
\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import {\n Component,\n Inject,\n OnInit,\n ViewChild,\n AfterViewInit,\n OnDestroy,\n HostListener,\n AfterContentChecked,\n AfterViewChecked, ViewEncapsulation, Input\n} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport * as moment from 'moment';\nimport { addZeitStart } from '../../store/actions/Zeit-add.actions';\nimport { select, Store } from '@ngrx/store';\nimport { Zeitstate } from '../../store/reducer/zeiterfassung.reducer';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { editZeitStart } from '../../store/actions/Zeit-edit.actions';\nimport {ZeiterfassungStufenComponent} from '../zeiterfassung-stufen/zeiterfassung-stufen.component';\nimport {NodeItem} from '../../../projektverwaltung/node.model';\nimport {Observable} from 'rxjs';\nimport {SpesenItem} from '../../spesen.model';\nimport {SpesenFormdialogComponent} from '../spesen-form-dialog/spesen-formdialog.component';\nimport {loadSpesenartenStart} from '../../store/actions/spesenart.actions';\nimport {deleteZeitStart} from '../../store/actions/Zeit-del.actions';\nimport {deleteAllSpesenOfZeitStart} from '../../store/actions/allSpesenOfZeit-del.actions';\nimport {CacheItem} from '../../cache.model';\nimport {loadCacheStart} from '../../store/actions/getCacheNodes.actions';\nimport {DashboardItem} from '../../../landingpage/dashboard.model';\nimport {loadProjektSelectboxStart} from '../../store/actions/project-selectbox.actions';\nimport {HttpClient} from '@angular/common/http';\nimport {Router} from '@angular/router';\nimport {Security} from '../../../../security';\nimport {asNumber} from 'wijmo/wijmo';\nimport {loadIstZeitStart} from '../../store/actions/getIstZeit';\nimport {element} from 'protractor';\nimport {map, startWith} from 'rxjs/operators';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {MatAutocomplete} from '@angular/material/autocomplete';\nimport {loadTaetCacheStart} from '@src/app/pages/Zeiterfassung/store/actions/getTaetCache.actions';\n\n\n/* Projekt Auswahl */\nexport interface ProjektDaten {\n prjID: number;\n prjName?: string;\n prjPRJ?: number;\n prjLevel?: number;\n}\n\n/* Ende Projekt Auswahl */\n\nexport interface DialogData {\n id: number;\n title: string;\n spesenTitle: string;\n submitButtonLabel: string;\n datum: Date;\n serienDatum: Date[];\n dauerIntern: string;\n dauerExtern: string;\n text: string;\n verrechnen: any;\n verrechnet: any;\n niverbar: any;\n projekt: string;\n projektstufe0: string;\n letzteProjektstufe: string;\n cancelButtonLabel: string;\n spesenTotal: number;\n deletable: boolean;\n sollZeit: number;\n istZeit: number;\n restZeit: number;\n ferien: string;\n}\n\n@Component({\n selector: 'app-zeiterfassung-formdialog-neu',\n templateUrl: './zeiterfassung-formdialog-neu.component.html',\n styleUrls: ['./zeiterfassung-formdialog-neu.component.scss'],\n})\n\nexport class ZeiterfassungFormdialogNeuComponent implements OnInit, AfterViewChecked, OnDestroy {\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public fB: FormBuilder,\n public dialog: MatDialog,\n public store: Store<{ zeiterfassung: Zeitstate }>,\n private breakpointObserver: BreakpointObserver\n ) {\n\n dialogRef.disableClose = true;\n\n this.$projektSelectbox = store.pipe(select((state) => state.zeiterfassung.selectboxProjekte));\n this.$spesen = store.pipe(select((state) => state.zeiterfassung.spesen));\n this.$cache = store.pipe(select((state) => state.zeiterfassung.cacheNodes));\n this.$istZeit = store.pipe(select((state) => state.zeiterfassung.istZeit));\n this.$sollZeit = store.pipe(select((state) => state.zeiterfassung.sollZeit));\n this.$taetCache = store.pipe(select((state) => state.zeiterfassung.taetNodes));\n /* Projekt Auswahl */\n /* Ende Projekt Auswahl */\n console.log(moment(data.datum).format('YYYY-MM-DD'));\n if (this.data.id === undefined) {\n this.data.verrechnen = '1';\n this.data.verrechnet = 0;\n } else {\n if (this.data.verrechnen == 'Ja'){\n this.data.verrechnen = '1';\n }\n else{\n this.data.verrechnen = '2';\n }\n this.data.verrechnet = this.neuOderBearbeiten(this.data.verrechnet);\n }\n this.ferien = parseInt(this.data.ferien, 10) - 1;\n /* Gridwerte in die Bearbeiten Maske hineinschreiben */\n this.timeForm.patchValue({\n /* Wandelt beim Bearbeiten das Datum und liest es in Maske ein */\n datum: moment(data.datum).format('YYYY-MM-DD'),\n /* Ende Umwandler */\n dauerIntern: parseFloat(data.dauerIntern).toFixed(2),\n dauerExtern: parseFloat(data.dauerExtern).toFixed(2),\n text: data.text,\n verrechnen: this.data.verrechnen,\n verrechnet: this.data.verrechnet,\n niverbar: this.data.niverbar,\n projekt: data.projekt,\n projektstufe0: data.projektstufe0,\n letzteProjektstufe: data.letzteProjektstufe,\n tagesist: data.istZeit,\n tagessoll: data.sollZeit,\n tagesrest: data.restZeit,\n ferien: !!this.ferien,\n });\n this.setProjektstufeDisabled(!!this.ferien);\n // tslint:disable-next-line:max-line-length\n // EDIT ZEIT\n if (data.id){\n this.store.dispatch(loadIstZeitStart({datum: this.timeForm.controls.datum.value}));\n this.updateTagesIstWithoutTime(true);\n }\n // ADD ZEIT\n else{\n this.calculateDayIsTime(this.timeForm.controls.datum.value);\n }\n this.calculateTime();\n\n }\n\n /* Ende Projekt Auswahl */\n private myTimer;\n\n\n @ViewChild(ZeiterfassungStufenComponent) stufe;\n\n public ferien: number;\n public disableProjektstufe: boolean;\n public $spesen: Observable;\n public $cache: Observable;\n public $taetCache: Observable;\n public $taetCacheFiltered: Observable;\n public $projektSelectbox: Observable;\n public $istZeit: Observable;\n public $sollZeit: Observable;\n /* Speichert die Werte des Formulars */\n public timeForm = new FormGroup({\n datum: new FormControl(''),\n dauerIntern: new FormControl('', [Validators.required]),\n dauerExtern: new FormControl('', [Validators.required]),\n text: new FormControl('', [Validators.pattern('[^\\']+')]),\n verrechnen: new FormControl('' ),\n verrechnet: new FormControl({value: '', disabled: this.data.niverbar === 'Ja'}),\n niverbar: new FormControl(''),\n /* Inputfeld */\n projekt: new FormControl(''),\n cache: new FormControl(''),\n tagestotal: new FormControl(''),\n tagesist: new FormControl({value: '', disabled: true}),\n tagessoll: new FormControl(''),\n tagesrest: new FormControl(''),\n start: new FormControl(),\n end: new FormControl(),\n serienDatum: new FormControl({value: 'f', disabled: true }),\n ferien: new FormControl(''),\n });\n\n /* Zuweisen der Werte vom Kind in die Variable daten */\n daten;\n /* holt die letzteProjektstufe */\n private rest: number;\n public tagesIstWithoutThisTime: number;\n public isSmallDevice = false;\n /* Abbruchfunktion */\n // tslint:disable-next-line:typedef\n private restIntern: number;\n private restExtern: number;\n @Input() auto: MatAutocomplete;\n options: string[] = ['One', 'Two', 'Three'];\n filteredOptions: Observable;\n myControl = new FormControl('');\n daysSelected: any[] = [];\n event: any;\n public showInInput: string;\n\n @HostListener('window:beforeunload', [ '$event' ])\n // tslint:disable-next-line:typedef\n beforeUnloadHandler(event) {\n if ( isNaN( Number(sessionStorage.getItem('zeitId'))) === false){\n this.store.dispatch(deleteAllSpesenOfZeitStart({zeitId: parseInt(sessionStorage.getItem('zeitId'), 10)}));\n this.store.dispatch(deleteZeitStart({\n // tslint:disable-next-line:radix\n item: {id: parseInt(sessionStorage.getItem('zeitId')),\n title: null,\n spesenTitle: null,\n submitButtonLabel: null,\n datum: null,\n dauerIntern: null,\n dauerExtern: null,\n text: null,\n verrechnen: null,\n verrechnet: null,\n niverbar: null,\n projekt: null,\n projektstufe0: null,\n letzteProjektstufe: null,\n cancelButtonLabel: null,\n spesenTotal: null,\n deletable: null,\n sollZeit: null,\n istZeit: null,\n restZeit: null,\n serienDatum: null,\n ferien: null,\n },\n }));\n }\n sessionStorage.setItem('zeitId', null);\n }\n\n\n public getErrorMessage(Feld: string): string {\n const formControl = this.timeForm.get(Feld);\n if (formControl.hasError('required')){\n return`pages.timeDialog.formValidation.error.${Feld}.required`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.timeDialog.formValidation.error.${Feld}.pattern`;\n }\n return 'pages.timeDialog.formValidation.error.generic';\n }\n\n /* Ende Checkbox 3 */\n\n /* Wandelt Datum um: Ohne Zeitzone und im richtigen Backendformat */\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n\n /* Entscheidet ob Daten der Checkbox verrechnen in der Neu Maske oder Bearbeiten Maske ausgegeben werden soll */\n public neuOderBearbeiten(checkboxCheck: any): any {\n // tslint:disable-next-line:triple-equals\n if (checkboxCheck == 'Ja') {\n return 1;\n } else {\n return 0;\n }\n }\n\n public dauerUebergeben(dauer: number): void{\n this.timeForm.patchValue({\n dauerExtern: dauer,\n });\n }\n\n // tslint:disable-next-line:typedef use-lifecycle-interface\n public ngAfterViewChecked(){\n this.daten = this.stufe.addButtonForm;\n }\n // tslint:disable-next-line:typedef\n ngOnDestroy() {\n // Falls keine Zahl in der Session ist löscht es auch nichts\n if ( isNaN( Number(sessionStorage.getItem('zeitId'))) === false){\n this.store.dispatch(deleteAllSpesenOfZeitStart({zeitId: parseInt(sessionStorage.getItem('zeitId'), 10)}));\n this.store.dispatch(deleteZeitStart({\n item: {id: parseInt(sessionStorage.getItem('zeitId'), 10),\n title: null,\n spesenTitle: null,\n submitButtonLabel: null,\n datum: null,\n dauerIntern: null,\n dauerExtern: null,\n text: null,\n verrechnen: null,\n verrechnet: null,\n niverbar: null,\n projekt: null,\n projektstufe0: null,\n letzteProjektstufe: null,\n cancelButtonLabel: null,\n spesenTotal: null,\n deletable: null,\n sollZeit: null,\n istZeit: null,\n restZeit: null,\n serienDatum: null,\n ferien: null,\n },\n }));\n }\n sessionStorage.setItem('zeitId', null);\n }\n /* Ende Zuweisen der Werte vom Kind in die Variable daten */\n\n public ngOnInit(): void {\n /* this.filteredOptions = this.timeForm.controls.cache.valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value || '')),\n );*/\n sessionStorage.setItem('taetEingabe', '');\n sessionStorage.setItem('spesenartIsAktiv', '1');\n this.store.dispatch(loadTaetCacheStart({prjId: 0, eingabe: ''}));\n this.store.dispatch(loadSpesenartenStart());\n this.store.dispatch(loadCacheStart());\n\n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n\n return this.options.filter(option => option.toLowerCase().includes(filterValue));\n }\n\n public handleSubmitClick(): void {\n const item = this.timeForm.value;\n if ( !this.data?.id){\n item.id = sessionStorage.getItem('zeitId');\n console.log('first');\n }else{\n item.id = this.data.id;\n console.log('second');\n }\n if (item.verrechnen == 1){\n item.verrechnen = 1;\n item.niverbar = 0;\n }\n else{\n item.verrechnen = 0;\n item.niverbar = 1;\n item.verrechnet = 0;\n }\n if(!item.ferien){\n item.projektstufe0 = this.daten.value.projektstufe0;\n // get highest projektstufe\n item.letzteProjektstufe = this.getLastProjektstufe();\n item.ferien = 1;\n }\n else{\n item.projektstufe0 = null;\n item.ferien = 2;\n }\n\n item.serienDatum = this.daysSelected;\n\n if (item.serienDatum.length === 0){\n this.timeForm.value.datum = this.wandler(this.timeForm.value.datum);\n }\n else{\n this.timeForm.value.datum = '';\n }\n this.store.dispatch(editZeitStart({ item }));\n\n sessionStorage.setItem('zeitId', null);\n this.dialogRef.close('stopTheButton');\n\n }\n\n\n public handleCancelClick(): void {\n this.dialogRef.close(true);\n }\n public getLastProjektstufe(): NodeItem{\n // tslint:disable-next-line:prefer-const\n let projektStufe;\n let letzteStufe;\n for (let i = 0; i < 1000; i++){\n const testString = 'projektStufe = this.daten.value.projektstufe' + i;\n // tslint:disable-next-line:no-eval\n eval(testString);\n if (projektStufe?.children?.length === 0){\n letzteStufe = projektStufe;\n return letzteStufe;\n }\n else if (projektStufe !== undefined && projektStufe !== ''){\n letzteStufe = projektStufe;\n\n }\n else{\n return letzteStufe;\n }\n }\n }\n\n public addSpesen(): void{\n if (this.data.id === undefined){\n this.data.id = Number(sessionStorage.getItem('zeitId'));\n }\n\n if(this.isSmallDevice){\n this.dialog.open(SpesenFormdialogComponent, {\n maxWidth: '90%',\n data: {\n title: 'pages.zeitverwaltung.addSpesenDialog.title',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n menge: null,\n zeitId: this.data.id,\n },\n });\n }\n else{\n this.dialog.open(SpesenFormdialogComponent, {\n data: {\n title: 'pages.zeitverwaltung.addSpesenDialog.title',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n menge: null,\n zeitId: this.data.id,\n },\n });\n }\n }\n\n public selectProjects(projektId: number): void {\n this.store.dispatch(loadProjektSelectboxStart({projektId}));\n }\n\n public updateTagesIstWithoutTime(mitDauerInt: boolean): void{\n if (!this.timeForm.controls.dauerIntern.value){\n this.timeForm.patchValue({\n dauerIntern: 0,\n });\n }\n if (mitDauerInt){\n // tslint:disable-next-line:max-line-length\n this.tagesIstWithoutThisTime = Math.round((this.timeForm.controls.tagesist.value - parseFloat( this.timeForm.controls.dauerIntern.value)) * 100) / 100;\n }\n else{\n\n this.tagesIstWithoutThisTime = Math.round((this.timeForm.controls.tagesist.value) * 100) / 100;\n\n this.timeForm.patchValue({\n // tslint:disable-next-line:max-line-length\n tagesist: (Math.round((this.tagesIstWithoutThisTime + parseFloat( this.timeForm.controls.dauerIntern.value)) * 100) / 100).toFixed(2),\n });\n\n }\n // tslint:disable-next-line:max-line-length\n}\n\n public calculateRest(): void{\n this.rest = (Math.round( (this.timeForm.controls.tagessoll.value - this.timeForm.controls.tagesist.value) * 100) / 100);\n this.timeForm.patchValue({\n tagesrest: this.rest.toFixed(2),\n });\n }\n\n public calculateTime(): void{\n if (!parseFloat( this.timeForm.controls.dauerIntern.value)){\n this.rest = this.tagesIstWithoutThisTime;\n }\n else{\n this.rest = this.tagesIstWithoutThisTime + parseFloat(this.timeForm.controls.dauerIntern.value);\n }\n\n if (this.rest !== undefined){\n this.timeForm.patchValue({\n tagesist: this.rest.toFixed(2),\n });\n }\n }\n\n public calculateDayIsTime(datum: string): void{\n\n datum = this.wandler(datum);\n this.store.dispatch(loadIstZeitStart({datum}));\n\n // update tagesIstWithoutThisTime\n // tslint:disable-next-line:only-arrow-functions\n this.myTimer = setTimeout ( function(): void{\n document.getElementById('updateButton').click();\n } , 500);\n }\n\n public zeitVerteilen(zeitRest: number): void{\n\n this.restIntern = parseFloat( this.timeForm.controls.dauerIntern.value ) + parseFloat(String(zeitRest));\n this.restExtern = parseFloat(this.timeForm.controls.dauerExtern.value) + parseFloat(String(zeitRest));\n\n this.timeForm.patchValue({\n dauerIntern: this.restIntern.toFixed(2),\n dauerExtern: this.restExtern.toFixed(2),\n });\n }\n\n\n public disableVerrechnet(disableVerrechnet: boolean): void{\n if (disableVerrechnet){\n this.timeForm.patchValue({\n verrechnet: 0,\n });\n this.timeForm.get('verrechnet').disable();\n }\n else{\n this.timeForm.get('verrechnet').enable();\n }\n }\n isSelected = (event: any) => {\n const date =\n event.getFullYear() +\n '-' +\n ('00' + (event.getMonth() + 1)).slice(-2) +\n '-' +\n ('00' + event.getDate()).slice(-2);\n return this.daysSelected.find(x => x == date) ? 'selected' : null;\n }\n\n select(event: any, calendar: any): void {\n const date =\n event.getFullYear() +\n '-' +\n ('00' + (event.getMonth() + 1)).slice(-2) +\n '-' +\n ('00' + event.getDate()).slice(-2);\n const index = this.daysSelected.findIndex(x => x == date);\n // date = moment(date).format('DD.MM.YYYY');\n\n if (index < 0) { this.daysSelected.push(date); }\n else { this.daysSelected.splice(index, 1); }\n\n calendar.updateTodaysDate();\n\n this.showInInput = this.daysSelected.toString();\n\n }\n\n public filter(filterEingabe: string): void{\n sessionStorage.setItem('taetEingabe', filterEingabe);\n this.store.dispatch(loadTaetCacheStart({prjId: parseInt(sessionStorage.getItem('taetPrjId'), 10), eingabe: filterEingabe}));\n }\n\n\n\n public nichtVerrechnenVerrechnen(verNiver: boolean): void{\n console.log(verNiver);\n this.timeForm.patchValue({\n verrechnen: (verNiver ? 1 : 2).toString(),\n });\n if(!verNiver){\n this.disableVerrechnet(true);\n }\n\n }\n\n public setProjektstufeDisabled(checked: boolean): void{\n\n\n this.disableProjektstufe = checked;\n if(checked){\n this.timeForm.patchValue({\n verrechnen: '2',\n });\n this.timeForm.get('cache').disable();\n }\n else{\n this.timeForm.get('cache').enable();\n }\n }\n\n}\n\n","\n\n

{{ data.title | translate }}

\n
\n\n \n \n
\n \n {{ 'pages.timeDialog.tagestotal' | translate }}\n \n \n {{ 'pages.timeDialog.tagesist' | translate }}\n \n \n \n\n \n {{ 'pages.timeDialog.tagessoll' | translate }}\n \n \n \n \n {{ 'pages.timeDialog.tagesrest' | translate }}\n \n \n \n\n \n
\n\n \n {{ 'pages.timeDialog.cache' | translate }}\n \n \n {{cacheNode.obersteProjektstufe.join(' - ')}}\n \n \n \n\n\n
\n\n \n {{ 'pages.timeDialog.datum' | translate }}\n \n \n \n \n \n\n\n \n {{ 'pages.timeDialog.dauer.intern' | translate }}\n \n \n \n\n \n {{ 'pages.timeDialog.dauer.extern' | translate }}\n \n \n \n\n \n {{ 'pages.timeDialog.serienerfassung' | translate }}\n \n\n calendar_today\n \n \n
\n\n
\n\n\n \n {{ 'pages.timeDialog.verrechnen' | translate }}\n {{ 'pages.timeDialog.niverbar' | translate }}\n \n\n \n {{ 'pages.timeDialog.verrechnet' | translate }}\n \n\n \n {{ 'pages.timeDialog.ferien' | translate }}\n \n\n
\n\n \n {{ 'pages.timeDialog.text' | translate }}\n \n\n \n \n {{cacheOption}}\n \n \n {{ getErrorMessage('text') | translate }}\n \n\n
\n\n
\n

{{ data.spesenTitle | translate }}\n
\n \n
\n

\n\n \n \n \n
\n
\n\n\n\n
\n\n \n \n\n \n {{ 'pages.timeDialog.cache' | translate }}\n \n \n {{cacheNode.obersteProjektstufe.join(' - ')}}\n \n \n \n\n\n
\n\n \n {{ 'pages.timeDialog.datum' | translate }}\n \n \n \n \n \n
\n
\n\n \n {{ 'pages.timeDialog.dauer.intern' | translate }}\n \n \n\n \n {{ 'pages.timeDialog.dauer.extern' | translate }}\n \n \n
\n\n
\n\n\n \n {{ 'pages.timeDialog.verrechnen' | translate }}\n {{ 'pages.timeDialog.niverbar' | translate }}\n \n \n
\n\n\n \n Number\n \n \n \n {{option}}\n \n \n \n\n
\n\n
\n

{{ data.spesenTitle | translate }}\n
\n \n
\n

\n\n \n \n \n
\n
\n\n\n\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n\n\n\n
\n \n \n\n\n
\n \n\n {{ data.submitButtonLabel | translate }}\n \n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-zeiterfassung-list',\n templateUrl: './zeiterfassung-list.component.html',\n styleUrls: ['./zeiterfassung-list.component.scss']\n})\nexport class ZeiterfassungListComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

zeiterfassung-list works!

\n","import {AfterViewInit, Component, HostListener, Inject, Injectable, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {\n DialogData,\n ZeiterfassungFormdialogNeuComponent\n} from '../zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\nimport { select, Store } from '@ngrx/store';\nimport { Zeitstate } from '../../store/reducer/zeiterfassung.reducer';\nimport { deleteZeitStart } from '../../store/actions/Zeit-del.actions';\nimport {loadProjektSelectboxStart} from '../../store/actions/project-selectbox.actions';\nimport {BestaetigungsFormComponent} from '../../../../ui-components/bestaetigungs-form/bestaetigungs-form.component';\nimport {loadSpesenStart} from '../../store/actions/getAllSpesen.actions';\nimport {deleteAllSpesenOfZeitStart,\n} from '../../store/actions/allSpesenOfZeit-del.actions';\nimport {setTimeToZeroStart} from '../../store/actions/setTimeToZero-edit.actions';\nimport {addZeitStart} from '../../store/actions/Zeit-add.actions';\nimport {async, Observable} from 'rxjs';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {loadAllMitarbeiterSelectboxStart} from '../../../Mitarbeiterverwaltung/store/actions/getAllMitarbeiterSelectbox.actions';\nimport {State} from '../../../Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\nimport {MitarbeiterItem} from '../../../Mitarbeiterverwaltung/mitarbeiter.model';\nimport {getFilteredSeekDateStart} from '../../store/actions/filter-seek-date.actions';\nimport {AuswertungenFormdialogNeuComponent} from '../../../auswertungen/components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\nimport { Stimulsoft } from 'stimulsoft-reports-js/Scripts/stimulsoft.viewer';\nimport * as moment from 'moment';\nimport {ZeiterfassungFilterComponent} from '../zeiterfassung-filter/zeiterfassung-filter.component';\nimport {HttpClient} from '@angular/common/http';\nimport {Router} from '@angular/router';\nimport {Security} from '../../../../security';\nimport {alleVerrechnetStart} from '../../store/actions/alleVerrechnet.actions';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {map} from 'rxjs/operators';\nimport {loadSaldoStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getSaldo.actions';\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\nimport {loadSaldoReportStart} from '@src/app/pages/Zeiterfassung/store/actions/getSaldoReport.actions';\nimport {AuswertungFerienFormComponent} from '@src/app/pages/auswertungen/components/auswertungenferien-form/auswertungenferien-form.component';\nimport {getFerienReportStarted} from '@src/app/pages/Zeiterfassung/store/actions/getFerienReport';\nimport {getFilteredZeitStarted} from '@src/app/pages/auswertungen/store/actions/filter-seek-date.actions';\nimport {AuswertungenService} from '@src/app/pages/auswertungen/auswertungen.service';\nimport {ZeitService} from '@src/app/pages/Zeiterfassung/zeit.service';\n\n@Component({\n selector: 'app-zeiterfassung-page',\n templateUrl: './zeiterfassung-page.component.html',\n styleUrls: ['./zeiterfassung-page.component.scss']\n})\n\nexport class ZeiterfassungPageComponent implements OnInit, OnDestroy, AfterViewInit {\n\n\n // tslint:disable-next-line:max-line-length\n public static showZeittable = true;\n // tslint:disable-next-line:max-line-length\n constructor( public dialog: MatDialog,\n public store: Store<{ zeiterfassung: Zeitstate }>,\n private mitarbeiterStore: Store<{ mitarbeiterverwaltung: State }>,\n public http: HttpClient,\n public router: Router,\n public security: Security,\n private breakpointObserver: BreakpointObserver,\n public aService: AuswertungenService,\n public zService: ZeitService\n ) {\n\n // console.log( checkGrant('3000', this.http, this.router));\n const today = new Date();\n this.$zeit = store.pipe(select((state) => state.zeiterfassung.item)); /* items */\n this.$user = mitarbeiterStore.pipe(select((state) => state.mitarbeiterverwaltung.selectboxItems));\n this.$saldo = mitarbeiterStore.pipe(select((state) => state.mitarbeiterverwaltung.saldos));\n this.rolleId = sessionStorage.getItem('rolleId');\n\n this.filterSucheForm.patchValue({\n datumVon: new Date(today.getFullYear(), today.getMonth(), 1),\n datumBis: new Date(today.getFullYear(), today.getMonth() + 1, 0),\n });\n\n }\n public showAdd: Observable;\n public showPrint: Observable;\n public showChangeUser: Observable;\n public $saldo: Observable;\n public userId;\n public rolleId: string;\n public title;\n public functionMenuEnabled: boolean;\n public isFilterActive: boolean;\n public $zeit;\n public wertDerCheckboxPage;\n public myTimer: any;\n public isSmallDevice = false;\n\n public $user: Observable;\n\n public userForm = new FormGroup({\n user: new FormControl({value: ''}, [Validators.required]),\n });\n /* Werte der Suche nach Datum und Projektname gespeichert */\n public filterSucheForm = new FormGroup({\n datumVon: new FormControl(''),\n datumBis: new FormControl(''),\n sucheProjekte: new FormControl(''),\n zuverrechnen: new FormControl(''),\n });\n\n\n ngOnInit(): void {\n this.showAdd = this.security.checkIfAllowed('3002');\n this.showPrint = this.security.checkIfAllowed('4000');\n this.showChangeUser = this.security.checkIfAllowed('3001');\n this.functionMenuEnabled = true;\n this.isFilterActive = false;\n this.breakpointObserver\n .observe(localStorage.getItem('phoneWidth'))\n .pipe(map((result) => result.matches))\n .subscribe((isSmallDevice) => {\n this.isSmallDevice = isSmallDevice;\n });\n /* let userId = null;\n // Falls zeitUserId gesetzt ist\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n // Falls der aktive User genommen werden soll.\n else{\n userId = sessionStorage.getItem('userId');\n }\n console.log(userId);\n this.userForm.patchValue({\n user: userId,\n });\n this.store.dispatch(loadAllMitarbeiterSelectboxStart({string: sessionStorage.getItem('firmaId')}));\n*/\n }\n\n ngAfterViewInit(): void {\n ZeiterfassungPageComponent.showZeittable = true;\n this.search();\n\n this.myTimer = setInterval( function(): void{\n if ( sessionStorage.getItem('session') !== null ){\n document.getElementById('timerButton').click();\n }\n\n } , 300);\n }\n\n ngOnDestroy(): void {\n this.functionMenuEnabled = true;\n this.store.dispatch(loadAllMitarbeiterSelectboxStart({string: sessionStorage.getItem('firmaId')}));\n sessionStorage.setItem('zeitUserId', 'null');\n clearInterval(this.myTimer);\n }\n\n // Wandelt Datum in das richtige Format\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n\n public openAuswertungen(projektId: number): void{\n\n if(projektId == 0){\n this.store.dispatch(loadProjektSelectboxStart({projektId: parseInt( sessionStorage.getItem('zeitFilterPrjId'), 10)}));\n }\n else{\n this.store.dispatch(loadProjektSelectboxStart({projektId}));\n }\n // this.store.dispatch(loadProjektSelectboxStart({projektId}));\n\n if(this.isSmallDevice){\n this.dialog.open(AuswertungenFormdialogNeuComponent, {\n minWidth: '100vw',\n height: '100vh',\n data: {\n title: 'pages.auswertungen.auswertungDialog.title',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n start: sessionStorage.getItem('zeitFilterDatumVon'),\n ende: sessionStorage.getItem('zeitFilterDatumBis'),\n verrechnen: sessionStorage.getItem('zeitFilterZuverrechnen'),\n },\n }).afterClosed().subscribe(\n (result) => {\n if (result){\n console.log(result);\n this.store.dispatch(getFilteredZeitStarted({item: result}));\n this.aService.getFilteredSeekDate(result).subscribe(\n (x) => {\n // tslint:disable-next-line:max-line-length\n this.loadReport(result.benutzer, result.zwischensummen, result.details, result.alleBenutzer, result.start, result.ende, result.zeitAuswahl, result.spesenAuswahl, result.separat);\n });\n }\n }\n );\n }\n else{\n this.dialog.open(AuswertungenFormdialogNeuComponent, {\n data: {\n title: 'pages.auswertungen.auswertungDialog.title',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n start: sessionStorage.getItem('zeitFilterDatumVon'),\n ende: sessionStorage.getItem('zeitFilterDatumBis'),\n verrechnen: sessionStorage.getItem('zeitFilterZuverrechnen'),\n },\n }).afterClosed().subscribe(\n (result) => {\n if (result){\n // this.store.dispatch(getFilteredZeitStarted({item: result}));\n this.aService.getFilteredSeekDate(result).subscribe(\n (x) => {\n // tslint:disable-next-line:max-line-length\n this.loadReport(result.benutzer, result.zwischensummen, result.details, result.alleBenutzer, result.start, result.ende, result.zeitAuswahl, result.spesenAuswahl, result.separat);\n });\n }\n }\n );\n }\n }\n\n public openFerienReport(): void{\n this.dialog.open(AuswertungFerienFormComponent, {\n data: {\n title: 'pages.auswertungen.auswertungDialog.title',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n },\n }).afterClosed().subscribe(\n (nResult) => {\n if (nResult){\n // this.store.dispatch(getFerienReportStarted({jahr: nResult.jahr, mitarbeiter: nResult.mitarbeiter}));\n console.log(nResult);\n // Load Ferien Report\n this.zService.getFerienReport(nResult.jahr, nResult.mitarbeiter).subscribe(\n (x) => {\n // tslint:disable-next-line:max-line-length\n this.loadFerienReport(nResult);\n });\n }\n }\n );\n }\n\n\n /* öffnet Maske für die neue Zeiterfassung */\n public newAddtime(): void{\n // Zeit in Datenbank erstellen und ID mit in Formular geben via Session\n this.store.dispatch(addZeitStart());\n this.store.dispatch(loadSpesenStart({zeitId: 0} ));\n\n // bei kleinen Geräten Vollbildschirm\n if (this.isSmallDevice){\n this.dialog.open(ZeiterfassungFormdialogNeuComponent, {\n minWidth: '100vw',\n height: '100vh',\n data: {\n title: 'pages.addTimeDialog.title',\n spesenTitle: 'pages.addTimeDialog.spesenTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n dauerIntern: 0,\n dauerExtern: 0,\n },\n });\n }\n // Bei grossen Geräten nicht Vollbildschirm\n else{\n this.dialog.open(ZeiterfassungFormdialogNeuComponent, {\n data: {\n title: 'pages.addTimeDialog.title',\n spesenTitle: 'pages.addTimeDialog.spesenTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n dauerIntern: 0,\n dauerExtern: 0,\n },\n });\n }\n\n }\n public setNewUserSession(userId: string): void {\n sessionStorage.setItem('zeitUserId', userId);\n // tslint:disable-next-line:radix\n this.store.dispatch(loadSaldoStart({userId: parseInt(userId)}));\n // holt alle gefilterten Zeiteinträge für die neue Person\n this.store.dispatch(getFilteredSeekDateStart({\n string: sessionStorage.getItem('zeitFilterSearchString'),\n item: {\n datumVon: sessionStorage.getItem('zeitFilterDatumVon'),\n datumBis: sessionStorage.getItem('zeitFilterDatumBis'),\n zuverrechnen: sessionStorage.getItem('zeitFilterZuverrechnen'),\n }\n })\n );\n }\n /* Bearbeiten eines Eintrags */\n\n public editZeit(Zeit: DialogData): void {\n this.store.dispatch(loadSpesenStart({zeitId: Zeit.id} ));\n this.store.dispatch(loadProjektSelectboxStart({projektId: parseInt(Zeit.projekt)}));\n // Hier muss man mit der ZeitId den Projektbaum holen gehen und dann in das Zeitform mitgeben ->\n if(this.isSmallDevice) {\n // tslint:disable-next-line:radix\n\n const dialogEdit = this.dialog.open(ZeiterfassungFormdialogNeuComponent, {\n minWidth: '100vw',\n height: '100vh',\n data: {\n title: 'pages.timeDialog.functionMenu.title',\n spesenTitle: 'pages.addTimeDialog.spesenTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n id: Zeit.id,\n datum: Zeit.datum,\n dauerIntern: Zeit.dauerIntern,\n dauerExtern: Zeit.dauerExtern,\n text: Zeit.text,\n verrechnen: Zeit.verrechnen,\n verrechnet: Zeit.verrechnet,\n niverbar: Zeit.niverbar,\n sollZeit: Zeit.sollZeit,\n istZeit: Zeit.istZeit,\n restZeit: Zeit.restZeit,\n ferien: Zeit.ferien,\n },\n });\n dialogEdit.afterClosed().subscribe(result => {\n this.store.dispatch(loadSpesenStart({zeitId: 0}));\n });\n }\n else{\n // tslint:disable-next-line:radix\n const dialogEdit = this.dialog.open(ZeiterfassungFormdialogNeuComponent, {\n data: {\n title: 'pages.timeDialog.functionMenu.title',\n spesenTitle: 'pages.addTimeDialog.spesenTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n id: Zeit.id,\n datum: Zeit.datum,\n dauerIntern: Zeit.dauerIntern,\n dauerExtern: Zeit.dauerExtern,\n text: Zeit.text,\n verrechnen: Zeit.verrechnen,\n verrechnet: Zeit.verrechnet,\n niverbar: Zeit.niverbar,\n sollZeit: Zeit.sollZeit,\n istZeit: Zeit.istZeit,\n restZeit: Zeit.restZeit,\n ferien: Zeit.ferien,\n },\n });\n dialogEdit.afterClosed().subscribe(result => {\n this.store.dispatch(loadSpesenStart({zeitId: 0}));\n });\n }\n }\n\n public deleteZeit(Zeit: DialogData): void {\n\n\n // Falls deletable true ist muss nur gefragt werden ob die Zeit gelöscht werden soll.\n // Falls deletable false ist muss auch für die Spesen der Zeit gefragt werden.\n // Falls der User die Spesen nicht löschen will kann er die Zeit trotzdem löschen ( Auf 0Stunden Arbeit setzen )\n if (Zeit.deletable === false){\n // Abfrage ob Spesen gelöscht werden sollen.\n const bestätigungsFormSpese = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.deleteAllSpesen.title',\n text: 'pages.zeitverwaltung.deleteAllSpesen.text'\n },\n });\n bestätigungsFormSpese.afterClosed().subscribe(result => {\n if (result === true){\n // Spesen löschen\n this.store.dispatch(deleteAllSpesenOfZeitStart({zeitId: Zeit.id}));\n\n // Abfrage ob Zeit auch gelöscht werden soll.\n\n const bestätigungsForm = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.deleteZeit.title',\n text: 'pages.zeitverwaltung.deleteZeit.text'\n },\n });\n bestätigungsForm.afterClosed().subscribe(result2 => {\n if (result2 === true){\n // Zeit löschen\n this.store.dispatch(deleteZeitStart({item: Zeit}));\n }\n });\n\n }\n else{\n // Abfrage ob Zeit auf 0 gestellt werden soll\n const bestätigungsFormZeitAuf0 = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.updateZeitZu0.title',\n text: 'pages.zeitverwaltung.updateZeitZu0.text'\n },\n });\n bestätigungsFormZeitAuf0.afterClosed().subscribe(result2 => {\n if (result2 === true){\n // Zeit muss auf 0 gestellt werden\n this.store.dispatch(setTimeToZeroStart({zeit: Zeit}));\n }\n });\n }\n });\n }\n else{\n // Abfrage ob Zeit gelöscht werden soll.\n const bestätigungsForm = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.deleteZeit.title',\n text: 'pages.zeitverwaltung.deleteZeit.text'\n },\n });\n bestätigungsForm.afterClosed().subscribe(result => {\n if (result === true){\n this.store.dispatch(deleteZeitStart({item: Zeit}));\n }\n });\n }\n\n }\n\n public saldoReport(userId: number): void {\n console.log(userId);\n\n this.zService.getSaldo(userId).subscribe(\n (x) => {\n // tslint:disable-next-line:max-line-length\n // this.store.dispatch(loadSaldoReportStart({userId}));\n\n ZeiterfassungPageComponent.showZeittable = false;\n Stimulsoft.Base.StiLicense.Key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHmpMFGIvKXt+0qL8oOfYCePmdl89Db00G622UYvHM74Kho8fxVfA5Hmk/iCgfRw7qeEsRlVjqwg8RcFeEAnQymDk5yd2/okky1fZy4MSoewgM6OUcbcojaqaY96fyQa5VlONSe6PWNNVBCmoaUL/YJZeg4AuxBQvIJFZmwtDvfOZ/ug9VdKB8h8mmoSQhvA1qANoYclQR1kaTNBAXKsrVcn8MKItIoVrJZY0/lINUiPZHfARTMWfdhA5t+UjQQOwWLTIxMha5bsoCfjFG7maIk/ES4kO2OKR5k6Huxg6PBg8lwtn+cw3kQ4pD46VgGTRXh7xCxAUD9hMf5F9rDFyctBRH1o7pdYbHFApsyLcRNoDnefn/LdRAAY+eDs3xTWs4fIslZs+w2EmySosds9X/z6sk6iTQoXrKXmHHnVMP0chZiZgAXLpvMYCquWuahBiCauNLIFdfw3sChkTwWJJln6CFdK+44o6HflqSNu7MmaJGT+qi6XWcAxKBbYkKq81+o=';\n // Einstellungen für Viewer / nicht alle Export und Prints eingestellt da viel unnötig sind und nur verwirren.\n const options = new Stimulsoft.Viewer.StiViewerOptions();\n options.width = 2000;\n options.exports.showExportToCsv = false;\n options.exports.showExportToHtml = false;\n options.exports.showExportToHtml5 = false;\n options.exports.showExportToPowerPoint = false;\n options.exports.showExportToImageSvg = false;\n options.exports.showExportToOpenDocumentWriter = false;\n options.exports.showExportToText = false;\n options.exports.showExportToOpenDocumentCalc = false;\n options.exports.showExportToDocument = false;\n options.toolbar.showOpenButton = false;\n options.toolbar.viewMode = Stimulsoft.Viewer.StiWebViewMode.Continuous;\n\n\n options.toolbar.printDestination = Stimulsoft.Viewer.StiPrintDestination.Pdf;\n const report = new Stimulsoft.Report.StiReport();\n const viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false);\n\n // Load Report File\n // tslint:disable-next-line:max-line-length\n report.loadFile(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/auswertungen/temp/saldoReport_'\n + sessionStorage.getItem('session').slice(10) + '.json');\n\n viewer.report = report;\n\n // Rendering the viewer to selected element\n viewer.renderHtml('viewer');\n\n // Button zu StimulsoftViewer hinzufügen\n // tslint:disable-next-line:prefer-const\n let userButton = viewer.jsObject.SmallButton('userButton', 'Schliessen', 'emptyImage');\n // userButton.image.src = false;\n // Schliessen des Report Fensters\n // tslint:disable-next-line:only-arrow-functions typedef\n userButton.action = function() {\n this.jsObject.controls.viewer.parentNode.removeChild(this.jsObject.controls.viewer);\n ZeiterfassungPageComponent.showZeittable = true;\n };\n\n const toolbarTable = viewer.jsObject.controls.toolbar.firstChild.firstChild;\n const buttonsTable = toolbarTable.rows[0].lastChild.lastChild;\n const userButtonCell = buttonsTable.rows[0].insertCell(0);\n userButtonCell.className = 'stiJsViewerClearAllStyles';\n userButtonCell.appendChild(userButton);\n\n });\n }\n\n public loadReport(\n showBenutzername: boolean,\n showZwischensummen: boolean,\n showDetails: boolean,\n showAllUsers: boolean,\n filterDatumStart: string,\n filterDatumEnde: string,\n zeitAuswahl: number,\n spesenAuswahl: number,\n showSeparat: boolean\n ): void{\n\n ZeiterfassungPageComponent.showZeittable = false;\n Stimulsoft.StiOptions.WebServer.url = 'https://local.curion.ch/stimulsoftDesigner/reports/handler.php';\n Stimulsoft.Base.StiLicense.Key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHmpMFGIvKXt+0qL8oOfYCePmdl89Db00G622UYvHM74Kho8fxVfA5Hmk/iCgfRw7qeEsRlVjqwg8RcFeEAnQymDk5yd2/okky1fZy4MSoewgM6OUcbcojaqaY96fyQa5VlONSe6PWNNVBCmoaUL/YJZeg4AuxBQvIJFZmwtDvfOZ/ug9VdKB8h8mmoSQhvA1qANoYclQR1kaTNBAXKsrVcn8MKItIoVrJZY0/lINUiPZHfARTMWfdhA5t+UjQQOwWLTIxMha5bsoCfjFG7maIk/ES4kO2OKR5k6Huxg6PBg8lwtn+cw3kQ4pD46VgGTRXh7xCxAUD9hMf5F9rDFyctBRH1o7pdYbHFApsyLcRNoDnefn/LdRAAY+eDs3xTWs4fIslZs+w2EmySosds9X/z6sk6iTQoXrKXmHHnVMP0chZiZgAXLpvMYCquWuahBiCauNLIFdfw3sChkTwWJJln6CFdK+44o6HflqSNu7MmaJGT+qi6XWcAxKBbYkKq81+o=';\n\n // Einstellungen für Viewer / nicht alle Export und Prints eingestellt da viel unnötig sind und nur verwirren.\n const options = new Stimulsoft.Viewer.StiViewerOptions();\n options.width = 2000;\n options.exports.showExportToCsv = false;\n options.exports.showExportToHtml = false;\n options.exports.showExportToHtml5 = false;\n options.exports.showExportToPowerPoint = false;\n options.exports.showExportToImageSvg = false;\n options.exports.showExportToOpenDocumentWriter = false;\n options.exports.showExportToText = false;\n options.exports.showExportToOpenDocumentCalc = false;\n options.exports.showExportToDocument = false;\n options.toolbar.showOpenButton = false;\n options.toolbar.viewMode = Stimulsoft.Viewer.StiWebViewMode.Continuous;\n\n\n options.toolbar.printDestination = Stimulsoft.Viewer.StiPrintDestination.Pdf;\n const report = new Stimulsoft.Report.StiReport();\n const viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false);\n // Load report from url\n\n // Load Report File\n // tslint:disable-next-line:max-line-length\n report.loadFile(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/auswertungen/temp/zeitReport_' + sessionStorage.getItem('session').slice(10) + '.json');\n // Variabel Übergabe\n // report.loadFile(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/auswertungen/zeitReport.mrt');\n report.dictionary.variables.getByName('showName').valueObject = showBenutzername;\n report.dictionary.variables.getByName('showZwischensummen').valueObject = showZwischensummen;\n report.dictionary.variables.getByName('showDetails').valueObject = showDetails;\n report.dictionary.variables.getByName('showAllUsers').valueObject = showAllUsers;\n report.dictionary.variables.getByName('filterDatumStart').valueObject = filterDatumStart;\n report.dictionary.variables.getByName('filterDatumEnde').valueObject = filterDatumEnde;\n report.dictionary.variables.getByName('showZeit').valueObject = zeitAuswahl;\n report.dictionary.variables.getByName('showSpesen').valueObject = spesenAuswahl;\n report.dictionary.variables.getByName('showSeparat').valueObject = showSeparat;\n viewer.report = report;\n\n // Rendering the viewer to selected element\n viewer.renderHtml('viewer');\n\n // Button zu StimulsoftViewer hinzufügen\n // tslint:disable-next-line:prefer-const\n let userButton = viewer.jsObject.SmallButton('userButton', 'Schliessen', 'emptyImage');\n // userButton.image.src = false;\n // Schliessen des Report Fensters\n // tslint:disable-next-line:only-arrow-functions typedef\n userButton.action = function() {\n this.jsObject.controls.viewer.parentNode.removeChild(this.jsObject.controls.viewer);\n ZeiterfassungPageComponent.showZeittable = true;\n };\n\n const toolbarTable = viewer.jsObject.controls.toolbar.firstChild.firstChild;\n const buttonsTable = toolbarTable.rows[0].lastChild.lastChild;\n const userButtonCell = buttonsTable.rows[0].insertCell(0);\n userButtonCell.className = 'stiJsViewerClearAllStyles';\n userButtonCell.appendChild(userButton);\n\n }\n\n\n public loadFerienReport(\n nJahr: number\n ): void{\n console.log(nJahr);\n ZeiterfassungPageComponent.showZeittable = false;\n\n Stimulsoft.StiOptions.WebServer.url = 'https://local.curion.ch/stimulsoftDesigner/reports/handler.php';\n Stimulsoft.Base.StiLicense.Key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHmpMFGIvKXt+0qL8oOfYCePmdl89Db00G622UYvHM74Kho8fxVfA5Hmk/iCgfRw7qeEsRlVjqwg8RcFeEAnQymDk5yd2/okky1fZy4MSoewgM6OUcbcojaqaY96fyQa5VlONSe6PWNNVBCmoaUL/YJZeg4AuxBQvIJFZmwtDvfOZ/ug9VdKB8h8mmoSQhvA1qANoYclQR1kaTNBAXKsrVcn8MKItIoVrJZY0/lINUiPZHfARTMWfdhA5t+UjQQOwWLTIxMha5bsoCfjFG7maIk/ES4kO2OKR5k6Huxg6PBg8lwtn+cw3kQ4pD46VgGTRXh7xCxAUD9hMf5F9rDFyctBRH1o7pdYbHFApsyLcRNoDnefn/LdRAAY+eDs3xTWs4fIslZs+w2EmySosds9X/z6sk6iTQoXrKXmHHnVMP0chZiZgAXLpvMYCquWuahBiCauNLIFdfw3sChkTwWJJln6CFdK+44o6HflqSNu7MmaJGT+qi6XWcAxKBbYkKq81+o=';\n\n // Einstellungen für Viewer / nicht alle Export und Prints eingestellt da viel unnötig sind und nur verwirren.\n const options = new Stimulsoft.Viewer.StiViewerOptions();\n options.width = 2000;\n options.exports.showExportToCsv = false;\n options.exports.showExportToHtml = false;\n options.exports.showExportToHtml5 = false;\n options.exports.showExportToPowerPoint = false;\n options.exports.showExportToImageSvg = false;\n options.exports.showExportToOpenDocumentWriter = false;\n options.exports.showExportToText = false;\n options.exports.showExportToOpenDocumentCalc = false;\n options.exports.showExportToDocument = false;\n options.toolbar.showOpenButton = false;\n options.toolbar.viewMode = Stimulsoft.Viewer.StiWebViewMode.Continuous;\n\n\n options.toolbar.printDestination = Stimulsoft.Viewer.StiPrintDestination.Pdf;\n const report = new Stimulsoft.Report.StiReport();\n const viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false);\n // Load report from url\n\n // Load Report File\n // tslint:disable-next-line:max-line-length\n report.loadFile(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/auswertungen/temp/ferienReport_' + sessionStorage.getItem('session').slice(10) + '.json');\n // Variabel Übergabe\n // report.loadFile(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/auswertungen/zeitReport.mrt');\n report.dictionary.variables.getByName('jahr').valueObject = nJahr;\n viewer.report = report;\n\n // Rendering the viewer to selected element\n viewer.renderHtml('viewer');\n\n // Button zu StimulsoftViewer hinzufügen\n // tslint:disable-next-line:prefer-const\n let userButton = viewer.jsObject.SmallButton('userButton', 'Schliessen', 'emptyImage');\n // userButton.image.src = false;\n // Schliessen des Report Fensters\n // tslint:disable-next-line:only-arrow-functions typedef\n userButton.action = function() {\n this.jsObject.controls.viewer.parentNode.removeChild(this.jsObject.controls.viewer);\n ZeiterfassungPageComponent.showZeittable = true;\n };\n\n const toolbarTable = viewer.jsObject.controls.toolbar.firstChild.firstChild;\n const buttonsTable = toolbarTable.rows[0].lastChild.lastChild;\n const userButtonCell = buttonsTable.rows[0].insertCell(0);\n userButtonCell.className = 'stiJsViewerClearAllStyles';\n userButtonCell.appendChild(userButton);\n\n }\n\n public search(): void{\n let searchString = '';\n\n const item: any = {datumVon: Date, datumBis: Date, zuverrechnen: Number};\n // Datum ausgefüllt\n if (this.filterSucheForm.value.datumBis && this.filterSucheForm.value.datumVon){\n searchString += 'datumVondatumBis';\n item.datumVon = this.wandler(this.filterSucheForm.value.datumVon);\n item.datumBis = this.wandler(this.filterSucheForm.value.datumBis);\n }\n // Nur Datum Von ausgefüllt\n else if (this.filterSucheForm.value.datumVon){\n searchString += 'datumVon';\n item.datumVon = this.wandler(this.filterSucheForm.value.datumVon);\n }\n // Nur Datum Bis ausgefüllt\n else if (this.filterSucheForm.value.datumBis){\n searchString += 'datumBis';\n item.datumBis = this.wandler(this.filterSucheForm.value.datumBis);\n }\n searchString += 'zuverrechnen';\n if (this.filterSucheForm.value.zuverrechnen === true){\n item.zuverrechnen = 1;\n }\n else{\n item.zuverrechnen = 0;\n }\n\n sessionStorage.setItem('zeitFilterDatumBis', item.datumBis );\n sessionStorage.setItem('zeitFilterDatumVon', item.datumVon );\n sessionStorage.setItem('zeitFilterZuverrechnen', item.zuverrechnen );\n sessionStorage.setItem('zeitFilterPrjId', '');\n sessionStorage.setItem('zeitFilterSearchString', searchString);\n\n if (searchString.length === 0 ){\n // THROW ERROR , mind. 1 Datumfeld muss ausgefüllt sein\n\n }\n else {\n this.store.dispatch(getFilteredSeekDateStart({string: searchString, item})); /*getFilteredProjektStart*/\n }\n this.isFilterActive = false;\n }\n\n public getShowtable(): boolean{\n return ZeiterfassungPageComponent.showZeittable;\n }\n\n public openFilter(): void{\n // tslint:disable-next-line:radix\n this.store.dispatch(loadProjektSelectboxStart({projektId: parseInt( sessionStorage.getItem('zeitFilterPrjId'))}));\n const filterForm = this.dialog.open(ZeiterfassungFilterComponent, {\n data: {\n title: 'pages.zeitverwaltung.filter.title',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n start: sessionStorage.getItem('zeitFilterDatumVon'),\n ende: sessionStorage.getItem('zeitFilterDatumBis'),\n verrechnen: sessionStorage.getItem('zeitFilterZuverrechnen'),\n },\n });\n filterForm.afterClosed().subscribe(result => {\n if (result === true) {\n this.isFilterActive = true;\n }\n else{\n this.isFilterActive = false;\n this.search();\n }\n });\n }\n\n public deleteFilter(): void{\n this.isFilterActive = false;\n this.search();\n }\n\n public alleVerrechnen(zeiten: DialogData): void{\n\n\n const bestätigungsForm = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.alleVerrechnet.title',\n text: 'pages.zeitverwaltung.alleVerrechnet.text'\n },\n });\n bestätigungsForm.afterClosed().subscribe(result => {\n if (result === true){\n this.store.dispatch(alleVerrechnetStart({items: zeiten}));\n }\n });\n }\n\n public timer(): void{\n this.search();\n this.store.dispatch(loadAllMitarbeiterSelectboxStart({string: sessionStorage.getItem('firmaId')}));\n this.userForm.patchValue({\n user: sessionStorage.getItem('userId'),\n });\n clearInterval(this.myTimer);\n }\n\n\n}\n","\n \n\n
{{ 'pages.zeitverwaltung.title' | translate}}
\n \n search\n manage_search\n\n \n \n \n \n
\n \n \n\n \n \n
\n\n
\n \n\n \n {{ 'pages.projektverwaltung.filter.start' | translate }}\n \n \n \n \n \n {{ 'pages.projektverwaltung.filter.ende' | translate }}\n \n \n \n \n \n {{ 'pages.zeitverwaltung.offen' | translate }}\n
\n
\n
\n \n {{ 'pages.zeitverwaltung.benutzer' | translate }}\n \n \n {{user.name + \" \" + user.vorname + \" \" + user.plz + \" \" + user.ort}}\n \n \n \n
\n
\n \n add\n \n\n
\n
\n
\n
\n
\n\n\n \n \n\n
\n\n
\n\n","import {\n Component,\n Inject,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef,\n EventEmitter,\n Input,\n AfterViewInit, AfterViewChecked, OnDestroy\n} from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { select, Store } from '@ngrx/store';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ProjektState } from '../../../projektverwaltung/store/reducer/projektverwaltung.reducer';\nimport { loadNodesStart } from '../../../projektverwaltung/store/actions/getAllNodes.actions';\nimport { NodeItem } from '../../../projektverwaltung/node.model';\nimport { State } from '../../../landingpage/store/reducer/landingpage.reducer';\nimport {loadUserNodesStart} from '../../../projektverwaltung/store/actions/getUserNodes.actions';\nimport {loadProjektSelectboxStart} from \"../../store/actions/project-selectbox.actions\";\nimport {loadTaetCacheStart} from '@src/app/pages/Zeiterfassung/store/actions/getTaetCache.actions';\n\nexport interface DialogData{\n id: number;\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n}\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'zeiterfassung-stufen',\n templateUrl: './zeiterfassung-stufen.component.html',\n styleUrls: ['./zeiterfassung-stufen.component.scss'],\n})\n\n/*\n* selector: 'app-zeiterfassung-baum',\n templateUrl: './zeiterfassung-stufen.component.html',\n styleUrls: ['./zeiterfassung-stufen.component.scss'],\n* */\n\nexport class ZeiterfassungStufenComponent implements OnInit, OnDestroy {\n $nodes;\n arrOpen = [];\n disabled: boolean;\n\n @Output()\n public verNiver = new EventEmitter();\n\n @Input()\n selectboxItems: NodeItem[] = [];\n\n @Input()\n public set disablen(disablen: boolean) {\n this.disabled = disablen;\n }\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private store: Store<{landingpage: State}>,\n private projekt: Store<{projektverwaltung: ProjektState}>,\n ) {\n this.$nodes = projekt.pipe(select((state) => state.projektverwaltung.usernodes.items));\n }\n\n\n public addButtonForm = new FormGroup({\n color: new FormControl(''),\n projektstufe0: new FormControl('', [Validators.required]),\n projektstufe1: new FormControl(''),\n letzteProjektstufe: new FormControl(''),\n id: new FormControl(''),\n });\n\n public handleSubmitClick(): void{\n const item = this.addButtonForm.value;\n console.log(item);\n /*console.log(item);*/\n if (this.data.id) {\n\n } else {\n /*this.store.dispatch(addDashboardStart({item}));*/\n }\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public loadProjektstufe(projekt: NodeItem): void {\n console.log(projekt);\n if ( projekt === undefined){\n return;\n }\n // tslint:disable-next-line:radix\n this.addButtonForm.addControl('projektstufe' + ( parseInt(projekt.level) + 1) , new FormControl(''));\n // this.zeit.dispatch(loadProjektSelectboxStart({projektId: projekt.id}));\n //console.log(projekt);\n // arrOpen leeren bis zu dem Punkt wo wir das neue Projekt abspeichern.\n // ( Bei einem Projekt von Level 1 wird alles ausser die 0te Stelle des Arrays gelöscht/weggeschnitten )\n this.arrOpen.splice(parseInt(projekt.level));\n // Einfügen des Projektes an Obersten Stelle des Arrays falls das Projekt noch Kinder hat.\n // Wenn das nicht der Fall ist wird NULL eingefügt.\n // die rechte Seite des Codes auf der nächsten Linie bedeutet: Falls projekt keine Kinder hat dann: null Sonst: projekt\n this.arrOpen[projekt.level] = !projekt.children[0]?.name ? null : projekt;\n sessionStorage.setItem('taetPrjId', projekt.id);\n this.store.dispatch(loadTaetCacheStart({prjId: projekt.id, eingabe: sessionStorage.getItem('taetEingabe')}));\n\n }\n\n ngOnInit(): void {\n this.store.dispatch(loadUserNodesStart());\n }\n\n ngOnDestroy(): void {\n this.store.dispatch(loadProjektSelectboxStart({projektId: 0}));\n }\n\n public compareFunction(projekt1: NodeItem, projekt2: NodeItem): boolean{\n return projekt1.id === projekt2.id;\n}\n\n\npublic convertStringToInt(projektLevel: string): number{\n // tslint:disable-next-line:radix\n return parseInt(projektLevel);\n}\n\n}\n\n","\n
\n
\n
\n \n {{ 'pages.landingpage.addButtonDialog.projektstufe' | translate }}\n \n \n {{projekt.name}}\n \n \n \n
\n
\n
\n\n\n
\n
\n\n\n\n \n {{ 'pages.landingpage.addButtonDialog.projektstufe' | translate }}\n \n \n {{projekt.name}}\n \n \n \n
\n
\n","import {AfterViewInit, Component, EventEmitter, Host, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {DialogData} from '../zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\nimport {MatSort} from '@angular/material/sort';\nimport {select, Store} from '@ngrx/store';\nimport {loadSeekStart} from '../../store/actions/Zeit-seek.actions';\nimport {Zeitstate} from '../../store/reducer/zeiterfassung.reducer';\nimport {MatDialog} from '@angular/material/dialog';\nimport {HttpClient} from '@angular/common/http';\nimport {Router} from '@angular/router';\nimport {Security} from '../../../../security';\nimport {Observable} from 'rxjs';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {map} from 'rxjs/operators';\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\n\n@Component({\n selector: 'app-zeiterfassung-table',\n templateUrl: './zeiterfassung-table.component.html',\n styleUrls: ['./zeiterfassung-table.component.scss']\n})\n\nexport class ZeiterfassungTableComponent implements OnInit, AfterViewInit {\n\n constructor(private breakpointObserver: BreakpointObserver,\n public dialog: MatDialog,\n public store: Store<{ zeiterfassung: Zeitstate }>,\n public http: HttpClient,\n public router: Router,\n public security: Security) {}\n /* ENDE Beim Leeren des Datepickers wird an der leeren Stelle das Grid neu geladen */\n\n public show: Observable;\n\n /**\n * Sets parts of the time mask to datasource\n *\n * @param Zeit - Parts of the time table\n */\n @Input()\n public set zeit(Zeit: DialogData[]) {\n this.dataSource.data = Zeit;\n this.getTotalDauerintern();\n }\n\n @Input()\n public set saldo(saldo: SaldoItem) {\n this.userId = saldo.userId;\n this.zeitSaldo = saldo.zeit;\n this.ferienSaldo = saldo.ferien;\n this.datumSaldo = saldo.datum;\n }\n\n public iWertVar;\n /*'id',*/\n // tslint:disable-next-line:max-line-length\n public displayedColumns: string[] = ['projekt' , 'projektName', 'datum', 'dauerIntern', 'dauerExtern', 'spesen' , 'text', 'verrechnen', 'niverbar', 'verrechnet'];\n public isSmallDevice = false;\n public datumSaldo = null;\n public zeitSaldo = null;\n public ferienSaldo = null;\n public dataSource = new MatTableDataSource();\n public dauerInternTotal = '';\n public dauerExternTotal = '';\n public spesenTotalIntern = '';\n public bNewShow = null;\n public userId = 0;\n @Input()\n public showFunctionMenu = true;\n\n\n @Output()\n public delete = new EventEmitter();\n\n @Output()\n public edit = new EventEmitter();\n\n @Output()\n public saldoReport = new EventEmitter();\n\n @Output()\n public openFerienReport = new EventEmitter();\n\n @Output()\n public openAuswertungen = new EventEmitter();\n\n @Output()\n public loadReport = new EventEmitter<{ showBenutzername: boolean,\n showZwischensummen: boolean,\n showDetails: boolean,\n showSeparat: boolean,\n showAllUsers: boolean,\n filterDatumStart: string,\n filterDatumEnde: string,\n zeitAuswahl: number,\n spesenAuswahl: number\n }>();\n\n /* sortieren der Id */\n @ViewChild(MatSort) sort: MatSort;\n /* Ende sortieren der Id */\n\n\n\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n\n this.security.checkLogin('3002').subscribe(\n x => {\n console.log(x);\n this.bNewShow = x;\n\n });\n }\n\n\n\n ngOnInit(): void {\n this.show = this.security.checkIfAllowed('3002');\n if (this.showFunctionMenu) {\n this.displayedColumns = this.displayedColumns.concat('actions');\n }\n this.breakpointObserver\n .observe(localStorage.getItem('phoneWidth'))\n .pipe(map((result) => result.matches))\n .subscribe((isSmallDevice) => {\n if (this.isSmallDevice && !isSmallDevice) {\n this.displayedColumns = ['projekt' , 'projektName', 'datum', 'dauerIntern', 'dauerExtern', 'spesen' , 'text', 'verrechnen', 'niverbar', 'verrechnet', 'actions'];\n }\n if(isSmallDevice) {\n this.displayedColumns = ['projekt', 'projektName', 'datum', 'dauerIntern', 'actions'];\n }\n this.isSmallDevice = isSmallDevice;\n\n });\n }\n\n public getTotalDauerintern(): void {\n if(this.dataSource.data.length === 0){\n this.dauerInternTotal = '0';\n this.dauerExternTotal = '0';\n this.spesenTotalIntern = '0';\n return;\n }\n this.dauerInternTotal = this.dataSource.data.map(t => t.dauerIntern).reduce((acc, value) => acc + value);\n this.dauerExternTotal = this.dataSource.data.map(t => t.dauerExtern).reduce((acc, value) => acc + value);\n this.spesenTotalIntern = this.dataSource.data.map(t => t.spesenTotal).reduce((acc, value) => acc + value).toString();\n //this. = this.dataSource.data.map(t => t.spesenTotal).reduce((acc, value) => acc + value);\n }\n}\n","
\n\n\n \n\n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ 'pages.timeDialog.projektName' | translate }} {{ Zeit.projektName }} {{ 'pages.timeDialog.projekt' | translate }} {{ Zeit.projektstufe0 }} {{ 'pages.timeDialog.datum' | translate }} {{ Zeit.datum | date: 'd.M.yyyy' }} {{'pages.timeDialog.total' | translate}} {{ 'pages.timeDialog.dauer.intern' | translate }} {{ Zeit.dauerIntern | number: '1.2-2':'de-CH'}} {{dauerInternTotal | number: '1.2-2':'de-CH' }} {{ 'pages.timeDialog.dauer.extern' | translate }} {{ Zeit.dauerExtern | number:'1.2-2':'de-CH'}} {{dauerExternTotal | number: '1.2-2':'de-CH'}} {{ 'pages.timeDialog.spesen' | translate }} {{ Zeit.spesenTotal | number:'1.2-2':'de-CH'}} \n {{spesenTotalIntern | number: '1.2-2':'de-CH'}}\n {{ 'pages.timeDialog.text' | translate }} {{ Zeit.text }} \n \n {{ 'pages.timeDialog.verrechnen' | translate }} {{ Zeit.verrechnen }} \n \n {{ 'pages.timeDialog.niverbar' | translate }} {{ Zeit.niverbar }} \n \n {{ 'pages.timeDialog.verrechnet' | translate }} {{ Zeit.verrechnet }} \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\nimport {SpesenItem} from './spesen.model';\nimport { HttpClient } from '@angular/common/http';\nimport {SpesenartItem} from './spesenart.model';\n\ntype Spesen = CollectionApiResponse;\ntype SpesenArten = CollectionApiResponse;\n\n@Injectable({ providedIn: 'root'})\n\nexport class SpesenService {\n\n constructor(private http: HttpClient) {}\n\n public getAllSpesen(zeitId: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesen/getAllSpesen.php?zeitId=${zeitId}&${sessionStorage.getItem('session')}`) as Observable<\n Spesen\n >;\n }\n\n\n\n public deleteSpese(spese: SpesenItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.delete(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesen/deleteSpese.php?spesenId=${spese.id}&${sessionStorage.getItem('session')}`) as Observable;\n }\n\n public deleteAllSpesenOfZeit(zeitId: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.delete(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesen/deleteAllSpesenOfZeit.php?zeitId=${zeitId}&${sessionStorage.getItem('session')}`) as Observable;\n }\n\n public addSpesen(spese: SpesenItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesen/addSpesen.php?${sessionStorage.getItem('session')}`, spese) as Observable;\n }\n\n public editSpesen(spese: SpesenItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesen/editSpesen.php?${sessionStorage.getItem('session')}`, spese) as Observable;\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\nimport {SpesenItem} from './spesen.model';\nimport { HttpClient } from '@angular/common/http';\nimport {SpesenartItem} from './spesenart.model';\n\ntype Spesen = CollectionApiResponse;\ntype SpesenArten = CollectionApiResponse;\n\n@Injectable({ providedIn: 'root'})\n\nexport class SpesenartService {\n\n constructor(private http: HttpClient) {}\n\n public getAllSpesenarten(): Observable {\n\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesenarten/getAllSpesenarten.php?${sessionStorage.getItem('session')}&isActive=${sessionStorage.getItem('spesenartIsAktiv')}`) as Observable<\n SpesenArten\n >;\n }\n\n public getInactiveSpesenarten(): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesenarten/getInactiveSpesenarten.php?${sessionStorage.getItem('session')}`) as Observable<\n SpesenArten\n >;\n }\n public addSpesenart(spesenart: SpesenartItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.post (window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesenarten/addSpesenart.php?${sessionStorage.getItem('session')}`, spesenart) as Observable<\n SpesenartItem\n >;\n }\n\n public deleteSpesenart(spesenart: SpesenartItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesenarten/deleteSpesenart.php?${sessionStorage.getItem('session')}&spesenartId=${spesenart.id}`) as Observable<\n SpesenartItem\n >;\n }\n\n public deactivateSpesenart(spesenart: SpesenartItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesenarten/deactivateSpesenart.php?${sessionStorage.getItem('session')}&spesenartId=${spesenart.id}`) as Observable<\n SpesenartItem\n >;\n }\n\n\n public activateSpesenart(spesenart: SpesenartItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesenarten/activateSpesenart.php?${sessionStorage.getItem('session')}&spesenartId=${spesenart.id}`) as Observable<\n SpesenartItem\n >;\n }\n\n public editSpesenart(spesenart: SpesenartItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/spesenarten/editSpesenart.php?${sessionStorage.getItem('session')}`, spesenart) as Observable<\n SpesenartItem\n >;\n }\n}\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\n\r\nexport const addZeitStart = createAction('ZEIT::ADD_ZEIT_START');\r\nexport const addZeitSucceeded = createAction('ZEIT::ADD_ZEIT_SUCCEEDED',\r\n props<{ item: DialogData }>());\r\nexport const addZeitFailed = createAction('ZEIT::ADD_ZEIT_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport {DialogData} from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const deleteZeitStart = createAction('ZEIT::DELETE_ZEIT_START', props<{ item: DialogData}>());\r\nexport const deleteZeitSucceeded = createAction('ZEIT::DELETE_ZEIT_SUCCEEDED', props<{ item: DialogData }>(), );\r\nexport const deleteZeitFailed = createAction('ZEIT::DELETE_ZEIT_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const editZeitStart = createAction('ZEIT::EDIT_ZEIT_START', props<{ item: DialogData }>());\r\nexport const editZeitSucceeded = createAction('ZEIT::EDIT_ZEIT_SUCCEEDED', props<{ item: DialogData }>());\r\nexport const editZeitFailed = createAction('ZEIT::EDIT_ZEIT_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const loadZeitStart = createAction('ADDRESSES::LOAD_ADDRESSES_START');\r\nexport const loadZeitSucceeded = createAction(\r\n 'ADDRESSES::LOAD_ADDRESSES_SUCCEEDED',\r\n props<{ item: DialogData[] }>(),\r\n);\r\nexport const loadZeitFailed = createAction('ADDRESSES::LOAD_ADDRESSES_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const loadSeekStart = createAction('ZEIT::LOAD_SEEK_START', props<{ iWert: DialogData }>());\r\nexport const loadSeekSucceeded = createAction(\r\n 'ZEIT::LOAD_SEEK_SUCCEEDED',\r\n props<{ item: DialogData[] }>(),\r\n);\r\nexport const loadSeekFailed = createAction('ZEIT::LOAD_SEEK_FAILED',\r\n props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport {SpesenItem} from '../../spesen.model';\r\n\r\nexport const deleteAllSpesenOfZeitStart = createAction('ZEIT::DELETE_ALLSPESEOFZEIT_START', props<{ zeitId: number}>());\r\nexport const deleteAllSpesenOfZeitSucceeded = createAction('ZEIT::DELETE_ALLSPESEOFZEIT_SUCCEEDED', props<{ item: SpesenItem }>(), );\r\nexport const deleteAllSpesenOfZeitFailed = createAction('ZEIT::DELETE_ALLSPESEOFZEIT_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const alleVerrechnetStart = createAction('ZEIT::ALLEVERRECHNET_START', props<{ items: DialogData }>());\r\nexport const alleVerrechnetSucceeded = createAction('ZEIT::ALLEVERRECHNET_SUCCEEDED', props<{ items: DialogData }>());\r\nexport const alleVerrechnetFailed = createAction('ZEIT::ALLEVERRECHNET_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\nimport {CacheItem} from \"../../cache.model\";\r\n\r\nexport const addCacheStart = createAction('ZEIT::ADD_CACHE_START', props<{ item: DialogData }>());\r\nexport const addCacheSucceeded = createAction('ZEIT::ADD_CACHE_SUCCEEDED', props<{ item: CacheItem[] }>());\r\nexport const addCacheFailed = createAction('ZEIT::ADD_CACHE_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { FilterSucheItem } from '../../filterSucheModel';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const getDateAndSeekStart = createAction('ZEIT::GET_DATE_AND_SEEK_START',\r\n props<{ string: string, itemDS: FilterSucheItem }>());\r\nexport const getDateAndSeekSucceeded = createAction('ZEIT::GET_DATE_AND_SEEK_SUCCEEDED',\r\n // tslint:disable-next-line:max-line-length\r\n props<{ item: DialogData[] }>()); /* Wenn es erfolgreich ist, will ich nicht die Filterwerte also datum und Suche sondern das Resultat also die Einträge in der DB */\r\nexport const getDateAndSeekFailed = createAction('ZEIT::GET_DATE_AND_SEEK_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport {FilterItem} from '../../../projektverwaltung/filter.model';\r\nimport {DialogData} from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\nimport {FilterSucheItem} from \"../../filterSucheModel\";\r\n\r\nexport const getFilteredSeekDateStart = createAction('ZEIT::GET_FILTERED_SEEK_DATE_START', props<{ string: string, item: FilterSucheItem }>());\r\nexport const getFilteredSeekDateSucceeded = createAction('ZEIT::GET_FILTERED_SEEK_DATE_SUCCEEDED', props<{ item: DialogData[] }>());\r\nexport const getFilteredSeekDateFailed = createAction('ZEIT::GET_FILTERED_SEEK_DATE_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { FilterSucheItem } from '../../filterSucheModel';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const getFilterSeekStart = createAction('ZEIT::GET_FILTER_SEEK_START',\r\n props<{ string: string, itemFundS: FilterSucheItem }>());\r\nexport const getFilterSeekSucceeded = createAction('ZEIT::GET_FILTER_SEEK_SUCCEEDED',\r\n // tslint:disable-next-line:max-line-length\r\n props<{ item: DialogData[] }>()); /* Wenn es erfolgreich ist, will ich nicht die Filterwerte also datum und Suche sondern das Resultat also die Einträge in der DB */\r\nexport const getFilterSeekFailed = createAction('ZEIT::GET_FILTER_SEEK_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\nimport {SpesenItem} from '../../spesen.model';\r\n\r\nexport const loadSpesenStart = createAction('ZEIT::LOAD_SPESEN_START', props<{ zeitId: number }>());\r\nexport const loadSpesenSucceeded = createAction(\r\n 'ZEIT::LOAD_SPESEN_SUCCEEDED',\r\n props<{ item: SpesenItem[] }>(),\r\n);\r\nexport const loadSpesenFailed = createAction('ZEIT::LOAD_SPESEN_FAILED',\r\n props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport {DashboardItem} from \"../../../landingpage/dashboard.model\";\r\n\r\nexport const loadCacheStart = createAction('ZEIT::LOAD_CACHE_START');\r\nexport const loadCacheSucceeded = createAction('ZEIT::LOAD_CACHE_SUCCEEDED', props<{ item: DashboardItem[] }>());\r\nexport const loadCacheFailed = createAction('ZEIT::LOAD_CACHE_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\n\r\nexport const getFerienReportStarted = createAction('ZEIT::GET_FILTERED_FERIEN_REPORT_START', props<{ jahr: number, mitarbeiter: number[] }>());\r\nexport const getFerienReportSucceeded = createAction('ZEIT::GET_FILTERED_FERIEN_REPORT_SUCCEEDED');\r\nexport const getFerienReportFailed = createAction('ZEIT::GET_FILTERED_FERIEN_REPORT_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\nimport {SpesenartItem} from '../../spesenart.model';\n\nexport const loadInactiveSpesenartenStart = createAction('ZEIT::INACTIVESPESENARTEN_LOAD_START');\nexport const loadInactiveSpesenartenSucceeded = createAction(\n 'ZEIT::INACTIVESPESENARTEN_LOAD_SUCCEEDED',\n props<{ item: SpesenartItem[] }>(),\n);\nexport const loadInactiveSpesenartenFailed = createAction('ZEIT::INACTIVESPESENARTEN_LOAD_FAILED',\n props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const loadIstZeitStart = createAction('ZEIT::LOAD_ISTZEIT_START', props<{ datum: string }>());\r\nexport const loadIstZeitSucceeded = createAction(\r\n 'ZEIT::LOAD_ISTZEIT_SUCCEEDED',\r\n props<{ zeit: number[]}>(),\r\n);\r\nexport const loadIstZeitFailed = createAction('ZEIT::LOAD_ISTZEIT_FAILED',\r\n props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\n\nexport const loadSaldoReportStart = createAction('ZEITERFASSUNG::LOAD_SALDOREPORT_START', props<{userId: number}>());\nexport const loadSaldoReportSucceeded = createAction(\n 'ZEITERFASSUNG::LOAD_SALDOREPORT_SUCCEEDED',\n props<{ item: SaldoItem }>(),\n);\nexport const loadSaldoReportFailed = createAction('ZEITERFASSUNG::LOAD_SALDOREPORT_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\r\n\r\nexport const loadTaetCacheStart = createAction('ZEIT::LOAD_TAETCACHE_START', props<{ prjId: number, eingabe: string }>());\r\nexport const loadTaetCacheSucceeded = createAction('ZEIT::LOAD_TAETCACHE_SUCCEEDED', props<{ item: string[] }>());\r\nexport const loadTaetCacheFailed = createAction('ZEIT::LOAD_TAETCACHE_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { ProjektDaten } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const loadProjektStart = createAction('ZEIT::PROJECTS_LOAD_START');\r\nexport const loadProjektSucceeded = createAction('ZEIT::PROJECTS_LOAD_SUCCEEDED',\r\n props<{ projektDaten: ProjektDaten[] }>(),\r\n);\r\nexport const loadProjektFailed = createAction('ZEIT::PROJECTS_LOAD_FAILED');\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { ProjektDaten } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const loadPartProjektStart = createAction('ZEIT::PART_PROJECT_LOAD_START', props<{ item: ProjektDaten }>());\r\nexport const loadPartProjektSucceeded = createAction(\r\n 'ZEIT::PART_PROJECT_LOAD_SUCCEEDED',\r\n props<{ partProjektDaten: ProjektDaten[] }>(),\r\n);\r\nexport const loadPartProjektFailed = createAction('ZEIT::PART_PROJECT_LOAD_FAILED');\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { ProjektDaten } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\nimport {ProjektItem} from '../../../projektverwaltung/projekt.model';\r\nimport {NodeItem} from '../../../projektverwaltung/node.model';\r\n\r\nexport const loadProjektSelectboxStart = createAction('ZEIT::PROJECTSSELECTBOX_LOAD_START', props<{projektId: number }>(), );\r\nexport const loadProjektSelectboxSucceeded = createAction('ZEIT::PROJECTSSELECTBOX_LOAD_SUCCEEDED',\r\n props<{ projektDaten: NodeItem[] }>(),\r\n);\r\nexport const loadProjektSelectboxFailed = createAction('ZEIT::PROJECTSSELECTBOX_LOAD_FAILED');\r\n","import { createAction, props } from '@ngrx/store';\r\nimport {SpesenItem} from '../../spesen.model';\r\nimport {DialogData} from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\n\r\nexport const setTimeToZeroStart = createAction('ZEIT::SET_TIMETOZEROSTART_START', props<{ zeit: DialogData}>());\r\nexport const setTimeToZeroSucceeded = createAction('ZEIT::SET_TIMETOZEROSTART_SUCCEEDED', props<{ item: DialogData }>(), );\r\nexport const setTimeToZeroFailed = createAction('ZEIT::SET_TIMETOZEROSTART_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport {SpesenItem} from \"../../spesen.model\";\r\n\r\nexport const deleteSpeseStart = createAction('ZEIT::DELETE_SPESE_START', props<{ item: SpesenItem}>());\r\nexport const deleteSpeseSucceeded = createAction('ZEIT::DELETE_SPESE_SUCCEEDED', props<{ item: SpesenItem }>(), );\r\nexport const deleteSpeseFailed = createAction('ZEIT::DELETE_SPESE_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\nimport {SpesenItem} from '../../spesen.model';\n\nexport const addSpesenStart = createAction('ZEIT::ADD_SPESEN_START', props<{ item: SpesenItem }>());\nexport const addSpesenSucceeded = createAction('ZEIT::ADD_SPESEN_SUCCEEDED', props<{ item: SpesenItem }>());\nexport const addSpesenFailed = createAction('ZEIT::ADD_SPESEN_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {SpesenItem} from '../../spesen.model';\n\nexport const editSpesenStart = createAction('ZEIT::EDIT_SPESEN_START', props<{ item: SpesenItem }>());\nexport const editSpesenSucceeded = createAction('ZEIT::EDIT_SPESEN_SUCCEEDED', props<{ item: SpesenItem }>());\nexport const editSpesenFailed = createAction('ZEIT::EDIT_SPESEN_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\r\nimport {SpesenartItem} from '../../spesenart.model';\r\n\r\nexport const activateSpesenartStart = createAction('ZEIT::ACTIVATE_SPESENART_START', props<{ item: SpesenartItem}>());\r\nexport const activateSpesenartSucceeded = createAction('ZEIT::ACTIVATE_SPESENART_SUCCEEDED', props<{ item: SpesenartItem }>(), );\r\nexport const activateSpesenartFailed = createAction('ZEIT::ACTIVATE_SPESENART_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\nimport {SpesenItem} from '../../spesen.model';\nimport {SpesenartItem} from '../../spesenart.model';\n\nexport const addSpesenartStart = createAction('ZEIT::ADD_SPESENART_START', props<{ item: SpesenartItem }>());\nexport const addSpesenartSucceeded = createAction('ZEIT::ADD_SPESENART_SUCCEEDED', props<{ item: SpesenartItem }>());\nexport const addSpesenartFailed = createAction('ZEIT::ADD_SPESENART_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\r\nimport {SpesenartItem} from '../../spesenart.model';\r\n\r\nexport const deactivateSpesenartStart = createAction('ZEIT::DEACTIVATE_SPESENART_START', props<{ item: SpesenartItem}>());\r\nexport const deactivateSpesenartSucceeded = createAction('ZEIT::DEACTIVATE_SPESENART_SUCCEEDED', props<{ item: SpesenartItem }>(), );\r\nexport const deactivateSpesenartFailed = createAction('ZEIT::DEACTIVATE _SPESENART_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport {SpesenartItem} from '../../spesenart.model';\r\n\r\nexport const deleteSpesenartStart = createAction('ZEIT::DELETE_SPESENART_START', props<{ item: SpesenartItem}>());\r\nexport const deleteSpesenartSucceeded = createAction('ZEIT::DELETE_SPESENART_SUCCEEDED', props<{ item: SpesenartItem }>(), );\r\nexport const deleteSpesenartFailed = createAction('ZEIT::DELETE_SPESENART_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\nimport {SpesenartItem} from '../../spesenart.model';\n\nexport const editSpesenartStart = createAction('ZEIT::EDIT_SPESENART_START', props<{ item: SpesenartItem }>());\nexport const editSpesenartSucceeded = createAction('ZEIT::EDIT_SPESENART_SUCCEEDED', props<{ item: SpesenartItem }>());\nexport const editSpesenartFailed = createAction('ZEIT::EDIT_SPESENART_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {SpesenartItem} from '../../spesenart.model';\n\nexport const loadSpesenartenStart = createAction('ZEIT::SPESENARTEN_LOAD_START');\nexport const loadSpesenartenSucceeded = createAction(\n 'ZEIT::SPESENARTEN_LOAD_SUCCEEDED',\n props<{ item: SpesenartItem[] }>(),\n);\nexport const loadSpesenartenFailed = createAction('ZEIT::SPESENARTEN_LOAD_FAILED',\n props<{ error: Error }>());\n","import { Injectable } from '@angular/core';\r\nimport {Actions, createEffect, ofType} from '@ngrx/effects';\r\nimport {SpesenService} from '../../spesen.service';\r\nimport {catchError, map, mergeMap} from 'rxjs/operators';\r\nimport {of} from 'rxjs';\r\nimport {loadSpesenFailed, loadSpesenStart, loadSpesenSucceeded} from '../actions/getAllSpesen.actions';\r\nimport {deleteSpeseFailed, deleteSpeseStart, deleteSpeseSucceeded} from '../actions/spese-del.actions';\r\nimport {loadSpesenartenFailed, loadSpesenartenStart, loadSpesenartenSucceeded} from '../actions/spesenart.actions';\r\nimport {addSpesenFailed, addSpesenStart, addSpesenSucceeded} from '../actions/spesen-add.actions';\r\nimport {editSpesenFailed, editSpesenStart, editSpesenSucceeded} from '../actions/spesen-edit.actions';\r\nimport {deleteAllSpesenOfZeitStart, deleteAllSpesenOfZeitSucceeded} from '../actions/allSpesenOfZeit-del.actions';\r\nimport {getFilteredSeekDateStart} from '../actions/filter-seek-date.actions';\r\nimport {CacheService} from '../../cache.service';\r\nimport {addCacheFailed, addCacheStart, addCacheSucceeded} from '../actions/cache-add.actions';\r\nimport {loadCacheFailed, loadCacheStart, loadCacheSucceeded} from '../actions/getCacheNodes.actions';\r\nimport {\r\n loadTaetCacheFailed,\r\n loadTaetCacheStart,\r\n loadTaetCacheSucceeded\r\n} from '@src/app/pages/Zeiterfassung/store/actions/getTaetCache.actions';\r\n\r\n@Injectable()\r\nexport class CacheEffects {\r\n\r\n public addCache$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(addCacheStart),\r\n mergeMap((cache) =>\r\n this.cacheService.addCache(cache.item).pipe(\r\n // tslint:disable-next-line:max-line-length\r\n mergeMap((response) => of( addCacheSucceeded({item: response.data}))),\r\n catchError((e) => of(addCacheFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n public loadCache$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadCacheStart),\r\n mergeMap(() =>\r\n this.cacheService.loadCache().pipe(\r\n // tslint:disable-next-line:max-line-length\r\n mergeMap((response) => of( loadCacheSucceeded({item: response.data}))),\r\n catchError((e) => of(loadCacheFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public loadTaetCache$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadTaetCacheStart),\r\n mergeMap((taetCache) =>\r\n this.cacheService.loadTaetCache(taetCache.prjId, taetCache.eingabe).pipe(\r\n // tslint:disable-next-line:max-line-length\r\n mergeMap((response) => of( loadTaetCacheSucceeded({item: response}))),\r\n catchError((e) => of(loadTaetCacheFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n /**\r\n * Constructor of Zeit effects\r\n *\r\n * @param actions$ - The action observable\r\n * @param dS = DummyService - The Zeit service\r\n */\r\n constructor(private actions$: Actions, private cacheService: CacheService) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {Actions, createEffect, ofType} from '@ngrx/effects';\r\nimport {SpesenService} from '../../spesen.service';\r\nimport {catchError, map, mergeMap} from 'rxjs/operators';\r\nimport {of} from 'rxjs';\r\nimport {loadSpesenFailed, loadSpesenStart, loadSpesenSucceeded} from '../actions/getAllSpesen.actions';\r\nimport {deleteSpeseFailed, deleteSpeseStart, deleteSpeseSucceeded} from '../actions/spese-del.actions';\r\nimport {loadSpesenartenFailed, loadSpesenartenStart, loadSpesenartenSucceeded} from '../actions/spesenart.actions';\r\nimport {addSpesenFailed, addSpesenStart, addSpesenSucceeded} from '../actions/spesen-add.actions';\r\nimport {editSpesenFailed, editSpesenStart, editSpesenSucceeded} from '../actions/spesen-edit.actions';\r\nimport {deleteAllSpesenOfZeitStart, deleteAllSpesenOfZeitSucceeded} from '../actions/allSpesenOfZeit-del.actions';\r\nimport {getFilteredSeekDateStart} from '../actions/filter-seek-date.actions';\r\n\r\n@Injectable()\r\nexport class SpesenEffects {\r\n\r\n\r\n public loadSpesen$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadSpesenStart),\r\n mergeMap((zeitId) =>\r\n this.spesenService.getAllSpesen(zeitId.zeitId).pipe(\r\n map((response) => loadSpesenSucceeded({ item: response.data })),\r\n catchError((e) => of(loadSpesenFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n\r\n public deleteSpese$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(deleteSpeseStart),\r\n mergeMap((spese) =>\r\n this.spesenService.deleteSpese(spese.item).pipe(\r\n mergeMap((response) => of(deleteSpeseSucceeded({ item: response }), loadSpesenStart({zeitId: spese.item.zeitId}))),\r\n catchError((e) => of(deleteSpeseFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public deleteAllSpesenOfZeit$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(deleteAllSpesenOfZeitStart),\r\n mergeMap((zeitId) =>\r\n this.spesenService.deleteAllSpesenOfZeit(zeitId.zeitId).pipe(\r\n mergeMap((response) => of(deleteAllSpesenOfZeitSucceeded({ item: response }), loadSpesenStart({zeitId: zeitId.zeitId}))),\r\n catchError((e) => of(deleteSpeseFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public addSpese$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(addSpesenStart),\r\n mergeMap((spese) =>\r\n this.spesenService.addSpesen(spese.item).pipe(\r\n // tslint:disable-next-line:max-line-length\r\n mergeMap((response) => of( addSpesenSucceeded({ item: response }), loadSpesenStart({zeitId: spese.item.zeitId}) )),\r\n catchError((e) => of(addSpesenFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public editSpese$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(editSpesenStart),\r\n mergeMap((spese) =>\r\n this.spesenService.editSpesen(spese.item).pipe(\r\n mergeMap((response) => of( editSpesenSucceeded({ item: response }), loadSpesenStart({zeitId: spese.item.zeitId}) )),\r\n catchError((e) => of(editSpesenFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n /**\r\n * Constructor of Zeit effects\r\n *\r\n * @param actions$ - The action observable\r\n * @param dS = DummyService - The Zeit service\r\n */\r\n constructor(private actions$: Actions, private spesenService: SpesenService) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {Actions, createEffect, ofType} from '@ngrx/effects';\r\nimport {SpesenService} from '../../spesen.service';\r\nimport {catchError, map, mergeMap, tap} from 'rxjs/operators';\r\nimport {of} from 'rxjs';\r\nimport {loadSpesenFailed, loadSpesenStart, loadSpesenSucceeded} from '../actions/getAllSpesen.actions';\r\nimport {deleteSpeseFailed, deleteSpeseStart, deleteSpeseSucceeded} from '../actions/spese-del.actions';\r\nimport {loadSpesenartenFailed, loadSpesenartenStart, loadSpesenartenSucceeded} from '../actions/spesenart.actions';\r\nimport {addSpesenFailed, addSpesenStart, addSpesenSucceeded} from '../actions/spesen-add.actions';\r\nimport {editSpesenFailed, editSpesenStart, editSpesenSucceeded} from '../actions/spesen-edit.actions';\r\nimport {deleteAllSpesenOfZeitStart, deleteAllSpesenOfZeitSucceeded} from '../actions/allSpesenOfZeit-del.actions';\r\nimport {getFilteredSeekDateStart} from '../actions/filter-seek-date.actions';\r\nimport {SpesenartService} from '../../spesenart.service';\r\nimport {addSpesenartFailed, addSpesenartStart, addSpesenartSucceeded} from '../actions/spesenart-add.actions';\r\nimport {deleteSpesenartFailed, deleteSpesenartStart, deleteSpesenartSucceeded} from '../actions/spesenart-del.actions';\r\nimport {editSpesenartFailed, editSpesenartStart, editSpesenartSucceeded} from '../actions/spesenart-edit.actions';\r\nimport {\r\n loadInactiveSpesenartenFailed,\r\n loadInactiveSpesenartenStart,\r\n loadInactiveSpesenartenSucceeded\r\n} from '../actions/getInactiveSpesenart.action';\r\nimport {activateSpesenartFailed, activateSpesenartStart, activateSpesenartSucceeded} from '../actions/spesenart-activate.actions';\r\nimport {deactivateSpesenartFailed, deactivateSpesenartStart, deactivateSpesenartSucceeded} from '../actions/spesenart-deactivate.actions';\r\n\r\n@Injectable()\r\nexport class SpesenartEffects {\r\n\r\n\r\n public loadSpesenarten$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadSpesenartenStart),\r\n mergeMap(() =>\r\n this.spesenartService.getAllSpesenarten().pipe(\r\n map((response) => loadSpesenartenSucceeded({ item: response.data })),\r\n catchError((e) => of(loadSpesenartenFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public loadInactiveSpesenarten$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadInactiveSpesenartenStart),\r\n mergeMap(() =>\r\n this.spesenartService.getInactiveSpesenarten().pipe(\r\n tap(() => sessionStorage.setItem('spesenartIsAktiv', '0' )),\r\n map((response) => loadInactiveSpesenartenSucceeded({ item: response.data })),\r\n catchError((e) => of(loadInactiveSpesenartenFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public addSpesenart$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(addSpesenartStart),\r\n mergeMap((spesenart) =>\r\n this.spesenartService.addSpesenart(spesenart.item).pipe(\r\n mergeMap((response) => of(addSpesenartSucceeded({ item: response }), loadSpesenartenStart())),\r\n catchError((e) => of(addSpesenartFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public deleteSpesenart$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(deleteSpesenartStart),\r\n mergeMap((spesenart) =>\r\n this.spesenartService.deleteSpesenart(spesenart.item).pipe(\r\n mergeMap((response) => of(deleteSpesenartSucceeded({ item: response }), loadSpesenartenStart())),\r\n catchError((e) => of(deleteSpesenartFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public deactivateSpesenart$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(deactivateSpesenartStart),\r\n mergeMap((spesenart) =>\r\n this.spesenartService.deactivateSpesenart(spesenart.item).pipe(\r\n mergeMap((response) => of(deactivateSpesenartSucceeded({ item: response }), loadSpesenartenStart())),\r\n catchError((e) => of(deactivateSpesenartFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public activateSpesenart$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(activateSpesenartStart),\r\n mergeMap((spesenart) =>\r\n this.spesenartService.activateSpesenart(spesenart.item).pipe(\r\n mergeMap((response) => of(activateSpesenartSucceeded({ item: response }), loadInactiveSpesenartenStart())),\r\n catchError((e) => of(activateSpesenartFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public editSpesenart$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(editSpesenartStart),\r\n mergeMap((spesenart) =>\r\n this.spesenartService.editSpesenart(spesenart.item).pipe(\r\n mergeMap((response) => of(editSpesenartSucceeded({ item: response }), loadSpesenartenStart())),\r\n catchError((e) => of(editSpesenartFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n\r\n /**\r\n * Constructor of Zeit effects\r\n *\r\n * @param actions$ - The action observable\r\n * @param spesenartService\r\n */\r\n constructor(private actions$: Actions, private spesenartService: SpesenartService) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { catchError, map, mergeMap, tap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport {ZeitService} from '../../zeit.service';\r\nimport { addZeitFailed, addZeitStart, addZeitSucceeded } from '../actions/Zeit-add.actions';\r\nimport { loadZeitFailed, loadZeitStart, loadZeitSucceeded } from '../actions/Zeit-output.actions';\r\nimport { editZeitStart, editZeitSucceeded, editZeitFailed } from '../actions/Zeit-edit.actions';\r\nimport { deleteZeitStart, deleteZeitSucceeded, deleteZeitFailed } from '../actions/Zeit-del.actions';\r\nimport { loadProjektFailed, loadProjektStart, loadProjektSucceeded } from '../actions/project-output.actions';\r\nimport { loadPartProjektFailed, loadPartProjektStart, loadPartProjektSucceeded } from '../actions/project-part-output.actions';\r\nimport { loadSeekFailed, loadSeekStart, loadSeekSucceeded } from '../actions/Zeit-seek.actions';\r\nimport {\r\n loadProjektSelectboxFailed,\r\n loadProjektSelectboxStart,\r\n loadProjektSelectboxSucceeded\r\n} from '../actions/project-selectbox.actions';\r\nimport {\r\n getFilteredSeekDateFailed,\r\n getFilteredSeekDateStart,\r\n getFilteredSeekDateSucceeded\r\n} from '../actions/filter-seek-date.actions';\r\nimport {\r\n setTimeToZeroFailed,\r\n setTimeToZeroStart,\r\n setTimeToZeroSucceeded\r\n} from '../actions/setTimeToZero-edit.actions';\r\nimport {addCacheStart} from \"../actions/cache-add.actions\";\r\nimport {loadIstZeitFailed, loadIstZeitStart, loadIstZeitSucceeded} from '../actions/getIstZeit';\r\nimport {alleVerrechnetFailed, alleVerrechnetStart, alleVerrechnetSucceeded} from '../actions/alleVerrechnet.actions';\r\nimport {loadSaldoFailed, loadSaldoStart, loadSaldoSucceeded} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getSaldo.actions';\r\nimport {\r\n loadSaldoReportFailed,\r\n loadSaldoReportStart,\r\n loadSaldoReportSucceeded\r\n} from '@src/app/pages/Zeiterfassung/store/actions/getSaldoReport.actions';\r\nimport {\r\n getFerienReportFailed,\r\n getFerienReportStarted,\r\n getFerienReportSucceeded\r\n} from '@src/app/pages/Zeiterfassung/store/actions/getFerienReport';\r\n\r\n@Injectable()\r\nexport class ZeiterfassungEffects {\r\n\r\n /**\r\n * Loads the parts of the time table and lists when dispatching the start action\r\n */\r\n public loadZeit$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadZeitStart),\r\n mergeMap(() =>\r\n this.dS.getAll().pipe(\r\n map((response) => loadZeitSucceeded({ item: response.data })),\r\n catchError((e) => of(loadZeitFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n /* add */\r\n public addZeit$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(addZeitStart),\r\n mergeMap(() =>\r\n this.dS.add().pipe(\r\n tap((item) => sessionStorage.setItem('zeitId', item.id.toString())),\r\n mergeMap((response) => of(addZeitSucceeded({ item: response })\r\n )),\r\n catchError((e) => of(addZeitFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n /*editing parts of timetable*/\r\n public editZeit$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(editZeitStart),\r\n mergeMap((ZeitStartAction) =>\r\n this.dS.edit(ZeitStartAction.item).pipe(\r\n mergeMap((response) => of(editZeitSucceeded({ item: response }), getFilteredSeekDateStart({\r\n string: sessionStorage.getItem('zeitFilterSearchString'),\r\n item: {\r\n datumVon: sessionStorage.getItem('zeitFilterDatumVon'),\r\n datumBis: sessionStorage.getItem('zeitFilterDatumBis'),\r\n zuverrechnen: sessionStorage.getItem('zeitFilterZuverrechnen'),\r\n projektSuche: sessionStorage.getItem('zeitFilterPrjId'),\r\n }\r\n }),\r\n // INSERT CACHE\r\n addCacheStart({item: response}),\r\n )),\r\n catchError((e) => of(editZeitFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n\r\n /* delets an chosen entry in table Zeit */\r\n public delZeit$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(deleteZeitStart),\r\n mergeMap((ZeitDeleteAction) =>\r\n this.dS.del(ZeitDeleteAction.item).pipe(\r\n mergeMap((response) => of(deleteZeitSucceeded({ item: response }), getFilteredSeekDateStart({\r\n string: sessionStorage.getItem('zeitFilterSearchString'),\r\n item: {\r\n datumVon: sessionStorage.getItem('zeitFilterDatumVon'),\r\n datumBis: sessionStorage.getItem('zeitFilterDatumBis'),\r\n zuverrechnen: sessionStorage.getItem('zeitFilterZuverrechnen'),\r\n projektSuche: sessionStorage.getItem('zeitFilterPrjId'),\r\n }\r\n }))),\r\n catchError((e) => of(deleteZeitFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n /* Alle Projekte Anzeigen */\r\n public loadProject = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadProjektStart ),\r\n mergeMap(() =>\r\n this.dS.getAllProjects().pipe(\r\n map((response) => loadProjektSucceeded ({ projektDaten: response.data })),\r\n /*tap((res) => console.log(res)),*/\r\n catchError(() => of(loadProjektFailed())),\r\n ),\r\n ),\r\n ),\r\n );\r\n /* zeigt Teildaten der Projekte an */\r\n public loadPartProjects$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadPartProjektStart),\r\n mergeMap((projectAction) =>\r\n this.dS.box2(projectAction.item).pipe(\r\n mergeMap((response) => of(loadPartProjektSucceeded({ partProjektDaten: response.data }))),\r\n /*tap((res) => { console.log(res); } ),*/\r\n catchError((e) => of(loadPartProjektFailed())),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public loadSaldo$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadSaldoReportStart),\r\n mergeMap((userId) =>\r\n this.dS.getSaldo(userId.userId).pipe(\r\n map((response) => loadSaldoReportSucceeded({ item: response })),\r\n catchError((e) => of(loadSaldoReportFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n /* Suchwert */\r\n public loadSeekValue$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadSeekStart),\r\n mergeMap((seekAction) =>\r\n this.dS.seek(seekAction.iWert).pipe(\r\n mergeMap((response) => of(loadSeekSucceeded({ item: response.data }))),\r\n catchError((e) => of(loadSeekFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n /* Such-und Datumswert nach Joel */\r\n public loadFilteredProjekte$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(getFilteredSeekDateStart),\r\n mergeMap((projekt) =>\r\n this.dS.getFilteredSeekDate(projekt.string, projekt.item).pipe(\r\n mergeMap((response) => of(getFilteredSeekDateSucceeded({ item: response.data}))),\r\n catchError((e) => of(getFilteredSeekDateFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n /* Such-und Datumswert nach Joel */\r\n public loadFerienReport$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(getFerienReportStarted),\r\n mergeMap((projekt) =>\r\n this.dS.getFerienReport(projekt.jahr, projekt.mitarbeiter).pipe(\r\n mergeMap((response) => of(getFerienReportSucceeded())),\r\n catchError((e) => of(getFerienReportFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n public loadIstZeit$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadIstZeitStart),\r\n mergeMap((zeit) =>\r\n this.dS.getIstZeit(zeit.datum).pipe(\r\n mergeMap((response) => of(loadIstZeitSucceeded({ zeit: response}))),\r\n catchError((e) => of(loadIstZeitFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n public loadSelectboxProjects$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadProjektSelectboxStart),\r\n mergeMap((projectAction) =>\r\n this.dS.getSelectboxProjects(projectAction.projektId).pipe(\r\n mergeMap((response) => of(loadProjektSelectboxSucceeded({ projektDaten: response.data }))),\r\n /*tap((res) => { console.log(res); } ),*/\r\n catchError((e) => of(loadProjektSelectboxFailed())),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n /*editing parts of timetable*/\r\n public setTimeToZero$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(setTimeToZeroStart),\r\n mergeMap((ZeitStartAction) =>\r\n this.dS.setTimeToZero(ZeitStartAction.zeit).pipe(\r\n mergeMap((response) => of(setTimeToZeroSucceeded({ item: response }), getFilteredSeekDateStart({\r\n string: sessionStorage.getItem('zeitFilterSearchString'),\r\n item: {\r\n datumVon: sessionStorage.getItem('zeitFilterDatumVon'),\r\n datumBis: sessionStorage.getItem('zeitFilterDatumBis'),\r\n zuverrechnen: sessionStorage.getItem('zeitFilterZuverrechnen'),\r\n projektSuche: sessionStorage.getItem('zeitFilterPrjId'),\r\n }\r\n }))),\r\n catchError((e) => of(setTimeToZeroFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n /*editing parts of timetable*/\r\n public setTimesToVerrechnet$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(alleVerrechnetStart),\r\n mergeMap((ZeitStartAction) =>\r\n this.dS.setAlleVerrechnet(ZeitStartAction.items).pipe(\r\n mergeMap((response) => of(alleVerrechnetSucceeded({ items: response }), getFilteredSeekDateStart({\r\n string: sessionStorage.getItem('zeitFilterSearchString'),\r\n item: {\r\n datumVon: sessionStorage.getItem('zeitFilterDatumVon'),\r\n datumBis: sessionStorage.getItem('zeitFilterDatumBis'),\r\n zuverrechnen: sessionStorage.getItem('zeitFilterZuverrechnen'),\r\n projektSuche: sessionStorage.getItem('zeitFilterPrjId'),\r\n }\r\n }))),\r\n catchError((e) => of(alleVerrechnetFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n /**\r\n * Constructor of Zeit effects\r\n *\r\n * @param actions$ - The action observable\r\n * @param dS = DummyService - The Zeit service\r\n */\r\n constructor(private actions$: Actions, private dS: ZeitService) {}\r\n}\r\n","import { createReducer, on } from '@ngrx/store';\r\nimport { DialogData, ProjektDaten } from '../../components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\nimport { addZeitFailed, addZeitStart, addZeitSucceeded } from '../actions/Zeit-add.actions';\r\nimport { loadZeitStart, loadZeitSucceeded } from '../actions/Zeit-output.actions';\r\nimport { editZeitFailed, editZeitStart, editZeitSucceeded} from '../actions/Zeit-edit.actions';\r\nimport { deleteZeitFailed, deleteZeitStart, deleteZeitSucceeded } from '../actions/Zeit-del.actions';\r\nimport { loadProjektFailed, loadProjektStart, loadProjektSucceeded } from '../actions/project-output.actions';\r\nimport { loadPartProjektFailed, loadPartProjektStart, loadPartProjektSucceeded } from '../actions/project-part-output.actions';\r\nimport { loadSeekFailed, loadSeekStart, loadSeekSucceeded } from '../actions/Zeit-seek.actions';\r\nimport {\r\n loadProjektSelectboxFailed,\r\n loadProjektSelectboxStart,\r\n loadProjektSelectboxSucceeded\r\n} from '../actions/project-selectbox.actions';\r\nimport {ProjektItem} from '../../../projektverwaltung/projekt.model';\r\nimport {NodeItem} from '../../../projektverwaltung/node.model';\r\nimport {\r\n getFilteredSeekDateFailed,\r\n getFilteredSeekDateStart,\r\n getFilteredSeekDateSucceeded\r\n} from '../actions/filter-seek-date.actions';\r\nimport {getDateAndSeekFailed, getDateAndSeekStart, getDateAndSeekSucceeded} from '../actions/date-and-seek.actions';\r\nimport {getFilterSeekFailed, getFilterSeekStart, getFilterSeekSucceeded} from '../actions/filter-seek.actions';\r\nimport {SpesenItem} from '../../spesen.model';\r\nimport {loadSpesenFailed, loadSpesenStart, loadSpesenSucceeded} from '../actions/getAllSpesen.actions';\r\nimport {deleteSpeseFailed, deleteSpeseStart, deleteSpeseSucceeded} from '../actions/spese-del.actions';\r\nimport {loadSpesenartenFailed, loadSpesenartenStart, loadSpesenartenSucceeded} from '../actions/spesenart.actions';\r\nimport {SpesenartItem} from '../../spesenart.model';\r\nimport {addSpesenFailed, addSpesenStart, addSpesenSucceeded} from '../actions/spesen-add.actions';\r\nimport {editSpesenFailed, editSpesenStart, editSpesenSucceeded} from '../actions/spesen-edit.actions';\r\nimport {\r\n deleteAllSpesenOfZeitFailed,\r\n deleteAllSpesenOfZeitStart,\r\n deleteAllSpesenOfZeitSucceeded\r\n} from '../actions/allSpesenOfZeit-del.actions';\r\nimport {setTimeToZeroFailed, setTimeToZeroStart, setTimeToZeroSucceeded} from '../actions/setTimeToZero-edit.actions';\r\nimport {CacheItem} from '../../cache.model';\r\nimport {addCacheFailed, addCacheStart, addCacheSucceeded} from '../actions/cache-add.actions';\r\nimport {loadCacheFailed, loadCacheStart, loadCacheSucceeded} from '../actions/getCacheNodes.actions';\r\nimport {DashboardItem} from \"../../../landingpage/dashboard.model\";\r\nimport {addSpesenartFailed, addSpesenartStart, addSpesenartSucceeded} from '../actions/spesenart-add.actions';\r\nimport {deleteSpesenartFailed, deleteSpesenartStart, deleteSpesenartSucceeded} from '../actions/spesenart-del.actions';\r\nimport {editSpesenartFailed, editSpesenartStart, editSpesenartSucceeded} from '../actions/spesenart-edit.actions';\r\nimport {loadIstZeitFailed, loadIstZeitStart, loadIstZeitSucceeded} from '../actions/getIstZeit';\r\nimport {\r\n loadInactiveSpesenartenFailed,\r\n loadInactiveSpesenartenStart,\r\n loadInactiveSpesenartenSucceeded\r\n} from '../actions/getInactiveSpesenart.action';\r\nimport {activateSpesenartFailed, activateSpesenartStart, activateSpesenartSucceeded} from '../actions/spesenart-activate.actions';\r\nimport {alleVerrechnetFailed, alleVerrechnetStart, alleVerrechnetSucceeded} from '../actions/alleVerrechnet.actions';\r\nimport {\r\n loadTaetCacheFailed,\r\n loadTaetCacheStart,\r\n loadTaetCacheSucceeded\r\n} from '@src/app/pages/Zeiterfassung/store/actions/getTaetCache.actions';\r\nimport {addRolleFailed, addRolleStart, addRolleSucceeded} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/rolle-add.actions';\r\nimport {State} from '@src/app/pages/Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\r\nimport {\r\n loadSaldoReportFailed,\r\n loadSaldoReportStart,\r\n loadSaldoReportSucceeded\r\n} from '@src/app/pages/Zeiterfassung/store/actions/getSaldoReport.actions';\r\nimport {\r\n getFerienReportFailed,\r\n getFerienReportStarted,\r\n getFerienReportSucceeded\r\n} from '@src/app/pages/Zeiterfassung/store/actions/getFerienReport';\r\n\r\nexport interface Zeitstate {\r\n isLoading: boolean;\r\n isAddingZeiterfassung: boolean;\r\n item: DialogData[];\r\n projektDaten: ProjektDaten[];\r\n partProjektDaten: ProjektDaten[];\r\n nodes: {\r\n items: NodeItem[];\r\n };\r\n spesenarten: SpesenartItem[];\r\n selectboxProjekte: NodeItem[];\r\n spesen: SpesenItem[];\r\n cacheNodes: DashboardItem[];\r\n taetNodes: string[];\r\n istZeit: number;\r\n sollZeit: number;\r\n}\r\n\r\nexport const initialState: Zeitstate = {\r\n isLoading: false,\r\n isAddingZeiterfassung: false,\r\n item: [],\r\n projektDaten: [],\r\n partProjektDaten: [],\r\n nodes: {\r\n items: [],\r\n },\r\n selectboxProjekte: [],\r\n spesen: [],\r\n spesenarten: [],\r\n cacheNodes: [],\r\n taetNodes: [],\r\n istZeit: 0,\r\n sollZeit: 0,\r\n};\r\n\r\n\r\nconst ons = [\r\n on(loadSpesenStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadSpesenSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n isLoading: false,\r\n spesen: action.item,\r\n })),\r\n on(loadSpesenFailed, (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n\r\n on(loadIstZeitStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadIstZeitSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n isLoading: false,\r\n istZeit: action.zeit['istZeit'],\r\n sollZeit: action.zeit['sollZeit'],\r\n })),\r\n on(loadIstZeitFailed, (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n\r\n on(loadProjektSelectboxStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadProjektSelectboxSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n isLoading: false,\r\n selectboxProjekte: action.projektDaten,\r\n })),\r\n on(loadProjektSelectboxFailed, (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n\r\n on(loadZeitStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadZeitSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n isLoading: false,\r\n item: action.item,\r\n })),\r\n\r\n\r\n /* post / inset into */\r\n on(addZeitStart, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(addZeitFailed, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(addZeitSucceeded, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n /* post / inset into */\r\n on(addSpesenStart, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(addSpesenSucceeded, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(addSpesenFailed, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n\r\n on(addSpesenartStart , (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(addSpesenartSucceeded, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(addSpesenartFailed, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n\r\n on(getFerienReportStarted , (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(getFerienReportSucceeded, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(getFerienReportFailed , (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n\r\n on(addCacheStart, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(addCacheSucceeded, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n on(addCacheFailed, (state: Zeitstate) => ({...state, isAddingZeiterfassung: true })),\r\n /* put / update */\r\n on(editZeitStart, (state: Zeitstate) => ({...state, isEditingZeiterfassung: true})),\r\n on(editZeitFailed, (state: Zeitstate) => ({...state, isEditingZeiterfassung: false})),\r\n on(editZeitSucceeded , (state: Zeitstate, action) => ({\r\n ...state,\r\n item: state.item.map((item) => {\r\n if (item.id === action.item.id) { return action.item; }\r\n return item;\r\n }),\r\n isEditingZeiterfassung: false\r\n })),\r\n /* delete */\r\n on(editSpesenStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(editSpesenFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(editSpesenSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n\r\n /* delete */\r\n on(editSpesenartStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(editSpesenartFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(editSpesenartSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n\r\n /* delete */\r\n on(setTimeToZeroStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(setTimeToZeroFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(setTimeToZeroSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n /* delete */\r\n on(deleteZeitStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(deleteZeitFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(deleteZeitSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n\r\n /* delete */\r\n on(deleteSpeseStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(deleteSpeseFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(deleteSpeseSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n\r\n on(deleteSpesenartStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(deleteSpesenartFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(deleteSpesenartSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n\r\n on(activateSpesenartStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(activateSpesenartFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(activateSpesenartSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n\r\n /* delete */\r\n on(deleteAllSpesenOfZeitStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(deleteAllSpesenOfZeitSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(deleteAllSpesenOfZeitFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n\r\n on(alleVerrechnetStart, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: true })),\r\n on(alleVerrechnetSucceeded, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n on(alleVerrechnetFailed, (state: Zeitstate) => ({ ...state, isDeletingZeiterfassung: false })),\r\n\r\n /* Projekt in Zeitverwaltung */\r\n on(loadProjektStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadProjektFailed , (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n on(loadProjektSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n projektDaten: action.projektDaten,\r\n isLoading: false,\r\n })),\r\n on(loadSpesenartenStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadSpesenartenFailed , (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n on(loadSpesenartenSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n spesenarten: action.item,\r\n isLoading: false,\r\n })),\r\n on(loadInactiveSpesenartenStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadInactiveSpesenartenFailed , (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n on(loadInactiveSpesenartenSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n spesenarten: action.item,\r\n isLoading: false,\r\n })),\r\n on(loadCacheStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadCacheFailed , (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n on(loadCacheSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n cacheNodes: action.item,\r\n isLoading: false,\r\n })),\r\n\r\n on(loadTaetCacheStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadTaetCacheFailed , (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n on(loadTaetCacheSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n taetNodes: action.item,\r\n isLoading: false,\r\n })),\r\n\r\n /* laedt Teildaten fuer die Boxen */\r\n on(loadPartProjektStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadPartProjektSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n partProjektDaten: action.partProjektDaten,\r\n })),\r\n on(loadPartProjektFailed, (state: Zeitstate) => ({ ...state, isShowingZeiterfassung: false })),\r\n\r\n /* Suche Inputfeld in der Zeiterfassung */\r\n on(loadSeekStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadSeekSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n item: action.item,\r\n })),\r\n on(loadSeekFailed, (state: Zeitstate, action) => ({\r\n ...state,\r\n isShowingSeekZeiterfassung: false })),\r\n\r\n /* Suche nach Datum mit Datumsfeld */\r\n on(getFilterSeekStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(getFilterSeekSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n item: action.item, /* Item ist der Ort in dem die Werte gespeichert sind die ich brauche bzw die ich angezeigt haben will */\r\n })),\r\n on(getFilterSeekFailed, (state: Zeitstate, action) => ({ ...state, isShowingSeekZeiterfassung: false })),\r\n\r\n /* Suche und Datum zusammen */\r\n on(getDateAndSeekStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(getDateAndSeekSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n item: action.item,\r\n })),\r\n on(getDateAndSeekFailed , (state: Zeitstate, action) => ({ ...state, isShowingSeekZeiterfassung: false })),\r\n\r\n /* Datum und Suche beides / einzeln nach Joel */\r\n on(getFilteredSeekDateStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(getFilteredSeekDateSucceeded, (state: Zeitstate, action) => ({\r\n ...state,\r\n item: action.item,\r\n })),\r\n on(getFilteredSeekDateFailed, (state: Zeitstate) => {\r\n return ({...state, isLoading: false});\r\n }),\r\n on(loadSaldoReportStart, (state: Zeitstate) => ({ ...state, isLoading: true })),\r\n on(loadSaldoReportSucceeded, (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n on(loadSaldoReportFailed, (state: Zeitstate) => ({ ...state, isLoading: false })),\r\n];\r\n\r\nexport const zeiterfassungReducer = createReducer(initialState, ...ons);\r\n","import {Injectable} from '@angular/core';\nimport {\n DialogData,\n ProjektDaten\n} from './components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\nimport {FilterSucheItem} from './filterSucheModel';\nimport * as moment from 'moment';\nimport {FilterItem} from '../projektverwaltung/filter.model';\nimport {NodeItem} from '../projektverwaltung/node.model';\nimport {Z} from \"@angular/cdk/keycodes\";\nimport {SaldoItem} from '@src/app/pages/Mitarbeiterverwaltung/saldo.model';\n\ntype ZeitOutputResponse = CollectionApiResponse;\ntype ProjektOutputResponse = CollectionApiResponse;\ntype FilterSeekDateResponse = CollectionApiResponse;\ntype Nodes = CollectionApiResponse;\n\n@Injectable({ providedIn: 'root'})\n\nexport class ZeitService {\n\n constructor(private http: HttpClient) { }\n\n /**\n * shows the time table\n *\n * @returns - An observable that emits the added parts of timetable\n */\n public getAll(): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n const session = sessionStorage.getItem('session');\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/getAll_select_zeit.php?userId=${userId}&${session}`) as Observable;\n }\n\n /**\n * Adds an parts of time to the backend\n *\n * @param zeitTeile - The parts of TB_Zeit to add to the table\n * @returns - An observable that emits the added parts of timetable\n *\n * Values of projectslevel hand over also in this add()\n */\n public add(): Observable {\n let userId;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/post_test_dummy.php?userId=${userId}&${sessionStorage.getItem('session')}`) as Observable;\n }\n\n /**\n * Edits an time entry\n *\n * @return An Observable that emits the edited address\n * @param Zeit = time Time entry contents the edited Address\n */\n public edit(Zeit: DialogData): Observable {\n return this.http.put( window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/put_update_zeit.php?${sessionStorage.getItem('session')}`, Zeit) as Observable;\n }\n\n /**\n * Deletes an entry in the time table\n *\n * @return An Observable that emits the deleted Zeit\n * @param Zeit = time Time entry contents the id of the time entry\n */\n public del(Zeit: DialogData): Observable {\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/delete_zeit.php?${sessionStorage.getItem('session')}`, Zeit) as Observable;\n }\n\n public getSaldo(userId: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/auswertungen/getSaldo.php?${sessionStorage.getItem('session')}&userId=${userId}`) as Observable<\n SaldoItem\n >;\n }\n\n /* Alle Projekt Daten holen */\n public getAllProjects(): Observable {\n console.log('hier');\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/getAllProjects_zeit.php?${sessionStorage.getItem('session')}`) as Observable;\n }\n\n /* Wert der level Box 0. Tauschen der id */\n public box2(prj: ProjektDaten): Observable {\n const pID = prj.toString();\n const params = new HttpParams()\n .set('id', pID);\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/get_Part_Projects_zeit.php?${sessionStorage.getItem('session')}`, { params }) as Observable;\n }\n\n /* Suchewerte */\n public seek(wert: DialogData): Observable {\n const schW = wert.toString();\n const params = new HttpParams()\n .set('suchWerte', schW);\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/get_seek_zeit.php?${sessionStorage.getItem('session')}`, { params }) as Observable;\n }\n\n /*Filter Suche Datum nach Joel*/\n public getFilteredSeekDate(filterOption: string, item: FilterSucheItem): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n\n const filter = filterOption;\n const filterItem = item;\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/getFilteredSeekDate.php?userId=${userId}&filter=${filter}&${sessionStorage.getItem('session')}`, filterItem) as Observable<\n ZeitOutputResponse\n >;\n }\n\n /* Alle Projekt Daten holen */\n public getFerienReport(jahr: number, mitarbeiter: number[]): Observable {\n console.log('hier');\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/auswertungen/getFerienReport.php?${sessionStorage.getItem('session')}&jahr=${jahr}`, mitarbeiter) as Observable;\n }\n\n public getIstZeit(datum: string): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/getIstZeit.php?${sessionStorage.getItem('session')}&datum=${datum}&userId=${userId}`) as Observable;\n }\n\n public getSelectboxProjects(projektId: number): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/get_Selectbox_Projects.php?${sessionStorage.getItem('session')}&id=${projektId}&userId=${userId}`) as Observable<\n Nodes\n >;\n }\n\n public setTimeToZero(zeit: DialogData): Observable {\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/setTimeToZero.php?${sessionStorage.getItem('session')}`, zeit) as Observable;\n }\n\n /* Alle Projekt Daten holen */\n public setAlleVerrechnet(zeit: DialogData): Observable {\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/setAlleVerrechnet.php?${sessionStorage.getItem('session')}`, zeit) as Observable;\n }\n\n public checkIfUserisLoggedIn(): boolean{\n if ( isNaN( Number(sessionStorage.getItem('zeitUserId')))){\n return true;\n }\n return false;\n}\n}\n"," import {LOCALE_ID, NgModule} from '@angular/core';\r\nimport { ZeiterfassungFormdialogNeuComponent } from './components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\r\nimport { ZeiterfassungPageComponent } from './components/zeiterfassung-page/zeiterfassung-page.component';\r\nimport { ZeiterfassungListComponent } from './components/zeiterfassung-list/zeiterfassung-list.component';\r\nimport { ZeiterfassungTableComponent } from './components/zeiterfassung-table/zeiterfassung-table.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { zeiterfassungReducer } from './store/reducer/zeiterfassung.reducer';\r\nimport { ZeitService } from './zeit.service';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { ZeiterfassungEffects } from './store/effects/zeiterfassung.effects';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { ZeiterfassungStufenComponent } from './components/zeiterfassung-stufen/zeiterfassung-stufen.component';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport {ColorPickerModule} from 'ngx-color-picker';\r\nimport { SharedModule } from '../../shared.module';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\r\nimport {MatTabsModule} from '@angular/material/tabs/';\r\nimport {SpesenTableComponent} from './components/spesen-table/spesen-table.component';\r\nimport {SpesenService} from './spesen.service';\r\nimport {SpesenEffects} from './store/effects/spesen.effects';\r\nimport {SpesenFormdialogComponent} from './components/spesen-form-dialog/spesen-formdialog.component';\r\nimport {CacheService} from './cache.service';\r\nimport {CacheEffects} from './store/effects/cache.effects';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {SpesenartPageFormComponent} from './components/spesenart-pageForm/spesenart-pageform.component';\r\nimport {SpesenartTableComponent} from './components/spesenart-table/spesenart-table.component';\r\nimport {SpesenartService} from './spesenart.service';\r\nimport {SpesenartEffects} from './store/effects/spesenart.effects';\r\nimport {SpesenartFormdialogComponent} from './components/spesenart-form-dialog/spesenart-formdialog.component';\r\nimport {ZeiterfassungFilterComponent} from './components/zeiterfassung-filter/zeiterfassung-filter.component';\r\nimport {MatMomentDateModule} from '@angular/material-moment-adapter';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {registerLocaleData} from '@angular/common';\r\nimport localeDECH from '@angular/common/locales/de-CH';\r\n\r\n\r\n registerLocaleData(localeDECH);\r\n\r\n@NgModule({\r\n imports: [\r\n StoreModule.forFeature('zeiterfassung', zeiterfassungReducer),\r\n EffectsModule.forFeature([ZeiterfassungEffects, SpesenEffects, CacheEffects, SpesenartEffects]),\r\n MatToolbarModule,\r\n TranslateModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n BrowserAnimationsModule,\r\n BsDatepickerModule.forRoot(),\r\n MatDatepickerModule,\r\n FlexLayoutModule,\r\n MatTableModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatTreeModule,\r\n MatSortModule,\r\n ColorPickerModule,\r\n SharedModule,\r\n MatTooltipModule,\r\n TooltipModule,\r\n MatTabsModule,\r\n MatRadioModule,\r\n MatMomentDateModule,\r\n MatAutocompleteModule,\r\n ],\r\n providers: [\r\n {\r\n provide: LOCALE_ID,\r\n useValue: 'de-CH'\r\n },\r\n ZeitService, SpesenService, CacheService, SpesenartService],\r\n declarations: [\r\n ZeiterfassungFormdialogNeuComponent,\r\n ZeiterfassungPageComponent,\r\n ZeiterfassungListComponent,\r\n ZeiterfassungTableComponent,\r\n ZeiterfassungStufenComponent,\r\n SpesenTableComponent,\r\n SpesenFormdialogComponent,\r\n SpesenartTableComponent,\r\n SpesenartPageFormComponent,\r\n SpesenartFormdialogComponent,\r\n ZeiterfassungFilterComponent\r\n ],\r\n exports: [\r\n ZeiterfassungStufenComponent,\r\n SpesenartTableComponent\r\n ]\r\n})\r\nexport class ZeiterfassungPageComponentModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { AuswertungenFormdialogNeuComponent } from './components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\r\nimport { AuswertungenPageComponent } from './components/auswertungen-page/auswertungen-page.component';\r\nimport { AuswertungenListComponent } from './components/auswertungen-list/auswertungen-list.component';\r\nimport { AuswertungenTableComponent } from './components/auswertungen-table/auswertungen-table.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { AuswertungenStufenComponent } from './components/auswertungen-stufen/auswertungen-stufen.component';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport {ColorPickerModule} from 'ngx-color-picker';\r\nimport { SharedModule } from '../../shared.module';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\r\nimport {MatTabsModule} from '@angular/material/tabs/';\r\nimport {AuswertungenService} from './auswertungen.service';\r\nimport {auswertungenReducer} from './store/reducer/auswertungen.reducer';\r\nimport {AuswertungenEffects} from './store/effects/auswertungen.effects';\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\nimport {AuswertungFerienFormComponent} from '@src/app/pages/auswertungen/components/auswertungenferien-form/auswertungenferien-form.component';\r\n\r\n@NgModule({\r\n imports: [\r\n StoreModule.forFeature('auswertungen', auswertungenReducer),\r\n EffectsModule.forFeature([AuswertungenEffects]),\r\n MatToolbarModule,\r\n TranslateModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n BrowserAnimationsModule,\r\n BsDatepickerModule.forRoot(),\r\n MatDatepickerModule,\r\n FlexLayoutModule,\r\n MatTableModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatTreeModule,\r\n MatSortModule,\r\n ColorPickerModule,\r\n SharedModule,\r\n MatTooltipModule,\r\n TooltipModule,\r\n MatTabsModule,\r\n MatRadioModule\r\n ],\r\n providers: [ AuswertungenService],\r\n declarations: [\r\n AuswertungenFormdialogNeuComponent,\r\n AuswertungenPageComponent,\r\n AuswertungenListComponent,\r\n AuswertungenTableComponent,\r\n AuswertungenStufenComponent,\r\n AuswertungFerienFormComponent\r\n ],\r\n})\r\nexport class AuswertungenPageComponentModule { }\r\n","import {Injectable} from '@angular/core';\nimport {\n DialogData\n} from './components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\n// @ts-ignore\nimport {FilterSucheItem} from './filterSucheModel';\nimport {FilterItem} from './filter.model';\nimport {NodeItem} from '../projektverwaltung/node.model';\nimport {mitarbeiterverwaltungReducer} from '../Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\ntype Nodes = CollectionApiResponse;\n\ntype ZeitOutputResponse = CollectionApiResponse;\n\n@Injectable({ providedIn: 'root'})\n\nexport class AuswertungenService {\n\n constructor(private http: HttpClient) { }\n\n /**\n * shows the time table\n *\n * @returns - An observable that emits the added parts of timetable\n */\n public getAll(): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n const session = sessionStorage.getItem('session');\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/zeiterfassung/getAll_select_zeit.php?userId=${userId}&${session}`) as Observable;\n }\n\n\n /*Filter Suche Datum nach Joel*/\n public getFilteredSeekDate(item: FilterItem): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n\n const filterItem = item;\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/auswertungen/getFilteredZeit.php?userId=${userId}&${sessionStorage.getItem('session')}`, filterItem) as Observable<\n ZeitOutputResponse\n >;\n }\n\n public getProjektauswahlNodes(): Observable {\n\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/auswertungen/getAllProjektauswahl.php?userId=${userId}&${sessionStorage.getItem('session')}`) as Observable<\n Nodes\n >;\n }\n\n}\n","import {Component, Inject, OnInit, ViewChild, AfterViewInit, OnDestroy, HostListener} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport * as moment from 'moment';\nimport { select, Store } from '@ngrx/store';\nimport { AuswertungState } from '../../store/reducer/auswertungen.reducer';\nimport {AuswertungenStufenComponent} from '../auswertungen-stufen/auswertungen-stufen.component';\nimport {NodeItem} from '../../../projektverwaltung/node.model';\nimport { Observable } from 'rxjs';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {getFilteredZeitStarted} from '../../store/actions/filter-seek-date.actions';\nimport {loadProjektauswahlNodesStart} from '../../store/actions/getProjektauswahlNodes.actions';\nimport {ProjektState} from '../../../projektverwaltung/store/reducer/projektverwaltung.reducer';\nimport {HttpClient} from '@angular/common/http';\nimport {Router} from '@angular/router';\nimport {Security} from '../../../../security';\nimport {loadProjektSelectboxStart} from '../../../Zeiterfassung/store/actions/project-selectbox.actions';\nimport {DashboardItem} from '../../../landingpage/dashboard.model';\nimport {Zeitstate} from '../../../Zeiterfassung/store/reducer/zeiterfassung.reducer';\nimport {loadCacheStart} from '../../../Zeiterfassung/store/actions/getCacheNodes.actions';\nimport {map} from 'rxjs/operators';\nimport {BreakpointObserver} from '@angular/cdk/layout';\n\n\n/* Projekt Auswahl */\nexport interface ProjektDaten {\n prjID: number;\n prjName?: string;\n prjPRJ?: number;\n prjLevel?: number;\n}\n\n/* Ende Projekt Auswahl */\n\nexport interface DialogData {\n id: number;\n title: string;\n spesenTitle: string;\n submitButtonLabel: string;\n datum: Date;\n start: Date;\n ende: Date;\n dauerIntern: string;\n dauerExtern: string;\n text: string;\n verrechnen: any;\n verrechnet: any;\n niverbar: any;\n projekt: string;\n projektstufe0: string;\n letzteProjektstufe: string;\n cancelButtonLabel: string;\n spesenTotal: number;\n deletable: boolean;\n}\n\n@Component({\n selector: 'app-auswertungen-formdialog-neu',\n templateUrl: './auswertungen-formdialog-neu.component.html',\n styleUrls: ['./auswertungen-formdialog-neu.component.scss'],\n})\n\nexport class AuswertungenFormdialogNeuComponent implements OnInit {\n\n /* Ende Projekt Auswahl */\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public fB: FormBuilder,\n public dialog: MatDialog,\n public store: Store<{ zeiterfassung: AuswertungState }>,\n public projektverwaltung: Store<{ projektverwaltung: ProjektState }>,\n public zeiterfassung: Store<{zeiterfassung: Zeitstate}>,\n public http: HttpClient,\n public router: Router,\n public security: Security,\n private breakpointObserver: BreakpointObserver\n )\n {\n dialogRef.disableClose = true;\n this.$projektSelectbox = store.pipe(select((state) => state.zeiterfassung.selectboxProjekte));\n this.$cache = zeiterfassung.pipe(select((state) => state.zeiterfassung.cacheNodes));\n /* Gridwerte in die Bearbeiten Maske hineinschreiben */\n this.auswertungForm.patchValue({\n start: this.wandler(data.start),\n ende: this.wandler(data.ende),\n alleBenutzer: false,\n benutzer: false,\n offen: parseInt(data.verrechnen, 10),\n showZeit: true,\n showSpesen: false,\n zeitAuswahl: '1',\n spesenAuswahl: '1',\n zwischensummen: true,\n separat: false,\n details: true,\n projekt: data.projekt,\n projektstufe0: data.projektstufe0,\n letzteProjektstufe: data.letzteProjektstufe,\n });\n\n\n }\n public isSmallDevice = false;\n @ViewChild(AuswertungenStufenComponent) stufe;\n public showAlleBenutzer: Observable;\n public $cache: Observable;\n public disableProjektstufe: boolean;\n public isDisabled = false;\n public showingStufen: number[];\n public $projektSelectbox: Observable;\n public dauerPattern = '^([0-9]{1,2}\\\\.)+[0-9]{1,2}$';\n /* Speichert die Werte des Formulars */\n public auswertungForm = new FormGroup({\n zeitAuswahl: new FormControl(''),\n spesenAuswahl: new FormControl({value: '0', disabled: true}),\n start: new FormControl(''),\n ende: new FormControl(''),\n details: new FormControl(''),\n alleBenutzer: new FormControl(''),\n benutzer: new FormControl(''),\n zwischensummen: new FormControl(''),\n offen: new FormControl(''),\n showZeit: new FormControl(''),\n showSpesen: new FormControl(''),\n cache: new FormControl(''),\n ferien: new FormControl(''),\n separat: new FormControl('')\n });\n\n /* Zuweisen der Werte vom Kind in die Variable daten */\n daten;\n\n public getErrorMessage(Feld: string): string {\n const formControl = this.auswertungForm.get(Feld);\n if (formControl.hasError('required')){\n return`pages.timeDialog.formValidation.error.${Feld}.required`;\n }\n return 'pages.timeDialog.formValidation.error.generic';\n }\n\n /* Ende Checkbox 3 */\n\n /* Wandelt Datum um: Ohne Zeitzone und im richtigen Backendformat */\n public wandler(date: any): any {\n const dwD = date.toLocaleString( 'en-US', { timezone: 'utc' } );\n return moment(dwD).format('YYYY-MM-DD');\n }\n\n // tslint:disable-next-line:typedef use-lifecycle-interface\n ngAfterViewInit() {\n this.daten = this.stufe.addButtonForm;\n }\n\n /* Ende Zuweisen der Werte vom Kind in die Variable daten */\n\n public ngOnInit(): void {\n this.breakpointObserver\n .observe(localStorage.getItem('phoneWidth'))\n .pipe(map((result) => result.matches))\n .subscribe((isSmallDevice) => {\n this.isSmallDevice = isSmallDevice;\n });\n\n this.showAlleBenutzer = this.security.checkIfAllowed('3001');\n this.store.dispatch(loadProjektauswahlNodesStart());\n this.store.dispatch(loadCacheStart());\n }\n\n public handleSubmitClick(): void {\n this.auswertungForm.value.start = this.wandler(this.auswertungForm.value.start);\n this.auswertungForm.value.ende = this.wandler(this.auswertungForm.value.ende);\n\n const item = this.auswertungForm.value;\n item.id = this.data.id;\n item.projektstufe0 = this.daten.value.projektstufe0;\n // get highest projektstufe\n item.letzteProjektstufe = this.getLastProjektstufe();\n this.auswertungForm.value.dontShowStufen = this.showingStufen;\n if (!this.auswertungForm.value.showZeit){\n this.auswertungForm.value.zeitAuswahl = 0;\n }\n if (!this.auswertungForm.value.showSpesen){\n this.auswertungForm.value.spesenAuswahl = 0;\n }\n console.log(this.auswertungForm.value);\n // suche alle Zeiten für Auswertung\n // this.store.dispatch(getFilteredZeitStarted({item: this.auswertungForm.value }));\n this.dialogRef.close(this.auswertungForm.value);\n }\n\n /* Abbruchfunktion */\n // tslint:disable-next-line:typedef\n public handleCancelClick() {\n this.dialogRef.close(false);\n }\n /* holt die letzteProjektstufe */\n public getLastProjektstufe(): NodeItem{\n const dontShowStufen = [];\n // tslint:disable-next-line:prefer-const\n let showStufe;\n let projektStufe;\n let letzteStufe;\n for (let i = 0; i < 1000; i++){\n let testString = 'projektStufe = this.daten.value.projektstufe' + i;\n // tslint:disable-next-line:no-eval\n eval(testString);\n testString = 'showStufe = this.daten.value.showStufe' + i;\n // tslint:disable-next-line:no-eval\n eval(testString);\n dontShowStufen.push(showStufe);\n if (projektStufe?.children?.length === 0){\n letzteStufe = projektStufe;\n this.showingStufen = dontShowStufen;\n return letzteStufe;\n }\n else if (projektStufe !== undefined && projektStufe !== ''){\n letzteStufe = projektStufe;\n }\n else{\n this.showingStufen = dontShowStufen;\n return letzteStufe;\n }\n }\n }\n\n public checkZeitauswahl(isChecked: boolean): void{\n if ( !isChecked){\n this.auswertungForm.get('zeitAuswahl').disable();\n }\n else{\n this.auswertungForm.get('zeitAuswahl').enable();\n }\n }\n\n public checkSpesenauswahl(isChecked: boolean): void{\n if ( !isChecked){\n this.auswertungForm.get('spesenAuswahl').disable();\n }\n else{\n this.auswertungForm.get('spesenAuswahl').enable();\n }\n }\n\n public selectProjects(projektId: number): void {\n this.store.dispatch(loadProjektSelectboxStart({projektId}));\n }\n\n public setProjektstufeDisabled(checked: boolean): void{\n this.disableProjektstufe = checked;\n if(checked){\n this.auswertungForm.get('cache').disable();\n }\n else{\n this.auswertungForm.get('cache').enable();\n }\n }\n\n}\n\n","

{{ data.title | translate }}

\n\n
\n\n
\n \n {{ 'pages.auswertungen.auswertungDialog.start' | translate }}\n \n \n \n\n \n \n {{ 'pages.auswertungen.auswertungDialog.ende' | translate }}\n \n \n \n \n
\n\n\n \n \n\n \n {{ 'pages.timeDialog.cache' | translate }}\n \n \n {{cacheNode.obersteProjektstufe.join(' - ')}}\n \n \n \n\n
\n
\n \n {{ 'pages.auswertungen.auswertungDialog.zeitAnzeigen' | translate }}\n \n {{ 'pages.auswertungen.auswertungDialog.zeitIntern' | translate }}\n {{ 'pages.auswertungen.auswertungDialog.zeitExtern' | translate }}\n \n
\n
\n\n \n {{ 'pages.auswertungen.auswertungDialog.zwischensummen' | translate }}\n \n {{ 'pages.auswertungen.auswertungDialog.details' | translate }}\n
\n
\n {{ 'pages.auswertungen.auswertungDialog.spesenAnzeigen' | translate }}\n \n {{ 'pages.auswertungen.auswertungDialog.spesenIntern' | translate }}\n {{ 'pages.auswertungen.auswertungDialog.spesenExtern' | translate }}\n \n
\n
\n {{ 'pages.auswertungen.auswertungDialog.benutzer' | translate }}\n \n {{ 'pages.auswertungen.auswertungDialog.alleBenutzer' | translate }}\n
\n {{ 'pages.auswertungen.auswertungDialog.benutzer' | translate }}\n \n {{ 'pages.auswertungen.auswertungDialog.offen' | translate }}\n\n \n {{ 'pages.timeDialog.ferien' | translate }}\n \n\n\n
\n
\n\n \n {{ 'pages.auswertungen.auswertungDialog.alleBenutzer' | translate }}\n\n \n {{ 'pages.auswertungen.auswertungDialog.separat' | translate }}\n\n\n
\n
\n \n
\n \n {{ 'pages.auswertungen.auswertungDialog.offen' | translate }}\n\n
\n\n
\n
\n\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-auswertungen-list',\n templateUrl: './auswertungen-list.component.html',\n styleUrls: ['./auswertungen-list.component.scss']\n})\nexport class AuswertungenListComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

zeiterfassung-list works!

\n","import {AfterViewInit, Component, HostListener, Inject, Injectable, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport { select, Store } from '@ngrx/store';\nimport { AuswertungState } from '../../store/reducer/auswertungen.reducer';\nimport {BestaetigungsFormComponent} from '../../../../ui-components/bestaetigungs-form/bestaetigungs-form.component';\nimport {Observable} from 'rxjs';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {loadAllMitarbeiterSelectboxStart} from '../../../Mitarbeiterverwaltung/store/actions/getAllMitarbeiterSelectbox.actions';\nimport {State} from '../../../Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\nimport {MitarbeiterItem} from '../../../Mitarbeiterverwaltung/mitarbeiter.model';\nimport { getFilteredZeitStarted} from '../../store/actions/filter-seek-date.actions';\nimport {AddButtonFormdialogComponent} from '../../../landingpage/components/addButton-form-dialog/addButton-formdialog.component';\nimport {AuswertungenFormdialogNeuComponent} from '../auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\nimport {loadZeitStart} from '../../store/actions/Zeit-output.actions';\nimport * as moment from 'moment';\nimport {loadSpesenStart} from '../../../Zeiterfassung/store/actions/getAllSpesen.actions';\nimport {Router} from '@angular/router';\nimport { jsPDF } from 'jspdf';\nimport html2canvas from 'html2canvas';\nimport {AuswertungenTableComponent} from '../auswertungen-table/auswertungen-table.component';\n\n\n@Component({\n selector: 'app-auswertungen-page',\n templateUrl: './auswertungen-page.component.html',\n styleUrls: ['./auswertungen-page.component.scss']\n})\n\nexport class AuswertungenPageComponent implements OnInit {\n\n @ViewChild(AuswertungenTableComponent) child: AuswertungenTableComponent;\n\n\n // tslint:disable-next-line:max-line-length\n constructor( public dialog: MatDialog, public store: Store<{ auswertungen: AuswertungState }> , private mitarbeiterStore: Store<{ mitarbeiterverwaltung: State }>, private _router: Router , ) {\n\n this.$zeit = store.pipe(select((state) => state.auswertungen.item)); /* items */\n this.$user = mitarbeiterStore.pipe(select((state) => state.mitarbeiterverwaltung.selectboxItems));\n this.rolleId = sessionStorage.getItem('rolleId');\n\n }\n public rolleId: string;\n public title;\n public functionMenuEnabled: boolean;\n public $zeit;\n public wertDerCheckboxPage;\n\n public $user: Observable;\n\n public userForm = new FormGroup({\n user: new FormControl('', [Validators.required]),\n });\n\n @HostListener('window:beforeunload', [ '$event' ])\n // tslint:disable-next-line:typedef\n beforeUnloadHandler(event) {\n sessionStorage.setItem('zeitUserId', 'null');\n }\n\n ngOnInit(): void {\n if (sessionStorage.getItem('rolleId') != '1' && sessionStorage.getItem('rolleId') != '2') {\n this._router.navigate(['landingpage']);\n }\n }\n\n\n public openFilter(): void{\n const today = new Date();\n const dialogRef = this.dialog.open(AuswertungenFormdialogNeuComponent, {\n data: {\n title: 'pages.auswertungen.auswertungDialog.title',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n start: new Date(today.getFullYear(), today.getMonth(), 1),\n ende: new Date(today.getFullYear(), today.getMonth() + 1, 0),\n },\n }).afterClosed().subscribe(\n (result) => {\n this.child.loadReport(result.benutzer, result.zwischensummen, result.details, result.separat, result.alleBenutzer, result.start, result.ende, result.zeitAuswahl);\n this._router.navigate(['auswertungen']);\n }\n );\n }\n\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n\n\n\n}\n","\n \n
{{ 'pages.auswertungen.title' | translate}}
\n\n
\n\n
\n \n\n
\n\n
\n \n \n
\n
\n","import {\n Component,\n Inject,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef,\n EventEmitter,\n Input,\n AfterViewInit, AfterViewChecked, OnDestroy\n} from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { select, Store } from '@ngrx/store';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ProjektState } from '../../../projektverwaltung/store/reducer/projektverwaltung.reducer';\nimport { NodeItem } from '../../../projektverwaltung/node.model';\nimport { State } from '../../../landingpage/store/reducer/landingpage.reducer';\nimport {loadUserNodesStart} from '../../../projektverwaltung/store/actions/getUserNodes.actions';\nimport {loadProjektSelectboxStart} from '../../../Zeiterfassung/store/actions/project-selectbox.actions';\nimport {AuswertungState} from '../../store/reducer/auswertungen.reducer';\n\nexport interface DialogData{\n id: number;\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n}\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'auswertungen-stufen',\n templateUrl: './auswertungen-stufen.component.html',\n styleUrls: ['./auswertungen-stufen.component.scss'],\n})\n\n/*\n* selector: 'app-zeiterfassung-baum',\n templateUrl: './zeiterfassung-stufen.component.html',\n styleUrls: ['./zeiterfassung-stufen.component.scss'],\n* */\n\nexport class AuswertungenStufenComponent implements OnInit, OnDestroy {\n $nodes;\n arrOpen = [];\n disabled: boolean;\n\n @Input()\n selectboxItems: NodeItem[] = [];\n\n @Input()\n public set disablen(disablen: boolean) {\n this.disabled = disablen;\n }\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private store: Store<{landingpage: State}>,\n public auswertungen: Store<{ auswertungen: AuswertungState }>,\n public projektverwaltung: Store<{ projektverwaltung: ProjektState }>\n ) {\n if(sessionStorage.getItem('rolleId') === '3' || (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null)){\n this.$nodes = projektverwaltung.pipe(select((state) => state.projektverwaltung.usernodes.items));\n }\n else{\n this.$nodes = auswertungen.pipe(select((state) => state.auswertungen.selectboxProjekte));\n }\n // this.$nodes = zeiterfassung.pipe(select((state) => state.zeiterfassung.selectboxProjekte));\n }\n\n\n public addButtonForm = new FormGroup({\n color: new FormControl(''),\n projektstufe0: new FormControl('', [Validators.required]),\n showStufe0: new FormControl(true),\n projektstufe1: new FormControl(''),\n letzteProjektstufe: new FormControl(''),\n id: new FormControl(''),\n });\n\n public handleSubmitClick(): void{\n const item = this.addButtonForm.value;\n /*console.log(item);*/\n if (this.data.id) {\n\n } else {\n /*this.store.dispatch(addDashboardStart({item}));*/\n }\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public loadProjektstufe(projekt: NodeItem): void {\n if ( projekt === undefined){\n return;\n }\n // tslint:disable-next-line:radix\n this.addButtonForm.addControl('projektstufe' + ( parseInt(projekt.level) + 1) , new FormControl(''));\n this.addButtonForm.addControl('showStufe' + ( parseInt(projekt.level) + 1) , new FormControl(true));\n // this.zeit.dispatch(loadProjektSelectboxStart({projektId: projekt.id}));\n // console.log(projekt);\n // arrOpen leeren bis zu dem Punkt wo wir das neue Projekt abspeichern.\n // ( Bei einem Projekt von Level 1 wird alles ausser die 0te Stelle des Arrays gelöscht/weggeschnitten )\n this.arrOpen.splice(parseInt(projekt.level));\n // Einfügen des Projektes an Obersten Stelle des Arrays falls das Projekt noch Kinder hat.\n // Wenn das nicht der Fall ist wird NULL eingefügt.\n // die rechte Seite des Codes auf der nächsten Linie bedeutet: Falls projekt keine Kinder hat dann: null Sonst: projekt\n this.arrOpen[projekt.level] = !projekt.children[0]?.name ? null : projekt;\n }\n\n ngOnInit(): void {\n this.store.dispatch(loadUserNodesStart());\n }\n\n ngOnDestroy(): void {\n this.store.dispatch(loadProjektSelectboxStart({projektId: 0}));\n// console.clear();\n }\n\n public compareFunction(projekt1: NodeItem, projekt2: NodeItem): boolean{\n return projekt1 && projekt2 && projekt1.id === projekt2.id;\n}\n\n\npublic convertStringToInt(projektLevel: string): number{\n // tslint:disable-next-line:radix\n return parseInt(projektLevel);\n}\n\n}\n\n","\n
\n
\n
\n
\n \n {{ 'pages.landingpage.addButtonDialog.projektstufe' | translate }}\n \n \n {{projekt.name}}\n \n \n \n \n {{ 'pages.auswertungen.auswertungDialog.showStufe' | translate }}\n
\n
\n
\n \n\n\n
\n
\n\n\n\n
\n \n {{ 'pages.landingpage.addButtonDialog.projektstufe' | translate }}\n \n \n {{projekt.name}}\n \n \n \n \n {{ 'pages.auswertungen.auswertungDialog.showStufe' | translate }}\n
\n
\n
\n\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {DialogData} from '../auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\nimport {MatSort} from '@angular/material/sort';\nimport {select, Store} from '@ngrx/store';\nimport {AuswertungState} from '../../store/reducer/auswertungen.reducer';\nimport { Stimulsoft } from 'stimulsoft-reports-js/Scripts/stimulsoft.viewer';\n\n\n@Component({\n selector: 'app-auswertungen-table',\n templateUrl: './auswertungen-table.component.html',\n styleUrls: ['./auswertungen-table.component.scss']\n})\n\nexport class AuswertungenTableComponent implements OnInit, AfterViewInit {\n\n constructor( public store: Store<{ zeiterfassung: AuswertungState }> ) {\n\n }\n /* ENDE Beim Leeren des Datepickers wird an der leeren Stelle das Grid neu geladen */\n// viewer: any = new Stimulsoft.Viewer.StiViewer(null, 'StiViewer', false);\n\n /**\n * Sets parts of the time mask to datasource\n *\n * @param Zeit - Parts of the time table\n */\n\n ngOnInit(): void {\n // Loading Viewer view\n Stimulsoft.Base.StiLicense.Key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHmpMFGIvKXt+0qL8oOfYCePmdl89Db00G622UYvHM74Kho8fxVfA5Hmk/iCgfRw7qeEsRlVjqwg8RcFeEAnQymDk5yd2/okky1fZy4MSoewgM6OUcbcojaqaY96fyQa5VlONSe6PWNNVBCmoaUL/YJZeg4AuxBQvIJFZmwtDvfOZ/ug9VdKB8h8mmoSQhvA1qANoYclQR1kaTNBAXKsrVcn8MKItIoVrJZY0/lINUiPZHfARTMWfdhA5t+UjQQOwWLTIxMha5bsoCfjFG7maIk/ES4kO2OKR5k6Huxg6PBg8lwtn+cw3kQ4pD46VgGTRXh7xCxAUD9hMf5F9rDFyctBRH1o7pdYbHFApsyLcRNoDnefn/LdRAAY+eDs3xTWs4fIslZs+w2EmySosds9X/z6sk6iTQoXrKXmHHnVMP0chZiZgAXLpvMYCquWuahBiCauNLIFdfw3sChkTwWJJln6CFdK+44o6HflqSNu7MmaJGT+qi6XWcAxKBbYkKq81+o=';\n Stimulsoft.StiOptions.WebServer.url = 'http://local.curion.ch/stimulsoftDesigner/reports/handler.php';\n }\n\n\n ngAfterViewInit(): void {\n // this.loadReport();\n }\n\n public loadReport(showBenutzername: boolean,\n showZwischensummen: boolean,\n showDetails: boolean,\n showSeparat: boolean,\n showAllUsers: boolean,\n filterDatumStart: string,\n filterDatumEnde: string,\n zeitAuswahl: number\n ): void{\n // Stimulsoft.Base.StiLicense.Key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHmpMFGIvKXt+0qL8oOfYCePmdl89Db00G622UYvHM74Kho8fxVfA5Hmk/iCgfRw7qeEsRlVjqwg8RcFeEAnQymDk5yd2/okky1fZy4MSoewgM6OUcbcojaqaY96fyQa5VlONSe6PWNNVBCmoaUL/YJZeg4AuxBQvIJFZmwtDvfOZ/ug9VdKB8h8mmoSQhvA1qANoYclQR1kaTNBAXKsrVcn8MKItIoVrJZY0/lINUiPZHfARTMWfdhA5t+UjQQOwWLTIxMha5bsoCfjFG7maIk/ES4kO2OKR5k6Huxg6PBg8lwtn+cw3kQ4pD46VgGTRXh7xCxAUD9hMf5F9rDFyctBRH1o7pdYbHFApsyLcRNoDnefn/LdRAAY+eDs3xTWs4fIslZs+w2EmySosds9X/z6sk6iTQoXrKXmHHnVMP0chZiZgAXLpvMYCquWuahBiCauNLIFdfw3sChkTwWJJln6CFdK+44o6HflqSNu7MmaJGT+qi6XWcAxKBbYkKq81+o=';\n\n const options = new Stimulsoft.Viewer.StiViewerOptions();\n options.exports.showExportToCsv = false;\n options.exports.showExportToHtml = false;\n options.exports.showExportToHtml5 = false;\n options.exports.showExportToPowerPoint = false;\n options.exports.showExportToImageSvg = false;\n options.exports.showExportToOpenDocumentWriter = false;\n options.exports.showExportToText = false;\n options.exports.showExportToOpenDocumentCalc = false;\n options.exports.showExportToDocument = false;\n options.toolbar.showOpenButton = false;\n options.toolbar.printDestination = Stimulsoft.Viewer.StiPrintDestination.Pdf;\n const report = new Stimulsoft.Report.StiReport();\n const viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false);\n // Load report from url\n\n // tslint:disable-next-line:max-line-length\n report.loadFile(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/auswertungen/temp/zeitReport_' + sessionStorage.getItem('session').slice(10) + '.json');\n // report.loadFile(window.location.protocol + '//' + window.location.hostname + '/myDay/backend/auswertungen/zeitReport.mrt');\n report.dictionary.variables.getByName('showName').valueObject = showBenutzername;\n report.dictionary.variables.getByName('showZwischensummen').valueObject = showZwischensummen;\n report.dictionary.variables.getByName('showDetails').valueObject = showDetails;\n report.dictionary.variables.getByName('showSeparat').valueObject = showSeparat;\n report.dictionary.variables.getByName('showAllUsers').valueObject = showAllUsers;\n report.dictionary.variables.getByName('filterDatumStart').valueObject = filterDatumStart;\n report.dictionary.variables.getByName('filterDatumEnde').valueObject = filterDatumEnde;\n report.dictionary.variables.getByName('filterDatumEnde').valueObject = filterDatumEnde;\n report.dictionary.variables.getByName('showZeit').valueObject = zeitAuswahl;\n viewer.report = report;\n\n\n // Rendering the viewer to selected element\n viewer.renderHtml('viewer');\n }\n\n /* Suche nach Datum und Name. Einzeln oder Zusammen */\n\n\n\n\n}\n","
\n
\n
\n\n","import {Component, Inject, OnInit, ViewChild} from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {getFilteredZeitStarted} from '@src/app/pages/auswertungen/store/actions/filter-seek-date.actions';\nimport {MatOption} from '@angular/material/core';\nimport {MatSelect} from '@angular/material/select';\nimport {Observable} from 'rxjs';\nimport {MitarbeiterItem} from '@src/app/pages/Mitarbeiterverwaltung/mitarbeiter.model';\nimport {State} from '@src/app/pages/Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\nimport {loadAllMitarbeiterStart} from '@src/app/pages/Mitarbeiterverwaltung/store/actions/getAllMitarbeiter.actions';\nimport {ProjektState} from '@src/app/pages/projektverwaltung/store/reducer/projektverwaltung.reducer';\n\nexport interface DialogData {\n title: string;\n text: string;\n}\n\n@Component({\n selector: 'app-auswertungenferien-form',\n templateUrl: './auswertungenferien-form.component.html',\n styleUrls: ['./auswertungenferien-form.component.scss']\n})\nexport class AuswertungFerienFormComponent implements OnInit {\n\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private mitarbeiter: Store<{ mitarbeiterverwaltung: State }>,\n private store: Store<{ projektverwaltung: ProjektState }>\n ) {\n this.$mitarbeiter = mitarbeiter.pipe(select((state) => state.mitarbeiterverwaltung.items));\n }\n\n public ferienAuswertungForm = new FormGroup({\n jahr: new FormControl(new Date().getFullYear(), [Validators.required, Validators.min(1000), Validators.max(9999)]),\n mitarbeiter: new FormControl('')\n });\n\n public allSelected = false;\n @ViewChild('mySel') private skillSel: MatSelect;\n public $mitarbeiter: Observable;\n // tslint:disable-next-line:variable-name\n public last_selection = null;\n\n ngOnInit(): void {\n this.store.dispatch(loadAllMitarbeiterStart({string: sessionStorage.getItem('firmaId')}));\n }\n\n public okHandleClick(): void {\n // this.store.dispatch(getFilteredZeitStarted({item: this.auswertungForm.value }));\n this.dialogRef.close(this.ferienAuswertungForm.value);\n }\n\n public handleCancelClick(): void {\n this.dialogRef.close();\n }\n\n toggleAllSelection(): void {\n this.allSelected = !this.allSelected; // to control select-unselect\n\n if (this.allSelected) {\n this.skillSel.options.forEach( (item: MatOption) => { item.select(); });\n } else {\n this.skillSel.options.forEach( (item: MatOption) => {item.deselect(); });\n }\n }\n\n okClicked(): void {\n this.last_selection = this.ferienAuswertungForm.controls.mitarbeiter.value;\n this.skillSel.close();\n }\n\n}\n","

{{ data.title | translate }}

\n{{ data.text | translate }}\n\n
\n\n \n {{ 'pages.auswertungen.auswertungDialog.jahr' | translate }}\n \n \n\n \n {{ 'pages.projektverwaltung.projektDialog.mitarbeiter' | translate }}\n \n Alle\n \n {{mitarbeiter.name + \" \" + mitarbeiter.vorname + \" \" + mitarbeiter.plz + \" \" + mitarbeiter.ort }}\n \n
\n \n Ok\n \n
\n
\n
\n\n
\n
\n\n \n Abbrechen\n \n \n Ok\n \n\n","import { createAction, props } from '@ngrx/store';\r\nimport { DialogData } from '../../components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\r\n\r\nexport const loadZeitStart = createAction('ADDRESSES::LOAD_ADDRESSES_START');\r\nexport const loadZeitSucceeded = createAction(\r\n 'ADDRESSES::LOAD_ADDRESSES_SUCCEEDED',\r\n props<{ item: DialogData[] }>(),\r\n);\r\nexport const loadZeitFailed = createAction('ADDRESSES::LOAD_ADDRESSES_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\r\nimport {FilterItem} from '../../filter.model';\r\nimport {DialogData} from '../../components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\r\nimport {FilterSucheItem} from '../../../Zeiterfassung/filterSucheModel';\r\n\r\nexport const getFilteredZeitStarted = createAction('ZEIT::GET_FILTERED_ZEIT_START', props<{ item: FilterItem }>());\r\nexport const getFilteredZeitSucceeded = createAction('ZEIT::GET_FILTERED_ZEIT_SUCCEEDED', props<{ item: DialogData[] }>());\r\nexport const getFilteredZeitFailed = createAction('ZEIT::GET_FILTERED_ZEIT_FAILED', props<{ error: Error }>());\r\n","import { createAction, props } from '@ngrx/store';\nimport {NodeItem} from '../../../projektverwaltung/node.model';\n\nexport const loadProjektauswahlNodesStart = createAction('AUSWERTUNGEN::LOAD_PROJEKTAUSWAHLNODES_START');\nexport const loadProjektauswahlNodesSucceeded = createAction(\n 'AUSWERTUNGEN::LOAD_PROJEKTAUSWAHLNODES_SUCCEEDED',\n props<{ item: NodeItem[] }>(),\n);\nexport const loadProjektauswahlNodesFailed = createAction('AUSWERTUNGEN::LOAD_PROJEKTAUSWAHLNODES_FAILED', props<{ error: Error }>());\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { catchError, map, mergeMap, tap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { AuswertungenService } from '../../auswertungen.service';\r\nimport { loadZeitFailed, loadZeitStart, loadZeitSucceeded } from '../actions/Zeit-output.actions';\r\nimport {getFilteredZeitFailed, getFilteredZeitStarted, getFilteredZeitSucceeded\r\n} from '../actions/filter-seek-date.actions';\r\nimport {\r\n loadProjektauswahlNodesFailed,\r\n loadProjektauswahlNodesStart,\r\n loadProjektauswahlNodesSucceeded\r\n} from '../actions/getProjektauswahlNodes.actions';\r\n\r\n@Injectable()\r\nexport class AuswertungenEffects {\r\n\r\n /**\r\n * Loads the parts of the time table and lists when dispatching the start action\r\n */\r\n public loadZeit$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadZeitStart),\r\n mergeMap(() =>\r\n this.dS.getAll().pipe(\r\n map((response) => loadZeitSucceeded({ item: response.data })),\r\n catchError((e) => of(loadZeitFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n /* Such-und Datumswert nach Joel */\r\n public loadFilteredProjekte$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(getFilteredZeitStarted),\r\n mergeMap((projekt) =>\r\n this.dS.getFilteredSeekDate(projekt.item).pipe(\r\n mergeMap((response) => of(getFilteredZeitSucceeded({ item: response.data}))),\r\n catchError((e) => of(getFilteredZeitFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n /* Such-und Datumswert nach Joel */\r\n public loadNodes = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(loadProjektauswahlNodesStart),\r\n mergeMap(() =>\r\n this.dS.getProjektauswahlNodes().pipe(\r\n mergeMap((response) => of(loadProjektauswahlNodesSucceeded({ item: response.data}))),\r\n catchError((e) => of(loadProjektauswahlNodesFailed(e))),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n\r\n /**\r\n * Constructor of Zeit effects\r\n *\r\n * @param actions$ - The action observable\r\n * @param dS = DummyService - The Zeit service\r\n */\r\n constructor(private actions$: Actions, private dS: AuswertungenService) {}\r\n}\r\n","import { createReducer, on } from '@ngrx/store';\r\nimport { DialogData, ProjektDaten } from '../../components/auswertungen-formdialog-neu/auswertungen-formdialog-neu.component';\r\nimport { loadZeitStart, loadZeitSucceeded } from '../actions/Zeit-output.actions';\r\nimport {NodeItem} from '../../../projektverwaltung/node.model';\r\nimport {getFilteredZeitFailed, getFilteredZeitStarted, getFilteredZeitSucceeded\r\n} from '../actions/filter-seek-date.actions';\r\nimport {\r\n loadProjektSelectboxFailed,\r\n loadProjektSelectboxStart,\r\n loadProjektSelectboxSucceeded\r\n} from '../../../Zeiterfassung/store/actions/project-selectbox.actions';\r\nimport {\r\n loadProjektauswahlNodesFailed,\r\n loadProjektauswahlNodesStart,\r\n loadProjektauswahlNodesSucceeded\r\n} from '../actions/getProjektauswahlNodes.actions';\r\n\r\nexport interface AuswertungState {\r\n isLoading: boolean;\r\n isAddingZeiterfassung: boolean;\r\n item: DialogData[];\r\n projektDaten: ProjektDaten[];\r\n partProjektDaten: ProjektDaten[];\r\n nodes: {\r\n items: NodeItem[];\r\n };\r\n selectboxProjekte: NodeItem[];\r\n}\r\n\r\nexport const initialState: AuswertungState = {\r\n isLoading: false,\r\n isAddingZeiterfassung: false,\r\n item: [],\r\n projektDaten: [],\r\n partProjektDaten: [],\r\n nodes: {\r\n items: [],\r\n },\r\n selectboxProjekte: [],\r\n};\r\n\r\n\r\nconst ons = [\r\n\r\n on(loadZeitStart, (state: AuswertungState) => ({ ...state, isLoading: true })),\r\n on(loadZeitSucceeded, (state: AuswertungState, action) => ({\r\n ...state,\r\n isLoading: false,\r\n item: action.item,\r\n })),\r\n\r\n /* Datum und Suche beides / einzeln nach Joel */\r\n on(getFilteredZeitStarted, (state: AuswertungState) => ({ ...state, isLoading: true })),\r\n on(getFilteredZeitSucceeded, (state: AuswertungState, action) => ({\r\n ...state,\r\n item: action.item,\r\n })),\r\n on(getFilteredZeitFailed, (state: AuswertungState) => {\r\n return ({...state, isLoading: false});\r\n }),\r\n on(loadProjektauswahlNodesStart, (state: AuswertungState) => ({ ...state, isLoading: true })),\r\n on(loadProjektauswahlNodesSucceeded, (state: AuswertungState, action) => ({\r\n ...state,\r\n isLoading: false,\r\n selectboxProjekte: action.item,\r\n })),\r\n on(loadProjektauswahlNodesFailed, (state: AuswertungState) => ({ ...state, isLoading: false })),\r\n];\r\n\r\nexport const auswertungenReducer = createReducer(initialState, ...ons);\r\n","import {AfterViewChecked, Component, Inject, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {select, Store} from '@ngrx/store';\nimport {loadAllMitarbeiterStart} from '../../../Mitarbeiterverwaltung/store/actions/getAllMitarbeiter.actions';\nimport {State} from '../../store/reducer/landingpage.reducer';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {addDashboardStart} from '../../store/actions/dashboard-add.actions';\nimport {ProjektState} from '../../../projektverwaltung/store/reducer/projektverwaltung.reducer';\nimport {loadNodesStart} from '../../../projektverwaltung/store/actions/getAllNodes.actions';\nimport {NodeItem} from '../../../projektverwaltung/node.model';\nimport {loadUserNodesStart} from '../../../projektverwaltung/store/actions/getUserNodes.actions';\nimport {Zeitstate} from '@src/app/pages/Zeiterfassung/store/reducer/zeiterfassung.reducer';\nimport {loadProjektSelectboxStart} from '@src/app/pages/Zeiterfassung/store/actions/project-selectbox.actions';\nimport {loadCacheStart} from '@src/app/pages/Zeiterfassung/store/actions/getCacheNodes.actions';\nimport {ZeiterfassungStufenComponent} from '@src/app/pages/Zeiterfassung/components/zeiterfassung-stufen/zeiterfassung-stufen.component';\n\nexport interface DialogData{\n id: number;\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n}\n\n@Component({\n selector: 'app-addbutton-formdialog',\n templateUrl: './addButton-formdialog.component.html',\n styleUrls: ['./addButton-formdialog.component.scss']\n})\n\nexport class AddButtonFormdialogComponent implements OnInit, AfterViewChecked {\n color: any;\n $projekte;\n $nodes;\n arrOpen = [];\n private daten: any;\n\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private store: Store<{ landingpage: State }>,\n private projekt: Store<{ projektverwaltung: ProjektState }>,\n public zeiterfassung: Store<{zeiterfassung: Zeitstate}>,\n )\n {\n dialogRef.disableClose = true;\n this.$projektSelectbox = zeiterfassung.pipe(select((state) => state.zeiterfassung.selectboxProjekte));\n this.$cache = zeiterfassung.pipe(select((state) => state.zeiterfassung.cacheNodes));\n this.$nodes = projekt.pipe(select((state) => state.projektverwaltung.usernodes.items));\n }\n public $projektSelectbox;\n public $cache;\n @ViewChild(ZeiterfassungStufenComponent) stufe;\n\n public addButtonForm = new FormGroup({\n cache: new FormControl(''),\n color: new FormControl(''),\n projektstufe0: new FormControl(''),\n letzteProjektstufe: new FormControl(''),\n id: new FormControl(''),\n });\n\n\n public handleSubmitClick(): void{\n const item = this.addButtonForm.value;\n if (this.data.id) {\n\n } else {\n item.projektstufe0 = this.daten.value.projektstufe0;\n // get highest projektstufe\n item.letzteProjektstufe = this.getLastProjektstufe();\n this.store.dispatch(addDashboardStart({item}));\n }\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public ngAfterViewChecked(){\n this.daten = this.stufe.addButtonForm;\n }\n\n public loadProjektstufe(projekt: NodeItem): void{\n // arrOpen leeren bis zu dem Punkt wo wir das neue Projekt abspeichern.\n // ( Bei einem Projekt von Level 1 wird alles ausser die 0te Stelle des Arrays gelöscht/weggeschnitten )\n this.arrOpen.splice(parseInt(projekt.level));\n // Einfügen des Projektes an Obersten Stelle des Arrays falls das Projekt noch Kinder hat.\n // Wenn das nicht der Fall ist wird NULL eingefügt.\n // die rechte Seite des Codes auf der nächsten Linie bedeutet: Falls projekt keine Kinder hat dann: null Sonst: projekt\n this.arrOpen[projekt.level] = !projekt.children[0]?.name ? null : projekt;\n }\n\n ngOnInit(): void {\n this.store.dispatch(loadUserNodesStart());\n this.store.dispatch(loadCacheStart());\n }\n\n public selectProjects(projektId: number): void {\n this.store.dispatch(loadProjektSelectboxStart({projektId}));\n }\n\n public getLastProjektstufe(): NodeItem{\n // tslint:disable-next-line:prefer-const\n let projektStufe;\n let letzteStufe;\n for (let i = 0; i < 1000; i++){\n const testString = 'projektStufe = this.daten.value.projektstufe' + i;\n // tslint:disable-next-line:no-eval\n eval(testString);\n if (projektStufe?.children?.length === 0){\n letzteStufe = projektStufe;\n return letzteStufe;\n }\n else if (projektStufe !== undefined && projektStufe !== ''){\n letzteStufe = projektStufe;\n\n }\n else{\n return letzteStufe;\n }\n }\n }\n\n}\n","\n

{{ data.title | translate }}

\n\n\n
\n\n \n \n\n \n {{ 'pages.timeDialog.cache' | translate }}\n \n \n {{cacheNode.obersteProjektstufe.join(' - ')}}\n \n \n \n\n
\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n
\n
\n
\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n\n\n","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {DashboardItem} from '../../dashboard.model';\nimport {loadDashboardStart} from '../../store/actions/getDashboard.actions';\nimport { Store} from '@ngrx/store';\nimport {State} from '../../store/reducer/landingpage.reducer';\nimport {MatDialog} from '@angular/material/dialog';\nimport {deleteDashboardStart} from '../../store/actions/dashboard-del.actions';\nimport {startTimeDashboardStart} from '../../store/actions/dashboard-startTime.actions';\nimport {stopTimeDashboardStart} from '../../store/actions/dashboard-stopTime.actions';\nimport {ZeiterfassungFormdialogNeuComponent} from '../../../Zeiterfassung/components/zeiterfassung-formdialog-neu/zeiterfassung-formdialog-neu.component';\nimport {loadProjektSelectboxStart} from '../../../Zeiterfassung/store/actions/project-selectbox.actions';\nimport {BestaetigungsFormComponent} from '../../../../ui-components/bestaetigungs-form/bestaetigungs-form.component';\nimport {loadSpesenStart} from \"../../../Zeiterfassung/store/actions/getAllSpesen.actions\";\nimport {addZeitStart} from \"../../../Zeiterfassung/store/actions/Zeit-add.actions\";\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {map} from 'rxjs/operators';\nimport {pauseTimeDashboardStart} from '@src/app/pages/landingpage/store/actions/dashboard-pauseTime.actions';\nimport {continueTimeDashboardStart} from '@src/app/pages/landingpage/store/actions/dashboard-continueTime.actions';\n\n@Component({\n selector: 'app-landing-card',\n templateUrl: './landing-card.component.html',\n styleUrls: ['./landing-card.component.scss'],\n})\nexport class LandingCardComponent implements OnInit, OnDestroy {\n\n\n constructor(private store: Store<{ landingpage: State }>,\n public dialog: MatDialog,\n private breakpointObserver: BreakpointObserver\n ) {\n }\n\n @Input()\n dashboardItems: DashboardItem[] = [];\n public isSmallDevice = false;\n public myTimer: any;\n public dashboardItem: DashboardItem;\n\n public ngOnInit(): void {\n\n this.breakpointObserver\n .observe(localStorage.getItem('phoneWidth'))\n .pipe(map((result) => result.matches))\n .subscribe((isSmallDevice) => {\n this.isSmallDevice = isSmallDevice;\n\n });\n\n this.store.dispatch(loadDashboardStart({userId: parseInt(sessionStorage.getItem('userId'))}));\n // tslint:disable-next-line:only-arrow-functions\n\n\n this.myTimer = setInterval( function(): void{\n if ( sessionStorage.getItem('userId') !== null ){\n document.getElementById('timerButton').click();\n }\n\n } , 1000);\n }\n public ngOnDestroy(): void {\n clearInterval(this.myTimer);\n }\n\n public delete(dashItem: DashboardItem): void{\n const bestätigungsForm = this.dialog.open(BestaetigungsFormComponent, {\n data: {\n title: 'pages.landingpage.deleteDashboard.title',\n text: 'pages.landingpage.deleteDashboard.text'\n },\n });\n bestätigungsForm.afterClosed().subscribe(result => {\n if (result === true){\n this.store.dispatch(deleteDashboardStart({ item: dashItem}));\n }\n });\n }\n\n public startTime(dashItem: DashboardItem): void{\n this.store.dispatch(startTimeDashboardStart({ item: dashItem}));\n }\n\n public pauseTime(dashItem: DashboardItem): void{\n this.store.dispatch(pauseTimeDashboardStart({ item: dashItem}));\n }\n\n public continueTime(dashItem: DashboardItem): void{\n this.store.dispatch(continueTimeDashboardStart({ item: dashItem}));\n }\n\n public stopTime(dashItem: DashboardItem): void{\n this.store.dispatch(loadProjektSelectboxStart({projektId: dashItem.prjId}));\n this.store.dispatch(addZeitStart());\n this.store.dispatch(loadSpesenStart({zeitId: 0} ));\n\n if(this.isSmallDevice){\n const zeitForm = this.dialog.open(ZeiterfassungFormdialogNeuComponent, {\n minWidth: '100vw',\n height: '100vh',\n data: {\n title: 'pages.addTimeDialog.title',\n spesenTitle: 'pages.addTimeDialog.spesenTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n projekt: dashItem.prjId,\n dauerIntern: (parseFloat(dashItem.start) / 3600),\n dauerExtern: (parseFloat(dashItem.start) / 3600),\n },\n });\n zeitForm.afterClosed().subscribe(result => {\n if (result === 'stopTheButton'){\n this.store.dispatch(stopTimeDashboardStart({ item: dashItem}));\n }\n });\n }\n else{\n const zeitForm = this.dialog.open(ZeiterfassungFormdialogNeuComponent, {\n data: {\n title: 'pages.addTimeDialog.title',\n spesenTitle: 'pages.addTimeDialog.spesenTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n projekt: dashItem.prjId,\n dauerIntern: (parseFloat(dashItem.start) / 3600),\n dauerExtern: (parseFloat(dashItem.start) / 3600),\n },\n });\n zeitForm.afterClosed().subscribe(result => {\n if (result === 'stopTheButton'){\n this.store.dispatch(stopTimeDashboardStart({ item: dashItem}));\n }\n });\n }\n // this.store.dispatch(stopTimeDashboardStart({ item: dashItem}));\n }\n\n public addForm(projektId: number): void{\n this.store.dispatch(loadProjektSelectboxStart({projektId}));\n // Zeit in Datenbank erstellen und ID mit in Formular geben via Session\n this.store.dispatch(addZeitStart());\n this.store.dispatch(loadSpesenStart({zeitId: 0} ));\n\n if(this.isSmallDevice){\n this.dialog.open(ZeiterfassungFormdialogNeuComponent, {\n minWidth: '100vw',\n height: '100vh',\n data: {\n title: 'pages.addTimeDialog.title',\n spesenTitle: 'pages.addTimeDialog.spesenTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n dauerIntern: 0,\n dauerExtern: 0,\n projekt: projektId,\n },\n });\n }\n else{\n this.dialog.open(ZeiterfassungFormdialogNeuComponent, {\n data: {\n title: 'pages.addTimeDialog.title',\n spesenTitle: 'pages.addTimeDialog.spesenTitle',\n submitButtonLabel: 'pages.addTimeDialog.submitButtonLabel',\n cancelButtonLabel: 'pages.addTimeDialog.cancelButtonLabel',\n dauerIntern: 0,\n dauerExtern: 0,\n projekt: projektId,\n },\n });\n }\n }\n\n public findCorrectFontColor(color: any): string{\n\n // Variables for red, green, blue values\n // tslint:disable-next-line:one-variable-per-declaration\n let r, g, b, hsp;\n\n // Check the format of the color, HEX or RGB?\n if (color.match(/^rgb/)) {\n\n // If RGB --> store the red, green, blue values in separate variables\n color = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/);\n\n r = color[1];\n g = color[2];\n b = color[3];\n }\n else {\n\n // If hex --> Convert it to RGB: http://gist.github.com/983661\n color = +('0x' + color.slice(1).replace(\n color.length < 5 && /./g, '$&$&'));\n\n r = color >> 16;\n g = color >> 8 & 255;\n b = color & 255;\n }\n\n // HSP (Highly Sensitive Poo) equation from http://alienryderflex.com/hsp.html\n hsp = Math.sqrt(\n 0.299 * (r * r) +\n 0.587 * (g * g) +\n 0.114 * (b * b)\n );\n/*\n const rgb = color.substring(4, color.length - 1)\n .replace(/ /g, '')\n .split(',');\n // http://www.w3.org/TR/AERT#color-contrast\n const brightness = Math.round(((parseInt(rgb[0]) * 299) +\n (parseInt(rgb[1]) * 587) +\n (parseInt(rgb[2]) * 114)) / 1000);\n const textColour = (brightness > 115) ? 'blackFont' : 'whiteFont';\n return textColour;\n */\n // Using the HSP value, determine whether the color is light or dark\n if (hsp > 127.5) {\n\n return 'blackFont';\n }\n else {\n\n return 'whiteFont';\n }\n }\n\n public timer(): void{\n this.store.dispatch(loadDashboardStart({userId: parseInt(sessionStorage.getItem('userId'))}));\n }\n\n}\n","
\n
\n\n\n \n {{projektstufen}}\n \n\n \n \n \n

{{(dashboarditem.start)/60/60 | roundDown}}:{{dashboarditem.start*1000 | date:'mm:ss'}}

\n \n \n
\n \n \n
\n\n \n \n

{{(dashboarditem.time) | roundDown}}:{{dashboarditem.time*3600*1000 | date:'mm:ss'}}

\n \n
\n \n \n
\n\n \n \n

{{'pages.landingpage.favorit.zeroTime' | translate}}

\n \n
\n \n \n \n \n
\n\n\n\n
\n
\n
\n
\n
\n\n \n \n {{projektstufen}}\n \n\n \n \n \n

{{(dashboarditem.start)/60/60 | roundDown}}:{{dashboarditem.start*1000 | date:'mm:ss'}}

\n \n
\n
\n\n \n \n

{{'pages.landingpage.favorit.zeroTime' | translate}}

\n \n
\n \n \n \n \n
\n\n\n\n
\n
\n
\n\n","import {AfterViewInit, Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {select, Store} from '@ngrx/store';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport {loadUserStart} from '../../store/actions/getUser.actions';\nimport {UserItem} from '../../user.model';\nimport {Observable} from 'rxjs';\nimport { State } from '../../store/reducer/landingpage.reducer';\nimport {ProjektState} from '../../../projektverwaltung/store/reducer/projektverwaltung.reducer';\nimport {loadDashboardStart} from '../../store/actions/getDashboard.actions';\nimport {ProjektFormdialogComponent} from '../../../projektverwaltung/components/projekt-form-dialog/projekt-formdialog.component';\nimport {AddButtonFormdialogComponent} from '../addButton-form-dialog/addButton-formdialog.component';\nimport {MitarbeiterItem} from '../../../Mitarbeiterverwaltung/mitarbeiter.model';\nimport {checkDashboardStart} from \"../../store/actions/dashboard-check.actions\";\nimport {loadRollenStart} from \"../../../Mitarbeiterverwaltung/store/actions/rolle.actions\";\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {map} from 'rxjs/operators';\n\n\n@Component({\n selector: 'app-landingpage-page',\n templateUrl: './landingpage-page.component.html',\n styleUrls: ['./landingpage-page.component.scss'],\n})\n\n\n\nexport class LandingpagePageComponent implements OnInit{\n\n public $dashboard;\n\n /**\n * Constructor of Addresses page\n *\n * @param store - The store service\n * @param dialog - The dialog service\n */\n constructor(private store: Store<{ landingpage: State }>,\n public dialog: MatDialog,\n private breakpointObserver: BreakpointObserver\n ) {\n this.$dashboard = store.pipe(select((state) => state.landingpage.dashboards.items));\n }\n\n public functionMenuEnabled: boolean;\n public isSmallDevice = false;\n /**\n * Executed when the component is initialized\n */\n public ngOnInit(): void {\n this.store.dispatch(loadRollenStart());\n if ( sessionStorage.getItem('userId') === null){\n return;\n }\n this.store.dispatch(checkDashboardStart());\n this.functionMenuEnabled = true;\n\n this.breakpointObserver\n .observe(localStorage.getItem('phoneWidth'))\n .pipe(map((result) => result.matches))\n .subscribe((isSmallDevice) => {\n this.isSmallDevice = isSmallDevice;\n\n });\n }\n\n\n\n public addDashboard(): void {\n if (this.isSmallDevice){\n // tslint:disable-next-line:radix\n const dialogRef = this.dialog.open(AddButtonFormdialogComponent, {\n width: '90%',\n data: {\n title: 'pages.landingpage.addDashboard.title',\n submitButtonLabel: 'pages.landingpage.addDashboard.submitButtonLabel',\n cancelButtonLabel: 'pages.landingpage.addDashboard.cancelButtonLabel',\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n\n else{\n // tslint:disable-next-line:radix\n const dialogRef = this.dialog.open(AddButtonFormdialogComponent, {\n data: {\n title: 'pages.landingpage.addDashboard.title',\n submitButtonLabel: 'pages.landingpage.addDashboard.submitButtonLabel',\n cancelButtonLabel: 'pages.landingpage.addDashboard.cancelButtonLabel',\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n }\n}\n"," \n
{{ 'pages.landingpage.title' | translate }}
\n \n\n
\n \n
\n
\n
\n \n \n
\n\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { UserItem } from './user.model';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\nimport {DashboardItem} from './dashboard.model';\nimport {ProjektItem} from '../projektverwaltung/projekt.model';\n\ntype Dashboard = CollectionApiResponse;\ntype Projekte = CollectionApiResponse;\n\n@Injectable()\nexport class DashboardService {\n /**\n * Constructor of address service\n *\n * @param http - The http client\n */\n constructor(private http: HttpClient) {}\n\n /**\n * Returns a list of addresses\n *\n * @returns - An observable that emits the response\n */\n public getDashboardItem(userId: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/getDashboard.php?${sessionStorage.getItem('session')}`) as Observable<\n Dashboard\n >;\n }\n\n public deleteDashboard(dashboardItem: DashboardItem): Observable {\n\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/deleteDashboard.php?dashboardId=${dashboardItem.id}&${sessionStorage.getItem('session')}`) as Observable<\n DashboardItem\n >;\n }\n\n public startTime(dashboardItem: DashboardItem): Observable {\n\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/startTime.php?${sessionStorage.getItem('session')}`, dashboardItem) as Observable<\n DashboardItem\n >;\n }\n\n public continueTime(dashboardItem: DashboardItem): Observable {\n\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/continueTime.php?${sessionStorage.getItem('session')}`, dashboardItem) as Observable<\n DashboardItem\n >;\n }\n\n public pauseTime(dashboardItem: DashboardItem): Observable {\n\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/pauseTime.php?${sessionStorage.getItem('session')}`, dashboardItem) as Observable<\n DashboardItem\n >;\n }\n\n public stopTime(dashboardItem: DashboardItem): Observable {\n\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/stopTime.php?${sessionStorage.getItem('session')}`, dashboardItem) as Observable<\n DashboardItem\n >;\n }\n\n public addDashboard(dashboardItem: DashboardItem): Observable {\n\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/addDashboard.php?${sessionStorage.getItem('session')}`, dashboardItem) as Observable<\n DashboardItem\n >;\n }\n\n public checkDashboard(): Observable {\n\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/checkDashboard.php?${sessionStorage.getItem('session')}`) as Observable<\n DashboardItem\n >;\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\nimport { MatTableModule } from '@angular/material/table';\nimport { CommonModule } from '@angular/common';\nimport {MatToolbar, MatToolbarModule} from '@angular/material/toolbar';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatListModule } from '@angular/material/list';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MAT_DATE_LOCALE, MatNativeDateModule } from '@angular/material/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatSortModule } from '@angular/material/sort';\nimport { landingpageReducer } from './store/reducer/landingpage.reducer';\nimport { UserService } from './user.service';\nimport { UserEffects } from './store/effects/user.effects';\nimport {LandingpagePageComponent} from './components/landing-page/landingpage-page.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {LandingCardComponent} from './components/landing-card/landing-card.component';\nimport {DashboardEffects} from './store/effects/dashboard.effects';\nimport {DashboardService} from './dashboard.service';\nimport {AddButtonFormdialogComponent} from './components/addButton-form-dialog/addButton-formdialog.component';\nimport { ColorPickerModule } from 'ngx-color-picker';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {ZeiterfassungPageComponentModule} from '@src/app/pages/Zeiterfassung/zeiterfassung.module';\nimport {SharedModule} from '@src/app/shared.module';\n\n@NgModule({\n imports: [\n StoreModule.forFeature('landingpage', landingpageReducer),\n EffectsModule.forFeature([UserEffects, DashboardEffects]),\n MatTableModule,\n CommonModule,\n TranslateModule,\n MatToolbarModule,\n FlexLayoutModule,\n MatListModule,\n MatCardModule,\n MatMenuModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n ReactiveFormsModule,\n MatSortModule,\n ColorPickerModule,\n MatTooltipModule,\n TooltipModule,\n MatRadioModule,\n ZeiterfassungPageComponentModule,\n SharedModule,\n ],\n providers: [UserService, DashboardService],\n declarations: [\n LandingpagePageComponent,\n LandingCardComponent,\n AddButtonFormdialogComponent,\n ],\n})\nexport class LandingpageModule {}\n","import { createAction, props } from '@ngrx/store';\nimport {DashboardItem} from '../../dashboard.model';\n\nexport const addDashboardStart = createAction('LANDINGPAGE::ADD_DASHBOARD_START', props<{ item: DashboardItem }>());\nexport const addDashboardSucceeded = createAction(\n 'LANDINGPAGE::ADD_DASHBOARD_SUCCEEDED', props<{ item: DashboardItem }>()\n);\nexport const addDashboardFailed = createAction('LANDINGPAGE::ADD_DASHBOARD_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {DashboardItem} from '../../dashboard.model';\n\nexport const checkDashboardStart = createAction('LANDINGPAGE::CHECK_DASHBOARD_START');\nexport const checkDashboardSucceeded = createAction(\n 'LANDINGPAGE::CHECK_DASHBOARD_SUCCEEDED'\n);\nexport const checkDashboardFailed = createAction('LANDINGPAGE::CHECK_DASHBOARD_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {DashboardItem} from '../../dashboard.model';\n\nexport const continueTimeDashboardStart = createAction('LANDINGPAGE::CONTINUETIME_DASHBOARD_START', props<{ item: DashboardItem }>());\nexport const continueTimeDashboardSucceeded = createAction(\n 'LANDINGPAGE::CONTINUETIME_DASHBOARD_SUCCEEDED', props<{ item: DashboardItem }>()\n);\nexport const continueTimeDashboardFailed = createAction('LANDINGPAGE::CONTINUETIME_DASHBOARD_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {DashboardItem} from '../../dashboard.model';\n\nexport const deleteDashboardStart = createAction('LANDINGPAGE::DELETE_DASHBOARD_START', props<{ item: DashboardItem }>());\nexport const deleteDashboardSucceeded = createAction(\n 'LANDINGPAGE::DELETE_DASHBOARD_SUCCEEDED'\n);\nexport const deleteDashboardFailed = createAction('LANDINGPAGE::DELETE_DASHBOARD_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {DashboardItem} from '../../dashboard.model';\n\nexport const pauseTimeDashboardStart = createAction('LANDINGPAGE::PAUSETIME_DASHBOARD_START', props<{ item: DashboardItem }>());\nexport const pauseTimeDashboardSucceeded = createAction(\n 'LANDINGPAGE::PAUSETIME_DASHBOARD_SUCCEEDED', props<{ item: DashboardItem }>()\n);\nexport const pauseTimeDashboardFailed = createAction('LANDINGPAGE::PAUSETIME_DASHBOARD_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {DashboardItem} from '../../dashboard.model';\n\nexport const startTimeDashboardStart = createAction('LANDINGPAGE::STARTTIME_DASHBOARD_START', props<{ item: DashboardItem }>());\nexport const startTimeDashboardSucceeded = createAction(\n 'LANDINGPAGE::STARTTIME_DASHBOARD_SUCCEEDED', props<{ item: DashboardItem }>()\n);\nexport const startTimeDashboardFailed = createAction('LANDINGPAGE::STARTTIME_DASHBOARD_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {DashboardItem} from '../../dashboard.model';\n\nexport const stopTimeDashboardStart = createAction('LANDINGPAGE::STOPTIME_DASHBOARD_START', props<{ item: DashboardItem }>());\nexport const stopTimeDashboardSucceeded = createAction(\n 'LANDINGPAGE::STOPTIME_DASHBOARD_SUCCEEDED', props<{ item: DashboardItem }>()\n);\nexport const stopTimeDashboardFailed = createAction('LANDINGPAGE::STOPTIME_DASHBOARD_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { UserItem } from '../../user.model';\nimport {DashboardItem} from '../../dashboard.model';\n\nexport const loadDashboardStart = createAction('LANDINGPAGE::LOAD_DASHBOARD_START', props<{userId: number}>());\nexport const loadDashboardSucceeded = createAction(\n 'LANDINGPAGE::LOAD_DASHBOARD_SUCCEEDED',\n props<{ dashboard: DashboardItem[] }>(),\n);\nexport const loadDashboardFailed = createAction('LANDINGPAGE::LOAD_DASHBOARD_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { UserItem } from '../../user.model';\n\nexport const loadUserStart = createAction('LANDINGPAGE::LOAD_USER_START' ,\n props<{ email: string }>(),\n );\nexport const loadUserSucceeded = createAction(\n 'LANDINGPAGE::LOAD_USER_SUCCEEDED',\n props<{ item: UserItem }>(),\n);\nexport const loadUserFailed = createAction('LANDINGPAGE::LOAD_USER_FAILED', props<{ error: Error }>());\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport {catchError, map, mergeMap, tap} from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { loadUserFailed, loadUserStart, loadUserSucceeded } from '../actions/getUser.actions';\nimport {UserService} from '../../user.service';\nimport {stringify} from '@angular/compiler/src/util';\nimport {DashboardService} from '../../dashboard.service';\nimport {loadDashboardFailed, loadDashboardStart, loadDashboardSucceeded} from '../actions/getDashboard.actions';\nimport {deleteDashboardFailed, deleteDashboardStart, deleteDashboardSucceeded} from '../actions/dashboard-del.actions';\nimport {startTimeDashboardFailed, startTimeDashboardStart, startTimeDashboardSucceeded} from '../actions/dashboard-startTime.actions';\nimport {stopTimeDashboardFailed, stopTimeDashboardStart, stopTimeDashboardSucceeded} from '../actions/dashboard-stopTime.actions';\nimport {addDashboardFailed, addDashboardStart, addDashboardSucceeded} from '../actions/dashboard-add.actions';\nimport {checkDashboardFailed, checkDashboardStart, checkDashboardSucceeded} from \"../actions/dashboard-check.actions\";\nimport {\n pauseTimeDashboardFailed,\n pauseTimeDashboardStart,\n pauseTimeDashboardSucceeded\n} from '@src/app/pages/landingpage/store/actions/dashboard-pauseTime.actions';\nimport {\n continueTimeDashboardFailed,\n continueTimeDashboardStart,\n continueTimeDashboardSucceeded\n} from '@src/app/pages/landingpage/store/actions/dashboard-continueTime.actions';\n\n@Injectable()\nexport class DashboardEffects {\n /**\n * Loads the address list when dispatching the start action\n */\n public loadDashboard$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadDashboardStart),\n mergeMap((userId) =>\n this.dashboardService.getDashboardItem(userId.userId).pipe(\n map((response) => loadDashboardSucceeded({ dashboard: response.data })),\n catchError((e) => of(loadDashboardFailed(e))),\n ),\n ),\n ),\n );\n\n public deleteDashboard$ = createEffect(() =>\n this.actions$.pipe(\n ofType(deleteDashboardStart),\n mergeMap((dashboard) =>\n this.dashboardService.deleteDashboard(dashboard.item).pipe(\n // tslint:disable-next-line:radix\n mergeMap((response) => of( deleteDashboardSucceeded(), loadDashboardStart({userId: parseInt(sessionStorage.getItem('userId'))}))),\n catchError((e) => of(deleteDashboardFailed(e))),\n ),\n ),\n ),\n );\n\n public startTimeDashboard$ = createEffect(() =>\n this.actions$.pipe(\n ofType(startTimeDashboardStart),\n mergeMap((dashboard) =>\n this.dashboardService.startTime(dashboard.item).pipe(\n // tslint:disable-next-line:radix max-line-length\n mergeMap((response) => of( startTimeDashboardSucceeded({item: response}), loadDashboardStart({userId: parseInt(sessionStorage.getItem('userId'))}))),\n catchError((e) => of(startTimeDashboardFailed(e))),\n ),\n ),\n ),\n );\n\n public continueTimeDashboard$ = createEffect(() =>\n this.actions$.pipe(\n ofType(continueTimeDashboardStart),\n mergeMap((dashboard) =>\n this.dashboardService.continueTime(dashboard.item).pipe(\n // tslint:disable-next-line:radix max-line-length\n mergeMap((response) => of( continueTimeDashboardSucceeded({item: response}), loadDashboardStart({userId: parseInt(sessionStorage.getItem('userId'))}))),\n catchError((e) => of(continueTimeDashboardFailed(e))),\n ),\n ),\n ),\n );\n\n public pauseTimeDashboard$ = createEffect(() =>\n this.actions$.pipe(\n ofType(pauseTimeDashboardStart),\n mergeMap((dashboard) =>\n this.dashboardService.pauseTime(dashboard.item).pipe(\n // tslint:disable-next-line:radix max-line-length\n mergeMap((response) => of( pauseTimeDashboardSucceeded({item: response}), loadDashboardStart({userId: parseInt(sessionStorage.getItem('userId'))}))),\n catchError((e) => of(pauseTimeDashboardFailed(e))),\n ),\n ),\n ),\n );\n\n public stopTimeDashboard$ = createEffect(() =>\n this.actions$.pipe(\n ofType(stopTimeDashboardStart),\n mergeMap((dashboard) =>\n this.dashboardService.stopTime(dashboard.item).pipe(\n // tslint:disable-next-line:radix max-line-length\n mergeMap((response) => of( stopTimeDashboardSucceeded({item: response}), loadDashboardStart({userId: parseInt(sessionStorage.getItem('userId'))}))),\n catchError((e) => of(stopTimeDashboardFailed(e))),\n ),\n ),\n ),\n );\n\n public addDashboard$ = createEffect(() =>\n this.actions$.pipe(\n ofType(addDashboardStart),\n mergeMap((dashboard) =>\n this.dashboardService.addDashboard(dashboard.item).pipe(\n // tslint:disable-next-line:radix\n mergeMap((response) => of( addDashboardSucceeded({item: response}), loadDashboardStart({userId: parseInt(sessionStorage.getItem('userId'))}))),\n catchError((e) => of(addDashboardFailed(e)\n )),\n ),\n ),\n ),\n );\n\n public checkDashboard$ = createEffect(() =>\n this.actions$.pipe(\n ofType(checkDashboardStart),\n mergeMap((dashboard) =>\n this.dashboardService.checkDashboard().pipe(\n // tslint:disable-next-line:radix\n mergeMap((response) => of( checkDashboardSucceeded())),\n catchError((e) => of(checkDashboardFailed(e))),\n ),\n ),\n ),\n );\n\n\n /**\n * Constructor of address effects\n *\n * @param actions$ - The action observable\n * @param userService\n */\n constructor(private actions$: Actions, private dashboardService: DashboardService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport {catchError, map, mergeMap, tap} from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { loadUserFailed, loadUserStart, loadUserSucceeded } from '../actions/getUser.actions';\nimport {UserService} from '../../user.service';\nimport {stringify} from '@angular/compiler/src/util';\nimport {loadFirmaStart} from \"../../../Mitarbeiterverwaltung/store/actions/getFirma.actions\";\nimport {loadUserRollenStart} from '../../../Mitarbeiterverwaltung/store/actions/getUserRollen.actions';\nimport {loadRollenStart} from '../../../Mitarbeiterverwaltung/store/actions/rolle.actions';\n\n@Injectable()\nexport class UserEffects {\n /**\n * Loads the address list when dispatching the start action\n */\n public loadUser$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadUserStart),\n mergeMap((email) =>\n this.userService.getUser(email.email).pipe(\n tap((item) => sessionStorage.setItem('firmaId', item.firmaId.toString())),\n tap((item) => sessionStorage.setItem('userId', item.id.toString())),\n tap((item) => sessionStorage.setItem('email', item.email.toString())),\n tap((item) => sessionStorage.setItem('rolleId', item.rolleId.toString())),\n tap((item) => sessionStorage.setItem('session', item.session.toString())),\n mergeMap((response) => of(\n loadUserSucceeded({ item: response }),\n loadFirmaStart(),\n loadUserRollenStart(),\n loadRollenStart(),\n ),\n ),\n catchError((e) => of(loadUserFailed(e))),\n ),\n ),\n ),\n );\n\n /**\n * Constructor of address effects\n *\n * @param actions$ - The action observable\n * @param addressesService - The address service\n */\n constructor(private actions$: Actions, private userService: UserService) {}\n}\n","import { createReducer, on } from '@ngrx/store';\nimport {loadUserSucceeded, loadUserStart, loadUserFailed} from '../actions/getUser.actions';\nimport { UserItem } from '../../user.model';\nimport {NodeItem} from '../../../projektverwaltung/node.model';\nimport {DashboardItem} from '../../dashboard.model';\nimport {loadDashboardFailed, loadDashboardStart, loadDashboardSucceeded} from '../actions/getDashboard.actions';\nimport {startTimeDashboardFailed, startTimeDashboardStart, startTimeDashboardSucceeded} from '../actions/dashboard-startTime.actions';\nimport {stopTimeDashboardFailed, stopTimeDashboardStart, stopTimeDashboardSucceeded} from '../actions/dashboard-stopTime.actions';\nimport {addDashboardFailed, addDashboardStart, addDashboardSucceeded} from '../actions/dashboard-add.actions';\nimport {ProjektItem} from '../../../projektverwaltung/projekt.model';\nimport {checkDashboardFailed, checkDashboardStart, checkDashboardSucceeded} from \"../actions/dashboard-check.actions\";\nimport {MenuItem} from '../../../../ui-components/nav-bar/nav-bar.component';\nimport {\n pauseTimeDashboardFailed,\n pauseTimeDashboardStart,\n pauseTimeDashboardSucceeded\n} from '@src/app/pages/landingpage/store/actions/dashboard-pauseTime.actions';\nimport {\n continueTimeDashboardFailed,\n continueTimeDashboardStart,\n continueTimeDashboardSucceeded\n} from '@src/app/pages/landingpage/store/actions/dashboard-continueTime.actions';\n\nexport interface State {\n isLoading: boolean;\n items: UserItem;\n menu: MenuItem[];\n dashboards: {\n items: DashboardItem[];\n };\n projektstufen: {\n items: ProjektItem[];\n };\n}\n\nexport const initialState: State = {\n isLoading: false,\n // Vorlage für den eingeloggten User\n // tslint:disable-next-line:max-line-length\n items: {id: null, email: null, firmaId: null, rolleId: null, vorname: null, name: null, anrede: null, geburtstag: null, passwort: null, mobile: null, rolle: null, ferientage: null, anstellungprozent: null, ort: null, plz: null, str1: null, str2: null, session: null},\n menu: [],\n dashboards: {\n items: [],\n },\n projektstufen: {\n items: [],\n },\n};\n\nconst ons = [\n on(loadUserStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadUserSucceeded, (state: State, action) => ({\n ...state,\n isLoading: false,\n items: action.item,\n })),\n\n on(loadUserFailed, (state: State) => ({ ...state, isLoading: false })),\n\n on(loadDashboardStart, (state: State) => ({ ...state, isLoading: true })),\n on(loadDashboardFailed, (state: State) => ({ ...state, isLoading: false })),\n on(loadDashboardSucceeded, (state: State, action) => ({\n ...state,\n isLoading: false,\n dashboards: {\n ...state.dashboards,\n items: action.dashboard,\n },\n })),\n on(startTimeDashboardStart, (state: State) => ({ ...state, isLoading: true })),\n on(startTimeDashboardSucceeded, (state: State) => ({ ...state, isLoading: false })),\n on(startTimeDashboardFailed, (state: State) => ({ ...state, isLoading: false })),\n on(continueTimeDashboardStart, (state: State) => ({ ...state, isLoading: true })),\n on(continueTimeDashboardSucceeded, (state: State) => ({ ...state, isLoading: false })),\n on(continueTimeDashboardFailed, (state: State) => ({ ...state, isLoading: false })),\n on(pauseTimeDashboardStart, (state: State) => ({ ...state, isLoading: true })),\n on(pauseTimeDashboardSucceeded, (state: State) => ({ ...state, isLoading: false })),\n on(pauseTimeDashboardFailed, (state: State) => ({ ...state, isLoading: false })),\n on(stopTimeDashboardStart, (state: State) => ({ ...state, isLoading: true })),\n on(stopTimeDashboardSucceeded, (state: State) => ({ ...state, isLoading: false })),\n on(stopTimeDashboardFailed, (state: State) => ({ ...state, isLoading: false })),\n on(addDashboardStart, (state: State) => ({ ...state, isAddingFirma: true })),\n on(addDashboardFailed, (state: State) => ({ ...state, isAddingFirma: false })),\n on(addDashboardSucceeded, (state: State) => ({ ...state, isAddingFirma: false })),\n on(checkDashboardStart, (state: State) => ({ ...state, isAddingFirma: true })),\n on(checkDashboardSucceeded, (state: State) => ({ ...state, isAddingFirma: false })),\n on(checkDashboardFailed, (state: State) => ({ ...state, isAddingFirma: false })),\n];\n\nexport const landingpageReducer = createReducer(initialState, ...ons);\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { UserItem } from './user.model';\n\n\n\n@Injectable()\nexport class UserService {\n /**\n * Constructor of address service\n *\n * @param http - The http client\n */\n constructor(private http: HttpClient) {}\n\n /**\n * Returns a list of addresses\n *\n * @returns - An observable that emits the response\n */\n public getUser(email: string): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/landingpage/getUser.php?email=${email}&${sessionStorage.getItem('session')}`) as Observable<\n UserItem\n >;\n }\n\n}\n","import {\n AfterViewInit,\n\n Component,\n EventEmitter,\n Input, OnInit,\n\n Output,\n\n} from '@angular/core';\nimport {MatTable, MatTableDataSource} from '@angular/material/table';\nimport {state, style, trigger, transition, animate} from '@angular/animations';\nimport {select, Store} from '@ngrx/store';\nimport {ProjektState} from '../../store/reducer/projektverwaltung.reducer';\nimport {NodeItem} from '../../node.model';\nimport {pasteProjektStart} from '../../store/actions/projekt-paste.actions';\nimport {loadCopyNodesStart} from '../../store/actions/getCopyNodes.actions';\nimport {HttpClient} from '@angular/common/http';\nimport {Router} from '@angular/router';\nimport {Security} from '../../../../security';\nimport {Observable} from 'rxjs';\n\n\n@Component({\n selector: 'app-expandable-projekt-table',\n templateUrl: './projekt-expandable-table.component.html',\n styleUrls: ['./projekt-expandable-table.component.scss'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({ height: '0px', minHeight: '0' })),\n state('expanded', style({ height: '*' })),\n transition('expanded <=> collapsed', animate('500ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class ProjektExpandableTableComponent implements OnInit {\n\n\n constructor(\n private store: Store<{ projektverwaltung: ProjektState }>, public http: HttpClient, public router: Router, public security: Security)\n {\n // this.$nodes = store.pipe(select((state) => state.projektverwaltung.nodes.items));\n\n }\n\n public showFunctions: boolean;\n public dataSource = new MatTableDataSource();\n columnsToDisplay = ['name', 'nummer', 'plz', 'ort', 'start', 'ende'];\n AllColumnsToDisplay = [ 'name', 'nummer', 'plz', 'ort', 'start', 'ende', 'actions'];\n columnsunter = ['name', 'nummer', 'plz', 'ort', 'start', 'ende'];\n columnsUnterprojekt = ['name', 'nummer', 'plz', 'ort', 'start', 'ende', 'actions'];\n arrOpen = [];\n isPasteable: boolean;\n\n @Output()\n public archiveProjekt = new EventEmitter();\n\n @Output()\n public dearchiveProjekt = new EventEmitter();\n\n @Output()\n public deleteProjekt = new EventEmitter();\n\n @Output()\n public editProjekt = new EventEmitter();\n\n @Output()\n public editProjektstufe = new EventEmitter();\n\n @Output()\n public addProjektstufe = new EventEmitter();\n\n @Input()\n copyNodes: NodeItem[] = [];\n\n public copyArray: NodeItem[];\n\n @Input()\n public set projekte(projekte: NodeItem[]) {\n console.log(projekte);\n this.dataSource.data = projekte;\n this.buildTree();\n\n\n\n // this.arrOpen[0] = projekte[3];\n // this.buildTree();\n }\n\n public buildTree(): void{\n this.copyArray = this.arrOpen.slice();\n this.arrOpen.length = 0;\n for (let i = 0; i <= this.copyArray.length; ++i) {\n this.toggle(this.copyArray[i]);\n }\n }\n\n public ngOnInit(): void {\n this.security.checkLogin('2001').subscribe(\n x => {\n console.log(x);\n this.showFunctions = x;\n\n });\n }\n\n public copyProjektstufe(projekt: NodeItem): void{ // set Session with ProjektID, falls Projektid gesetzt ist kann man einfügen\n this.store.dispatch(loadCopyNodesStart({item: projekt}));\n }\n\n public pasteProjektstufe(projekt: NodeItem): void{\n this.store.dispatch(pasteProjektStart({item: projekt, copyNodes: this.copyNodes}));\n }\n\n public toggle(element: NodeItem): void{\n if ( element?.children[0]?.name === undefined){\n return;\n }\n else if (this.arrOpen[element.level]?.id === element?.id){\n this.arrOpen.splice(parseInt(element.level, 10));\n this.arrOpen[element.level] = null;\n return;\n }\n this.arrOpen.splice(parseInt(element.level, 10));\n this.arrOpen[element.level] = !element.children[0]?.name ? null : element;\n }\n}\n\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n
{{'pages.projektverwaltung.table.' + 'nummer' | translate}} \n {{element['nummer']}}\n {{'pages.projektverwaltung.table.' + 'name' | translate}} \n {{element['name']}}\n {{'pages.projektverwaltung.table.' + 'plz' | translate}} \n {{element['plz']}}\n {{'pages.projektverwaltung.table.' + 'ort' | translate}} \n {{element['ort']}}\n {{'pages.projektverwaltung.table.' + 'start' | translate}} \n {{element['start'] | date:'dd.MM.yyyy'}}\n {{'pages.projektverwaltung.table.' + 'ende' | translate}} \n {{element['ende'] | date:'dd.MM.yyyy'}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n \n\n\n \n \n
{{'pages.projektverwaltung.table.' + 'nummer' | translate}} \n {{element['nummer']}}\n {{'pages.projektverwaltung.table.' + 'name' | translate}} \n {{element['name']}}\n {{'pages.projektverwaltung.table.' + 'plz' | translate}} \n {{element['plz']}}\n {{'pages.projektverwaltung.table.' + 'ort' | translate}} \n {{element['ort']}}\n {{'pages.projektverwaltung.table.' + 'start' | translate}} \n {{element['start'] | date:'dd.MM.yyyy'}}\n {{'pages.projektverwaltung.table.' + 'ende' | translate}} \n {{element['ende'] | date:'dd.MM.yyyy'}}\n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n
\n
\n\n\n\n {{element[column]}}\n\n\n {{element[column] | date:'dd.MM.yyyy'}}\n\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {editProjektStart} from '../../store/actions/projekt-edit.actions';\nimport {addProjektStart} from '../../store/actions/projekt-add.actions';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport * as moment from 'moment';\nimport {select, Store} from '@ngrx/store';\nimport {ProjektState} from '../../store/reducer/projektverwaltung.reducer';\nimport {MatDialog} from '@angular/material/dialog';\nimport {getFilteredProjektStart} from '../../store/actions/getFilteredProjekt.actions';\nimport {loadProjekteStart} from '../../store/actions/getAllProjekte.actions';\nimport {loadNodesStart} from '../../store/actions/getAllNodes.actions';\n\n@Component({\n selector: 'app-projekt-filter',\n templateUrl: './projekt-filter.component.html',\n styleUrls: ['./projekt-filter.component.scss'],\n})\nexport class ProjektFilterComponent {\n\n constructor(private store: Store<{ projektverwaltung: ProjektState }>, public dialog: MatDialog) {\n }\n\n public filterForm = new FormGroup({\n suche: new FormControl(''),\n datumVon: new FormControl(''),\n datumBis: new FormControl(''),\n archiv: new FormControl(''),\n });\n\n\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n\n public search(checked: boolean): void{\n if(checked){\n this.store.dispatch(loadNodesStart({archiv: 1}));\n }\n else{\n this.store.dispatch(loadNodesStart({archiv: 0}));\n }\n\n /* let searchString = '';\n\n // Suche ausgefüllt\n if (this.filterForm.value.suche){\n searchString += 'search';\n }\n // Datum ausgefüllt\n if (this.filterForm.value.datumBis && this.filterForm.value.datumVon){\n searchString += 'beideDatum';\n this.filterForm.value.datumVon = this.wandler(this.filterForm.value.datumVon);\n this.filterForm.value.datumBis = this.wandler(this.filterForm.value.datumBis);\n }\n else if (this.filterForm.value.datumBis){\n searchString += 'bisDatum';\n this.filterForm.value.datumBis = this.wandler(this.filterForm.value.datumBis);\n }\n else if (this.filterForm.value.datumVon){\n searchString += 'vonDatum';\n this.filterForm.value.datumVon = this.wandler(this.filterForm.value.datumVon);\n }\n\n if (this.filterForm.value.archiv){\n searchString += 'check';\n }\n if (searchString.length === 0 ){\n this.store.dispatch(loadNodesStart());\n }\n else if (searchString === '.'){\n return;\n }\n else {\n this.store.dispatch(getFilteredProjektStart({string: searchString, item: this.filterForm.value}));\n }*/\n }\n}\n","\n
\n \n \n {{ 'pages.projektverwaltung.filter.archiv' | translate }}\n \n\n\n","import {Component, Inject, OnInit, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {select, Store} from '@ngrx/store';\nimport {ProjektState} from '../../store/reducer/projektverwaltung.reducer';\nimport {Observable} from 'rxjs';\nimport * as moment from 'moment';\nimport {editMitarbeiterStart} from '../../../Mitarbeiterverwaltung/store/actions/mitarbeiter-edit.actions';\nimport {addMitarbeiterStart} from '../../../Mitarbeiterverwaltung/store/actions/mitarbeiter-add.actions';\nimport {addProjektStart} from '../../store/actions/projekt-add.actions';\nimport {editProjektStart} from '../../store/actions/projekt-edit.actions';\nimport {loadAllMitarbeiterStart} from '../../../Mitarbeiterverwaltung/store/actions/getAllMitarbeiter.actions';\nimport {AnredeItem} from '../../../Mitarbeiterverwaltung/anrede.model';\nimport {MitarbeiterItem} from '../../../Mitarbeiterverwaltung/mitarbeiter.model';\nimport {State} from '../../../Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\nimport {editProjektstufeStart} from '../../store/actions/projektstufe-edit.actions';\nimport {addProjektstufeStart} from '../../store/actions/projektstufe-add.actions';\nimport {MatOption} from '@angular/material/core';\nimport {MatSelect} from '@angular/material/select';\n\nexport interface DialogData{\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n nummer: string;\n name: string;\n start: string;\n ende: string;\n ort: string;\n plz: string;\n str1: string;\n str2: string;\n beschreibung: string;\n auftraggeber: string;\n abteilung: string;\n level: number;\n prjprj: number;\n mitarbeiter: MitarbeiterItem[];\n verrechnen: string;\n}\n\n@Component({\n selector: 'app-projekt-formdialog',\n templateUrl: './projekt-formdialog.component.html',\n styleUrls: ['./projekt-formdialog.component.scss']\n})\n\nexport class ProjektFormdialogComponent implements OnInit {\n\n public allSelected = false;\n @ViewChild('mySel') private skillSel: MatSelect;\n public $mitarbeiter: Observable;\n public showDetails = false;\n // tslint:disable-next-line:variable-name\n public last_selection = null;\n\n\n private endeDatum;\n private startDatum;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private mitarbeiter: Store<{ mitarbeiterverwaltung: State }>,\n private store: Store<{ projektverwaltung: ProjektState }>\n ) {\n dialogRef.disableClose = true;\n this.$mitarbeiter = mitarbeiter.pipe(select((state) => state.mitarbeiterverwaltung.items));\n // tslint:disable-next-line:triple-equals\n if (data.ende == ''){\n this.endeDatum = null;\n }\n else{\n this.endeDatum = moment(data.ende).format('YYYY-MM-DD');\n }\n // tslint:disable-next-line:triple-equals\n if (data.start == ''){\n this.startDatum = null;\n }\n else{\n this.startDatum = moment(data.start).format('YYYY-MM-DD');\n }\n this.projektForm.patchValue({\n id: data.id,\n name: data.name,\n nummer: data.nummer,\n start: this.startDatum,\n ende: this.endeDatum,\n ort: data.ort,\n plz: data.plz,\n str1: data.str1,\n str2: data.str2,\n mitarbeiter: data.mitarbeiter,\n prjprj: data.prjprj,\n level: data.level,\n abteilung: data.abteilung,\n auftraggeber: data.auftraggeber,\n beschreibung: data.beschreibung,\n verrechnen: data.verrechnen\n });\n }\n\n public projektForm = new FormGroup({\n name: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n nummer: new FormControl('', [Validators.maxLength(255)]),\n start: new FormControl('', [Validators.maxLength(255)]),\n ende: new FormControl('', [Validators.maxLength(255)]),\n ort: new FormControl('', [ Validators.maxLength(255), Validators.pattern('[a-zA-Z áéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ]*')]),\n plz: new FormControl('', [Validators.min(1000), Validators.maxLength(255), Validators.pattern('^[0-9]*$')]),\n str1: new FormControl('', [Validators.maxLength(255)]),\n mitarbeiter: new FormControl(''),\n str2: new FormControl('', [Validators.maxLength(255)]),\n beschreibung: new FormControl('', [Validators.maxLength(255)]),\n auftraggeber: new FormControl('', [Validators.maxLength(255)]),\n abteilung: new FormControl('', [Validators.maxLength(255)]),\n id: new FormControl(''),\n level: new FormControl(''),\n prjprj: new FormControl(''),\n verrechnen: new FormControl('' ),\n });\n\n public wandler(datum: any): any {\n // tslint:disable-next-line:triple-equals\n if (datum == undefined){\n return null;\n }\n const dwD = datum.toLocaleString( 'en-US', {timezone: 'utc'} );\n const backendDat = moment(dwD).format('YYYY-MM-DD');\n return backendDat;\n }\n\n public handleSubmitClick(): void{\n this.projektForm.value.start = this.wandler(this.projektForm.value.start);\n this.projektForm.value.ende = this.wandler(this.projektForm.value.ende);\n const item = this.projektForm.value;\n\n if (this.data.level){\n if (this.data.id) {\n this.store.dispatch(editProjektStart({item}));\n } else {\n this.store.dispatch(addProjektstufeStart({item}));\n }\n }\n // Projektstufe 0 hier\n else {\n if (this.data.id) {\n this.store.dispatch(editProjektStart({item}));\n } else {\n this.store.dispatch(addProjektStart({item}));\n }\n }\n\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public getErrorMessage(formField: string): string {\n const formControl = this.projektForm.get(formField);\n if ( formControl.hasError('required')){\n return `pages.projektverwaltung.projektDialog.err.${formField}.pflichtfeld`;\n }\n else if ( formControl.hasError('maxlength')){\n return `pages.projektverwaltung.projektDialog.err.${formField}.maxlength`;\n }\n else if ( formControl.hasError('min')){\n return `pages.projektverwaltung.projektDialog.err.${formField}.min`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.projektverwaltung.projektDialog.err.${formField}.pattern`;\n }\n return 'pages.projektverwaltung.projektDialog.err.generic';\n }\n\n ngOnInit(): void {\n this.store.dispatch(loadAllMitarbeiterStart({string: sessionStorage.getItem('firmaId')}));\n if (this.data.nummer || this.data.str1 || this.data.str2 || this.data.plz || this.data.ort || this.data.start || this.data.ende || this.data.auftraggeber || this.data.beschreibung || this.data.abteilung ){\n this.showDetails = true;\n }\n }\n\n toggleAllSelection(): void {\n this.allSelected = !this.allSelected; // to control select-unselect\n\n if (this.allSelected) {\n this.skillSel.options.forEach( (item: MatOption) => { item.select(); });\n } else {\n this.skillSel.options.forEach( (item: MatOption) => {item.deselect(); });\n }\n }\n\n okClicked(): void {\n this.last_selection = this.projektForm.controls.mitarbeiter.value;\n this.skillSel.close();\n }\n\n\n}\n","

{{ data.title | translate }}

\n\n\n\n
\n\n
\n\n\n \n {{ 'pages.projektverwaltung.projektDialog.name' | translate }}\n \n {{ getErrorMessage('name') | translate }}\n \n\n \n {{ 'pages.projektverwaltung.projektDialog.mitarbeiter' | translate }}\n \n Alle\n \n {{mitarbeiter.name + \" \" + mitarbeiter.vorname + \" \" + mitarbeiter.plz + \" \" + mitarbeiter.ort }}\n \n
\n \n {{ data.submitButtonLabel | translate }}\n \n
\n
\n
\n
\n \n\n
\n \n {{ 'pages.projektverwaltung.projektDialog.adr1' | translate }}\n \n {{ getErrorMessage('str1') | translate }}\n \n \n {{ 'pages.projektverwaltung.projektDialog.adr2' | translate }}\n \n {{ getErrorMessage('str2') | translate }}\n
\n
\n \n {{ 'pages.projektverwaltung.projektDialog.plz' | translate }}\n \n {{ getErrorMessage('plz') | translate }}\n \n \n {{ 'pages.projektverwaltung.projektDialog.ort' | translate }}\n \n {{ getErrorMessage('ort') | translate }}\n \n
\n
\n \n {{ 'pages.projektverwaltung.projektDialog.start' | translate }}\n \n \n \n \n \n \n {{ 'pages.projektverwaltung.projektDialog.ende' | translate }}\n \n \n \n \n \n \n {{ 'pages.projektverwaltung.projektDialog.nummer' | translate }}\n \n {{ getErrorMessage('nummer') | translate }}\n \n \n {{ 'pages.projektverwaltung.projektDialog.beschreibung' | translate }}\n \n {{ getErrorMessage('beschreibung') | translate }}\n \n \n {{ 'pages.projektverwaltung.projektDialog.auftraggeber' | translate }}\n \n {{ getErrorMessage('auftraggeber') | translate }}\n \n \n {{ 'pages.projektverwaltung.projektDialog.abteilung' | translate }}\n \n {{ getErrorMessage('abteilung') | translate }}\n \n \n {{ 'pages.timeDialog.verrechnen' | translate }}\n {{ 'pages.timeDialog.niverbar' | translate }}\n \n
\n
\n
\n \n {{ 'pages.projektverwaltung.projektDialog.showDetails' | translate }}\n \n\n \n {{ 'pages.timeDialog.verrechnen' | translate }}\n {{ 'pages.timeDialog.niverbar' | translate }}\n \n\n
\n\n\n
\n\n
\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n\n","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\nimport {select, Store} from '@ngrx/store';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport {loadProjekteStart} from '../../store/actions/getAllProjekte.actions';\nimport {ProjektItem} from '../../projekt.model';\nimport {Observable} from 'rxjs';\nimport { ProjektState } from '../../store/reducer/projektverwaltung.reducer';\nimport {MitarbeiterFormdialogComponent} from '../../../Mitarbeiterverwaltung/components/mitarbeiter-form-dialog/mitarbeiter-formdialog.component';\nimport {ProjektFormdialogComponent} from '../projekt-form-dialog/projekt-formdialog.component';\nimport {MitarbeiterItem} from '../../../Mitarbeiterverwaltung/mitarbeiter.model';\nimport {deleteMitarbeiterStart} from '../../../Mitarbeiterverwaltung/store/actions/mitarbeiter-del.actions';\nimport {deleteProjektStart} from '../../store/actions/projekt-del.actions';\nimport {NodeItem} from '../../node.model';\nimport {addProjektstufeStart} from '../../store/actions/projektstufe-add.actions';\nimport {loadNodesStart} from '../../store/actions/getAllNodes.actions';\nimport {archiveProjektStart} from '../../store/actions/projekt-archive.actions';\nimport {ProjektStufeFormdialogComponent} from '../projektstufe-form-dialog/projektstufe-formdialog.component';\nimport {dearchiveProjektStart} from \"../../store/actions/projekt-dearchive.actions\";\nimport {Router} from \"@angular/router\";\nimport {pasteProjektStart} from \"../../store/actions/projekt-paste.actions\";\nimport {HttpClient} from '@angular/common/http';\nimport {Security} from '../../../../security';\n\n\n@Component({\n selector: 'app-projektverwaltung-page',\n templateUrl: './projektverwaltung-page.component.html',\n styleUrls: ['./projektverwaltung-page.component.scss'],\n})\n\n\n\nexport class ProjektverwaltungPageComponent implements OnInit {\n\n\n public $nodes;\n public $copyNodes;\n\n /**\n * Constructor of Addresses page\n *\n * @param store - The store service\n * @param dialog - The dialog service\n */\n constructor(\n private _router: Router ,\n private store: Store<{ projektverwaltung: ProjektState }>,\n public dialog: MatDialog,\n public http: HttpClient,\n public security: Security\n )\n {\n\n this.$nodes = store.pipe(select((state) => state.projektverwaltung.nodes.items));\n this.$copyNodes = store.pipe(select((state) => state.projektverwaltung.copyNodes.items));\n }\n public showAdd: Observable;\n public functionMenuEnabled: boolean;\n\n public addProjekt(): void{\n const dialogRef = this.dialog.open(ProjektFormdialogComponent, {\n data: {\n title: 'pages.projektverwaltung.addProjekt.title',\n submitButtonLabel: 'pages.projektverwaltung.addProjekt.submitButtonLabel',\n cancelButtonLabel: 'pages.projektverwaltung.addProjekt.cancelButtonLabel',\n start: '',\n ende: '',\n verrechnen: '1',\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n\n public editProjekt(projekt: NodeItem): void{\n const dialogRef = this.dialog.open(ProjektFormdialogComponent, {\n data: {\n title: 'pages.projektverwaltung.editProjekt.title',\n submitButtonLabel: 'pages.projektverwaltung.editProjekt.submitButtonLabel',\n cancelButtonLabel: 'pages.projektverwaltung.editProjekt.cancelButtonLabel',\n id: projekt.id,\n ort: projekt.ort,\n plz: projekt.plz,\n str1: projekt.str1,\n str2: projekt.str2,\n nummer: projekt.nummer,\n name: projekt.name,\n start: projekt.start,\n ende: projekt.ende,\n beschreibung: projekt.beschreibung,\n auftraggeber: projekt.auftraggeber,\n abteilung: projekt.abteilung,\n mitarbeiter: projekt.mitarbeiter,\n verrechnen: projekt.verrechnen\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n\n public editProjektstufe(projekt: NodeItem): void{\n const dialogRef = this.dialog.open(ProjektFormdialogComponent, {\n data: {\n title: 'pages.projektverwaltung.editProjektstufe.title',\n submitButtonLabel: 'pages.projektverwaltung.editProjekt.submitButtonLabel',\n cancelButtonLabel: 'pages.projektverwaltung.editProjekt.cancelButtonLabel',\n id: projekt.id,\n ort: projekt.ort,\n plz: projekt.plz,\n str1: projekt.str1,\n str2: projekt.str2,\n nummer: projekt.nummer,\n name: projekt.name,\n start: projekt.start,\n ende: projekt.ende,\n level: projekt.level,\n beschreibung: projekt.beschreibung,\n auftraggeber: projekt.auftraggeber,\n abteilung: projekt.abteilung,\n mitarbeiter: projekt.mitarbeiter,\n verrechnen: projekt.verrechnen\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n\n public deleteProjekt(projekt: NodeItem): void{\n this.store.dispatch(deleteProjektStart({item: projekt}));\n }\n public archiveProjekt(projekt: NodeItem): void{\n this.store.dispatch(archiveProjektStart({item: projekt}));\n }\n public dearchiveProjekt(projekt: NodeItem): void{\n this.store.dispatch(dearchiveProjektStart({item: projekt}));\n }\n\n public addProjektstufe(projekt: NodeItem): void{\n\n const dialogRef = this.dialog.open(ProjektFormdialogComponent, {\n data: {\n title: 'pages.projektverwaltung.addProjektstufe.title',\n submitButtonLabel: 'pages.projektverwaltung.addProjekt.submitButtonLabel',\n cancelButtonLabel: 'pages.projektverwaltung.addProjekt.cancelButtonLabel',\n level: parseInt(projekt.level, 10) + 1,\n prjprj: projekt.id,\n start: '',\n ende: '',\n verrechnen: '1',\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n /**\n * Executed when the component is initialized\n */\n public ngOnInit(): void {\n this.showAdd = this.security.checkIfAllowed('2001');\n this.functionMenuEnabled = true;\n this.store.dispatch(loadNodesStart({archiv: 0}));\n }\n}\n","\n \n
{{ 'pages.projektverwaltung.title' | translate }}
\n \n\n
\n \n
\n
\n
\n
\n \n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {ProjektItem} from '../../projekt.model';\nimport {MitarbeiterItem} from '../../../Mitarbeiterverwaltung/mitarbeiter.model';\n\n@Component({\n selector: 'app-projekt-table',\n templateUrl: './projekt-table.component.html',\n styleUrls: ['./projekt-table.component.scss'],\n})\nexport class ProjektTableComponent implements OnInit {\n public displayedColumns: string[] = [\n 'projektnr',\n 'projektname',\n 'projektstart',\n 'projektende',\n 'actions',\n ];\n public dataSource = new MatTableDataSource();\n\n @Output()\n public deleteProjekt = new EventEmitter();\n\n @Output()\n public editProjekt = new EventEmitter();\n\n @Input()\n public set projekte(projekte: ProjektItem[]) {\n this.dataSource.data = projekte;\n }\n /**\n * Sets addresses to datasource\n *\n * @param addresses - The addresses\n */\n\n /**\n * Executed in initialization\n */\n public ngOnInit(): void {\n\n }\n}\n","
\n\n\n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n \n \n\n \n \n
{{ 'pages.projektverwaltung.table.projektnr' | translate }} {{projekt.nummer }} {{ 'pages.projektverwaltung.table.projektname' | translate }} {{projekt.name }} {{ 'pages.projektverwaltung.table.projektstart' | translate }} {{projekt.start | date:'dd.MM.yyyy' }} {{ 'pages.projektverwaltung.table.projektende' | translate }} {{projekt.ende | date:'dd.MM.yyyy' }} \n \n \n \n \n \n \n
\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {select, Store} from '@ngrx/store';\nimport {ProjektState} from '../../store/reducer/projektverwaltung.reducer';\nimport {Observable} from 'rxjs';\nimport * as moment from 'moment';\nimport {editMitarbeiterStart} from '../../../Mitarbeiterverwaltung/store/actions/mitarbeiter-edit.actions';\nimport {addMitarbeiterStart} from '../../../Mitarbeiterverwaltung/store/actions/mitarbeiter-add.actions';\nimport {addProjektStart} from '../../store/actions/projekt-add.actions';\nimport {editProjektStart} from '../../store/actions/projekt-edit.actions';\nimport {loadAllMitarbeiterStart} from '../../../Mitarbeiterverwaltung/store/actions/getAllMitarbeiter.actions';\nimport {AnredeItem} from '../../../Mitarbeiterverwaltung/anrede.model';\nimport {MitarbeiterItem} from '../../../Mitarbeiterverwaltung/mitarbeiter.model';\nimport {State} from '../../../Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\nimport {editProjektstufeStart} from '../../store/actions/projektstufe-edit.actions';\nimport {addProjektstufeStart} from '../../store/actions/projektstufe-add.actions';\n\nexport interface DialogData{\n title: string;\n submitButtonLabel: string;\n cancelButtonLabel: string;\n id: number;\n prjprj: number;\n nummer: string;\n name: string;\n level: number;\n mitarbeiter: MitarbeiterItem[];\n}\n\n@Component({\n selector: 'app-projektstufe-formdialog',\n templateUrl: './projektstufe-formdialog.component.html',\n styleUrls: ['./projektstufe-formdialog.component.scss']\n})\n\nexport class ProjektStufeFormdialogComponent implements OnInit {\n\n public $mitarbeiter: Observable;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private mitarbeiter: Store<{ mitarbeiterverwaltung: State }>,\n private store: Store<{ projektverwaltung: ProjektState }>) {\n dialogRef.disableClose = true;\n this.$mitarbeiter = mitarbeiter.pipe(select((state) => state.mitarbeiterverwaltung.items));\n this.projektForm.patchValue({\n id: data.id,\n name: data.name,\n nummer: data.nummer,\n mitarbeiter: data.mitarbeiter,\n prjprj: data.prjprj,\n level: data.level,\n });\n }\n\n public projektForm = new FormGroup({\n name: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n nummer: new FormControl('', [Validators.maxLength(255), Validators.pattern('^[0-9.]*$')]),\n mitarbeiter: new FormControl(''),\n id: new FormControl(''),\n level: new FormControl(''),\n prjprj: new FormControl(''),\n });\n\n\n public handleSubmitClick(): void{\n const item = this.projektForm.value;\n // Mitgeben von der ProjektId des Parents und dem Level des Parents +1 = Level des neu erstellten Kindes\n item.prjprj = this.data.prjprj;\n // tslint:disable-next-line:radix\n item.level = (parseInt(String(this.data.level)) + 1);\n // Projektstufen ausser 0 hier\n if(this.data.level){\n if (this.data.id) {\n this.store.dispatch(editProjektstufeStart({item}));\n } else {\n this.store.dispatch(addProjektstufeStart({item}));\n }\n }\n // Projektstufe 0 hier\n else{\n if (this.data.id) {\n this.store.dispatch(editProjektstufeStart({item}));\n } else {\n this.store.dispatch(addProjektstufeStart({item}));\n }\n }\n\n this.dialogRef.close(true);\n }\n\n public handleCancelClick(): void{\n this.dialogRef.close(true);\n }\n\n public getErrorMessage(formField: string): string {\n const formControl = this.projektForm.get(formField);\n if ( formControl.hasError('required')){\n return `pages.projektverwaltung.projektDialog.err.${formField}.pflichtfeld`;\n }\n else if ( formControl.hasError('maxlength')){\n return `pages.projektverwaltung.projektDialog.err.${formField}.maxlength`;\n }\n else if ( formControl.hasError('min')){\n return `pages.projektverwaltung.projektDialog.err.${formField}.min`;\n }\n else if ( formControl.hasError('pattern')){\n return `pages.projektverwaltung.projektDialog.err.${formField}.pattern`;\n }\n return 'pages.projektverwaltung.projektDialog.err.generic';\n }\n\n ngOnInit(): void {\n this.store.dispatch(loadAllMitarbeiterStart({string: sessionStorage.getItem('firmaId')}));\n }\n\n}\n","

{{ data.title | translate }}

\n\n\n\n
\n\n
\n \n {{ 'pages.projektverwaltung.projektDialog.stufenname' | translate }}\n \n {{ getErrorMessage('name') | translate }}\n \n
\n \n {{ 'pages.projektverwaltung.projektDialog.mitarbeiter' | translate }}\n \n {{mitarbeiter.name + \" \" + mitarbeiter.vorname + \" \" + mitarbeiter.ort + \" \" + mitarbeiter.plz}}\n \n \n\n
\n\n
\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { ProjektItem } from './projekt.model';\nimport {CollectionApiResponse} from '../../../lib/util/api-response';\nimport {MitarbeiterItem} from '../Mitarbeiterverwaltung/mitarbeiter.model';\nimport {FilterItem} from './filter.model';\nimport {NodeItem} from './node.model';\n\ntype Projekte = CollectionApiResponse;\ntype Nodes = CollectionApiResponse;\n\n@Injectable()\nexport class ProjektService {\n /**\n * Constructor of address service\n *\n * @param http - The http client\n */\n constructor(private http: HttpClient) {}\n\n /**\n * Returns a list of addresses\n *\n * @returns - An observable that emits the response\n */\n public getAllProjekte(): Observable {\n console.log('still used');\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/getAllProjekte.php?${sessionStorage.getItem('session')}`) as Observable<\n Projekte\n >;\n }\n\n public addProjekt(item: ProjektItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/addProjekt.php?${sessionStorage.getItem('session')}`, item) as Observable<\n ProjektItem\n >;\n }\n\n public pasteProjekt(item: NodeItem, copyNodes: NodeItem[]): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.post\n (\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/pasteProjekt.php?${sessionStorage.getItem('session')}`\n , [copyNodes, item]\n ) as Observable<\n NodeItem\n >;\n }\n\n public addProjektstufe(item: NodeItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/addProjektstufe.php?${sessionStorage.getItem('session')}`, item) as Observable<\n NodeItem\n >;\n }\n\n public deleteProjekt(item: NodeItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/deleteProjekt.php?${sessionStorage.getItem('session')}`, item) as Observable<\n number>;\n }\n\n public archiveProjekt(item: NodeItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/archiveProjekt.php?${sessionStorage.getItem('session')}`, item) as Observable<\n number>;\n }\n\n public dearchiveProjekt(item: NodeItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.put(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/dearchiveProjekt.php?${sessionStorage.getItem('session')}`, item) as Observable<\n number>;\n }\n\n public editProjekt(projekt: NodeItem): Observable {\n return this.http.put(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/editProjekt.php?${sessionStorage.getItem('session')}`,\n projekt,\n ) as Observable;\n }\n\n public editProjektstufe(projekt: NodeItem): Observable {\n return this.http.put(\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/editProjektstufe.php?${sessionStorage.getItem('session')}`,\n projekt,\n ) as Observable;\n }\n\n public getFilteredProjekte(filterOption: string, item: FilterItem): Observable {\n const filter = filterOption;\n const filterItem = item;\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/getFilteredProjekte.php?${sessionStorage.getItem('session')}&filter=${filter}`, filterItem) as Observable<\n Nodes\n >;\n }\n\n public getAllNodes(archive: number): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/getAllNodes.php?${sessionStorage.getItem('session')}&archive=${archive}`) as Observable<\n Nodes\n >;\n }\n public getCopyNodes(projekt: NodeItem): Observable {\n // tslint:disable-next-line:max-line-length\n return this.http.post(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/getCopyNodes.php?${sessionStorage.getItem('session')}`, projekt) as Observable<\n Nodes\n >;\n }\n public getUserNodes(): Observable {\n let userId = null;\n if (isNaN( Number(sessionStorage.getItem('zeitUserId'))) === false && sessionStorage.getItem('zeitUserId') !== null){\n userId = sessionStorage.getItem('zeitUserId');\n }\n else{\n userId = sessionStorage.getItem('userId');\n }\n // tslint:disable-next-line:max-line-length\n return this.http.get(window.location.protocol + '//' + window.location.hostname + `/myDay/backend/projektverwaltung/getUserNodes.php?userId=${userId}&${sessionStorage.getItem('session')}`) as Observable<\n Nodes\n >;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\nimport { MatTableModule } from '@angular/material/table';\nimport { CommonModule } from '@angular/common';\nimport {MatToolbar, MatToolbarModule} from '@angular/material/toolbar';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatListModule } from '@angular/material/list';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MAT_DATE_LOCALE, MatNativeDateModule } from '@angular/material/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport { MatSortModule } from '@angular/material/sort';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {projektverwaltungReducer} from './store/reducer/projektverwaltung.reducer';\nimport {ProjektService} from './projekt.service';\nimport {ProjektverwaltungPageComponent} from './components/projekt-page/projektverwaltung-page.component';\nimport {ProjektEffects} from './store/effects/projekt.effects';\nimport {ProjektTableComponent} from './components/projekt-table/projekt-table.component';\nimport {ProjektFormdialogComponent} from './components/projekt-form-dialog/projekt-formdialog.component';\nimport {ProjektFilterComponent} from './components/projekt-filter/projekt-filter.component';\nimport {MatTreeModule} from '@angular/material/tree';\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {ProjektExpandableTableComponent} from './components/projekt-expandable-table/projekt-expandable-table.component';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {ProjektStufeFormdialogComponent} from './components/projektstufe-form-dialog/projektstufe-formdialog.component';\nimport {SharedModule} from '../../shared.module';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\nimport {MatRadioModule} from '@angular/material/radio';\n\n@NgModule({\n imports: [\n StoreModule.forFeature('projektverwaltung', projektverwaltungReducer),\n EffectsModule.forFeature([ProjektEffects]),\n MatTableModule,\n CommonModule,\n TranslateModule,\n MatToolbarModule,\n FlexLayoutModule,\n MatListModule,\n MatCardModule,\n MatMenuModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n ReactiveFormsModule,\n MatSortModule,\n MatTreeModule,\n CdkTreeModule,\n FormsModule,\n MatCheckboxModule,\n SharedModule,\n MatTooltipModule,\n TooltipModule,\n MatRadioModule,\n\n ],\n providers: [ProjektService],\n declarations: [\n ProjektverwaltungPageComponent,\n ProjektTableComponent,\n ProjektFormdialogComponent,\n ProjektFilterComponent,\n ProjektExpandableTableComponent,\n ProjektStufeFormdialogComponent,\n ],\n})\nexport class ProjektverwaltungModule {}\n","import { createAction, props } from '@ngrx/store';\nimport {NodeItem} from '../../node.model';\n\nexport const loadNodesStart = createAction('PROJEKTVERWALTUNG::LOAD_NODES_START', props<{ archiv: number }>());\nexport const loadNodesSucceeded = createAction(\n 'PROJEKTVERWALTUNG::LOAD_NODES_SUCCEEDED',\n props<{ item: NodeItem[] }>(),\n);\nexport const loadNodesFailed = createAction('PROJEKTVERWALTUNG::LOAD_NODES_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { ProjektItem } from '../../projekt.model';\n\nexport const loadProjekteStart = createAction('PROJEKTVERWALTUNG::LOAD_PROJEKTE_START');\nexport const loadProjekteSucceeded = createAction(\n 'PROJEKTVERWALTUNG::LOAD_PROJEKTE_SUCCEEDED',\n props<{ item: ProjektItem[] }>(),\n);\nexport const loadProjekteFailed = createAction('PROJEKTVERWALTUNG::LOAD_PROJEKTE_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {NodeItem} from '../../node.model';\n\nexport const loadCopyNodesStart = createAction('PROJEKTVERWALTUNG::LOAD_COPY_NODES_START',\n props<{ item: NodeItem }>(),\n );\nexport const loadCopyNodesSucceeded = createAction(\n 'PROJEKTVERWALTUNG::LOAD_COPY_NODES_SUCCEEDED',\n props<{ item: NodeItem[] }>(),\n);\nexport const loadCopyNodesFailed = createAction('PROJEKTVERWALTUNG::LOAD_COPY_NODES_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {FilterItem} from '../../filter.model';\nimport {NodeItem} from '../../node.model';\n\nexport const getFilteredProjektStart = createAction('PROJEKTVERWALTUNG::GET_FILTERED_PROJEKTE_START', props<{ string: string, item: FilterItem }>());\nexport const getFilteredProjektSucceeded = createAction('PROJEKTVERWALTUNG::GET_FILTERED_PROJEKTE_SUCCEEDED', props<{ item: NodeItem[] }>());\nexport const getFilteredProjektFailed = createAction('PROJEKTVERWALTUNG::GET_FILTERED_PROJEKTE_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {NodeItem} from '../../node.model';\n\nexport const loadUserNodesStart = createAction('PROJEKTVERWALTUNG::LOAD_USERNODES_START');\nexport const loadUserNodesSucceeded = createAction(\n 'PROJEKTVERWALTUNG::LOAD_USERNODES_SUCCEEDED',\n props<{ item: NodeItem[] }>(),\n);\nexport const loadUserNodesFailed = createAction('PROJEKTVERWALTUNG::LOAD_USERNODES_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { ProjektItem } from '../../projekt.model';\n\nexport const addProjektStart = createAction('PROJEKTVERWALTUNG::ADD_PROJEKT_START', props<{ item: ProjektItem }>());\nexport const addProjektSucceeded = createAction('PROJEKTVERWALTUNG::ADD_PROJEKT_SUCCEEDED', props<{ item: ProjektItem }>());\nexport const addProjektFailed = createAction('PROJEKTVERWALTUNG::ADD_PROJEKT_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { ProjektItem } from '../../projekt.model';\nimport {NodeItem} from \"../../node.model\";\n\nexport const archiveProjektStart = createAction('PROJEKTKVERWALTUNG::ARCHIVE_PROJEKT_START', props<{ item: NodeItem }>());\nexport const archiveProjektSucceeded = createAction(\n 'PROJEKTKVERWALTUNG::ARCHIVE_PROJEKT_SUCCEEDED'\n);\nexport const archiveProjektFailed = createAction('PROJEKTKVERWALTUNG::ARCHIVE_PROJEKT_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { ProjektItem } from '../../projekt.model';\nimport {NodeItem} from \"../../node.model\";\n\nexport const dearchiveProjektStart = createAction('PROJEKTKVERWALTUNG::DEARCHIVE_PROJEKT_START', props<{ item: NodeItem }>());\nexport const dearchiveProjektSucceeded = createAction(\n 'PROJEKTKVERWALTUNG::DEARCHIVE_PROJEKT_SUCCEEDED'\n);\nexport const dearchiveProjektFailed = createAction('PROJEKTKVERWALTUNG::DEARCHIVE_PROJEKT_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { ProjektItem } from '../../projekt.model';\nimport {NodeItem} from \"../../node.model\";\n\nexport const deleteProjektStart = createAction('PROJEKTKVERWALTUNG::DELETE_PROJEKT_START', props<{ item: NodeItem }>());\nexport const deleteProjektSucceeded = createAction(\n 'PROJEKTKVERWALTUNG::DELETE_PROJEKT_SUCCEEDED'\n);\nexport const deleteProjektFailed = createAction('PROJEKTKVERWALTUNG::DELETE_PROJEKT_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {ProjektItem} from '../../projekt.model';\nimport {NodeItem} from '../../node.model';\n\nexport const editProjektStart = createAction('PROJEKTVERWALTUNG::EDIT_PROJEKT_START', props<{ item: NodeItem }>());\nexport const editProjektSucceeded = createAction('PROJEKTVERWALTUNG::EDIT_PROJEKT_SUCCEEDED', props<{ item: NodeItem }>());\nexport const editProjektFailed = createAction('PROJEKTVERWALTUNG::EDIT_PROJEKT_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport { ProjektItem } from '../../projekt.model';\nimport {NodeItem} from \"../../node.model\";\n\nexport const pasteProjektStart = createAction('PROJEKTVERWALTUNG::PASTE_PROJEKT_START', props<{ item: NodeItem, copyNodes: NodeItem[] }>());\nexport const pasteProjektSucceeded = createAction('PROJEKTVERWALTUNG::PASTE_PROJEKT_SUCCEEDED', props<{ item: NodeItem }>());\nexport const pasteProjektFailed = createAction('PROJEKTVERWALTUNG::PASTE_PROJEKT_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {NodeItem} from '../../node.model';\n\nexport const addProjektstufeStart = createAction('PROJEKTVERWALTUNG::ADD_PROJEKTSTUFE_START', props<{ item: NodeItem }>());\nexport const addProjektstufeSucceeded = createAction('PROJEKTVERWALTUNG::ADD_PROJEKTSTUFE_SUCCEEDED', props<{ item: NodeItem }>());\nexport const addProjektstufeFailed = createAction('PROJEKTVERWALTUNG::ADD_PROJEKTSTUFE_FAILED', props<{ error: Error }>());\n","import { createAction, props } from '@ngrx/store';\nimport {ProjektItem} from '../../projekt.model';\nimport {NodeItem} from '../../node.model';\n\nexport const editProjektstufeStart = createAction('PROJEKTVERWALTUNG::EDIT_PROJEKTSTUFE_START', props<{ item: NodeItem }>());\nexport const editProjektstufeSucceeded = createAction('PROJEKTVERWALTUNG::EDIT_PROJEKTSTUFE_SUCCEEDED', props<{ item: NodeItem }>());\nexport const editProjektstufeFailed = createAction('PROJEKTVERWALTUNG::EDIT_PROJEKTSTUFE_FAILED', props<{ error: Error }>());\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport {catchError, map, mergeMap, tap} from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { loadProjekteSucceeded, loadProjekteFailed, loadProjekteStart } from '../actions/getAllProjekte.actions';\nimport {ProjektService} from '../../projekt.service';\nimport {addProjektFailed, addProjektStart, addProjektSucceeded} from '../actions/projekt-add.actions';\nimport {deleteProjektFailed, deleteProjektStart, deleteProjektSucceeded} from '../actions/projekt-del.actions';\nimport {editProjektFailed, editProjektStart, editProjektSucceeded} from '../actions/projekt-edit.actions';\nimport {getFilteredProjektFailed, getFilteredProjektStart, getFilteredProjektSucceeded} from '../actions/getFilteredProjekt.actions';\nimport {loadNodesFailed, loadNodesStart, loadNodesSucceeded} from '../actions/getAllNodes.actions';\nimport {addProjektstufeFailed, addProjektstufeStart, addProjektstufeSucceeded} from '../actions/projektstufe-add.actions';\nimport {archiveProjektFailed, archiveProjektStart, archiveProjektSucceeded} from '../actions/projekt-archive.actions';\nimport {editProjektstufeFailed, editProjektstufeStart, editProjektstufeSucceeded} from '../actions/projektstufe-edit.actions';\nimport {\n dearchiveProjektFailed,\n dearchiveProjektStart,\n dearchiveProjektSucceeded\n} from '../actions/projekt-dearchive.actions';\nimport {loadUserNodesFailed, loadUserNodesStart, loadUserNodesSucceeded} from \"../actions/getUserNodes.actions\";\nimport {pasteProjektFailed, pasteProjektStart, pasteProjektSucceeded} from \"../actions/projekt-paste.actions\";\nimport {loadCopyNodesFailed, loadCopyNodesStart, loadCopyNodesSucceeded} from \"../actions/getCopyNodes.actions\";\n\n@Injectable()\nexport class ProjektEffects {\n /**\n * Loads the address list when dispatching the start action\n */\n public loadProjekte$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadProjekteStart),\n mergeMap(() =>\n this.projektService.getAllProjekte().pipe(\n map((response) => loadProjekteSucceeded({ item: response.data})),\n catchError((e) => of(loadProjekteFailed(e))),\n ),\n ),\n ),\n );\n\n public loadFilteredProjekte$ = createEffect(() =>\n this.actions$.pipe(\n ofType(getFilteredProjektStart),\n mergeMap((projekt) =>\n this.projektService.getFilteredProjekte(projekt.string, projekt.item).pipe(\n mergeMap((response) => of(getFilteredProjektSucceeded({ item: response.data}))),\n catchError((e) => of(getFilteredProjektFailed(e))),\n ),\n ),\n ),\n );\n\n public loadNodes$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadNodesStart),\n mergeMap((archive) =>\n this.projektService.getAllNodes(archive.archiv).pipe(\n mergeMap((response) => of(loadNodesSucceeded({ item: response.data}))),\n catchError((e) => of(loadNodesFailed(e))),\n ),\n ),\n ),\n );\n\n public loadCopyNodes$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadCopyNodesStart),\n mergeMap((projekt) =>\n this.projektService.getCopyNodes(projekt.item).pipe(\n mergeMap((response) => of(loadCopyNodesSucceeded({ item: response.data}))),\n catchError((e) => of(loadCopyNodesFailed(e))),\n ),\n ),\n ),\n );\n\n public loadUserNodes$ = createEffect(() =>\n this.actions$.pipe(\n ofType(loadUserNodesStart),\n mergeMap((projekt) =>\n this.projektService.getUserNodes().pipe(\n mergeMap((response) => of(loadUserNodesSucceeded({ item: response.data}))),\n catchError((e) => of(loadUserNodesFailed(e))),\n ),\n ),\n ),\n );\n\n\n public addProjekte$ = createEffect(() =>\n this.actions$.pipe(\n ofType(addProjektStart),\n mergeMap((projekt) =>\n this.projektService.addProjekt(projekt.item).pipe(\n mergeMap((response) => of(addProjektSucceeded({ item: response}), loadNodesStart({archiv: 0}))),\n catchError((e) => of(addProjektFailed(e))),\n ),\n ),\n ),\n );\n\n public pasteProjekte$ = createEffect(() =>\n this.actions$.pipe(\n ofType(pasteProjektStart),\n mergeMap((projekt) =>\n this.projektService.pasteProjekt(projekt.item, projekt.copyNodes).pipe(\n mergeMap((response) => of(pasteProjektSucceeded({ item: response}), loadNodesStart({archiv: 0}))),\n catchError((e) => of(pasteProjektFailed(e))),\n ),\n ),\n ),\n );\n\n public addProjektstufe$ = createEffect(() =>\n this.actions$.pipe(\n ofType(addProjektstufeStart),\n mergeMap((projekt) =>\n this.projektService.addProjektstufe(projekt.item).pipe(\n mergeMap((response) => of(addProjektstufeSucceeded({ item: response}), loadNodesStart({archiv: 0}))),\n catchError((e) => of(addProjektstufeFailed(e))),\n ),\n ),\n ),\n );\n\n public deleteProjekt = createEffect(() =>\n this.actions$.pipe(\n ofType(deleteProjektStart),\n mergeMap((projekt) =>\n this.projektService.deleteProjekt(projekt.item).pipe(\n mergeMap((response) => of(deleteProjektSucceeded(), loadNodesStart({archiv: 0}))),\n catchError((e) => of(deleteProjektFailed(e))),\n ),\n ),\n ),\n );\n\n public archiveProjekt = createEffect(() =>\n this.actions$.pipe(\n ofType(archiveProjektStart),\n mergeMap((projekt) =>\n this.projektService.archiveProjekt(projekt.item).pipe(\n mergeMap((response) => of(archiveProjektSucceeded(), loadNodesStart({archiv: 0}))),\n catchError((e) => of(archiveProjektFailed(e))),\n ),\n ),\n ),\n );\n\n public dearchiveProjekt = createEffect(() =>\n this.actions$.pipe(\n ofType(dearchiveProjektStart),\n mergeMap((projekt) =>\n this.projektService.dearchiveProjekt(projekt.item).pipe(\n mergeMap((response) => of(dearchiveProjektSucceeded(), loadNodesStart({archiv: 1}))),\n catchError((e) => of(dearchiveProjektFailed(e))),\n ),\n ),\n ),\n );\n\n public editProjekt = createEffect(() =>\n this.actions$.pipe(\n ofType(editProjektStart),\n mergeMap((projekt) =>\n this.projektService.editProjekt(projekt.item).pipe(\n mergeMap((response) => of(editProjektSucceeded({ item: response}), loadNodesStart({archiv: 0}))),\n catchError((e) => of(editProjektFailed(e))),\n ),\n ),\n ),\n );\n\n\n public editProjektstufe = createEffect(() =>\n this.actions$.pipe(\n ofType(editProjektstufeStart),\n mergeMap((projekt) =>\n this.projektService.editProjektstufe(projekt.item).pipe(\n mergeMap((response) => of(editProjektstufeSucceeded({ item: response}), loadNodesStart({archiv: 0}))),\n catchError((e) => of(editProjektstufeFailed(e))),\n ),\n ),\n ),\n );\n\n\n /**\n * Constructor of address effects\n *\n * @param actions$ - The action observable\n * @param addressesService - The address service\n */\n constructor(private actions$: Actions, private projektService: ProjektService) {}\n}\n","import { createReducer, on } from '@ngrx/store';\nimport { loadProjekteStart, loadProjekteFailed, loadProjekteSucceeded } from '../actions/getAllProjekte.actions';\nimport { ProjektItem } from '../../projekt.model';\nimport {addProjektFailed, addProjektStart, addProjektSucceeded} from '../actions/projekt-add.actions';\nimport {deleteProjektFailed, deleteProjektStart, deleteProjektSucceeded} from '../actions/projekt-del.actions';\nimport {editProjektFailed, editProjektStart, editProjektSucceeded} from '../actions/projekt-edit.actions';\nimport {getFilteredProjektFailed, getFilteredProjektStart, getFilteredProjektSucceeded} from '../actions/getFilteredProjekt.actions';\nimport {loadNodesFailed, loadNodesStart, loadNodesSucceeded} from '../actions/getAllNodes.actions';\nimport {NodeItem} from '../../node.model';\nimport {addProjektstufeFailed, addProjektstufeStart, addProjektstufeSucceeded} from '../actions/projektstufe-add.actions';\nimport {archiveProjektFailed, archiveProjektStart, archiveProjektSucceeded} from '../actions/projekt-archive.actions';\nimport {\n dearchiveProjektFailed,\n dearchiveProjektStart,\n dearchiveProjektSucceeded\n} from \"../actions/projekt-dearchive.actions\";\nimport {loadUserNodesFailed, loadUserNodesStart, loadUserNodesSucceeded} from \"../actions/getUserNodes.actions\";\nimport {pasteProjektFailed, pasteProjektStart, pasteProjektSucceeded} from \"../actions/projekt-paste.actions\";\nimport {loadCopyNodesFailed, loadCopyNodesStart, loadCopyNodesSucceeded} from \"../actions/getCopyNodes.actions\";\n\nexport interface ProjektState {\n isLoading: boolean;\n items: ProjektItem[];\n nodes: {\n items: NodeItem[];\n };\n usernodes: {\n items: NodeItem[];\n };\n copyNodes: {\n items: NodeItem[];\n };\n}\n\nexport const initialState: ProjektState = {\n isLoading: false,\n items: [],\n nodes: {\n items: [],\n },\n usernodes: {\n items: [],\n },\n copyNodes: {\n items: [],\n },\n};\n\nconst ons = [\n on(loadProjekteStart, (state: ProjektState) => ({ ...state, isLoading: true })),\n on(loadProjekteSucceeded, (state: ProjektState, action) => ({\n ...state,\n isLoading: false,\n items: action.item,\n })),\n on(loadProjekteFailed, (state: ProjektState) => ({ ...state, isLoading: false })),\n on(getFilteredProjektStart, (state: ProjektState) => ({ ...state, isLoading: true })),\n on(getFilteredProjektSucceeded, (state: ProjektState, action) => ({\n ...state,\n isLoading: false,\n nodes: {\n ...state.nodes,\n items: action.item,\n },\n })),\n on(getFilteredProjektFailed, (state: ProjektState) => ({ ...state, isLoading: false })),\n on(loadNodesStart, (state: ProjektState) => ({ ...state, isLoading: true })),\n on(loadNodesSucceeded, (state: ProjektState, action) => ({\n ...state,\n isLoading: false,\n nodes: {\n ...state.nodes,\n items: action.item,\n },\n })),\n on(loadUserNodesFailed, (state: ProjektState) => ({ ...state, isLoading: false })),\n on(loadUserNodesStart, (state: ProjektState) => ({ ...state, isLoading: true })),\n on(loadUserNodesSucceeded, (state: ProjektState, action) => ({\n ...state,\n isLoading: false,\n usernodes: {\n ...state.usernodes,\n items: action.item,\n },\n })),\n on(loadCopyNodesStart, (state: ProjektState) => ({ ...state, isLoading: false })),\n on(loadCopyNodesFailed, (state: ProjektState) => ({ ...state, isLoading: true })),\n on(loadCopyNodesSucceeded, (state: ProjektState, action) => ({\n ...state,\n isLoading: false,\n copyNodes: {\n ...state.copyNodes,\n items: action.item,\n },\n })),\n on(loadNodesFailed, (state: ProjektState) => ({ ...state, isLoading: false })),\n on(addProjektStart, (state: ProjektState) => ({ ...state, isAddingFirma: true })),\n on(addProjektFailed, (state: ProjektState) => ({ ...state, isAddingFirma: false })),\n on(addProjektSucceeded, (state: ProjektState) => ({ ...state, isAddingFirma: false })),\n on(addProjektstufeStart, (state: ProjektState) => ({ ...state, isAddingFirma: true })),\n on(addProjektstufeFailed, (state: ProjektState) => ({ ...state, isAddingFirma: false })),\n on(addProjektstufeSucceeded, (state: ProjektState) => ({ ...state, isAddingFirma: false })),\n on(deleteProjektStart, (state: ProjektState) => ({ ...state, isDeletingProjekt: true })),\n on(deleteProjektFailed, (state: ProjektState) => ({ ...state, isDeletingProjekt: false })),\n on(deleteProjektSucceeded, (state: ProjektState) => ({ ...state, isDeletingProjekt: false })),\n on(archiveProjektStart, (state: ProjektState) => ({ ...state, isDeletingProjekt: true })),\n on(archiveProjektFailed, (state: ProjektState) => ({ ...state, isDeletingProjekt: false })),\n on(archiveProjektSucceeded, (state: ProjektState) => ({ ...state, isDeletingProjekt: false })),\n on(dearchiveProjektStart, (state: ProjektState) => ({ ...state, isDeletingProjekt: true })),\n on(dearchiveProjektFailed, (state: ProjektState) => ({ ...state, isDeletingProjekt: false })),\n on(dearchiveProjektSucceeded, (state: ProjektState) => ({ ...state, isDeletingProjekt: false })),\n on(editProjektStart, (state: ProjektState) => ({ ...state, isEditingProjekt: true })),\n on(editProjektFailed, (state: ProjektState) => ({ ...state, isEditingProjekt: false })),\n on(editProjektSucceeded, (state: ProjektState) => ({ ...state, isEditingProjekt: false })),\n on(pasteProjektStart, (state: ProjektState) => ({ ...state, isEditingProjekt: true })),\n on(pasteProjektSucceeded, (state: ProjektState) => ({ ...state, isEditingProjekt: false })),\n on(pasteProjektFailed, (state: ProjektState) => ({ ...state, isEditingProjekt: false })),\n];\n\nexport const projektverwaltungReducer = createReducer(initialState, ...ons);\n","// round.pipe.ts\nimport {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: 'roundDown'})\nexport class RoundPipe implements PipeTransform {\n /**\n *\n * @param value\n * @returns {number}\n */\n transform(value: number): number {\n return Math.floor(value);\n }\n}\n","import {HttpClient} from '@angular/common/http';\r\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport {Injectable} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class Security{\r\n constructor(public http: HttpClient, public router: Router) {}\r\n\r\n public checkIfAllowed(code: string): Observable{\r\n return this.checkLogin(code);\r\n }\r\n // Rückgabewert der PHP-Datei als Observable\r\n public checkLogin(code: string): Observable {\r\n return this.http.get\r\n (\r\n window.location.protocol + '//' + window.location.hostname + `/myDay/backend/checkGrant.php?email=${localStorage.getItem('userEmail')}&code=${code}`\r\n ) as Observable;\r\n }\r\n\r\n}\r\n","import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Security } from './security';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class SecurityGuard implements CanActivate {\r\n constructor( public security: Security) {}\r\n // canActivate = kann aufgerufen werden\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable{\r\n // Return Observable, Methode von Klasse Security\r\n return this.security.checkIfAllowed(next.data.code);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport { EvenNumbersMaxDirective } from './even-numbers-Max.directive';\r\nimport { DecimalNumbersMaxDirective } from './decimal-numbers-Max.directive';\r\nimport {DateFieldDirective} from './dateField.directive';\r\nimport {RoundPipe} from '@src/app/roundDownPipe';\r\n\r\n@NgModule({\r\n exports: [\r\n EvenNumbersMaxDirective,\r\n DecimalNumbersMaxDirective,\r\n DateFieldDirective,\r\n RoundPipe,\r\n ],\r\n declarations: [\r\n EvenNumbersMaxDirective,\r\n DecimalNumbersMaxDirective,\r\n DateFieldDirective,\r\n RoundPipe\r\n ]\r\n})\r\nexport class SharedModule {}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatListModule } from '@angular/material/list';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { RouterModule } from '@angular/router';\nimport { NavBarComponent } from './nav-bar/nav-bar.component';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {BestaetigungsFormComponent} from './bestaetigungs-form/bestaetigungs-form.component';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {MatInputModule} from '@angular/material/input';\nimport {ResetPasswortFormComponent} from './resetPasswort-form/resetPasswort-form.component';\nimport {NewPasswortFormComponent} from './newPasswort-form/newPasswort-form.component';\nimport {InformationFormComponent} from \"./information-form/information-form.component\";\nimport {MatOptionModule} from '@angular/material/core';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatListModule,\n MatSidenavModule,\n RouterModule,\n TranslateModule,\n MatMenuModule,\n MatDialogModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatOptionModule,\n MatSelectModule,\n MatTooltipModule,\n TooltipModule,\n ],\n declarations: [NavBarComponent, BestaetigungsFormComponent, ResetPasswortFormComponent, NewPasswortFormComponent, InformationFormComponent],\n exports: [NavBarComponent, BestaetigungsFormComponent, ResetPasswortFormComponent, NewPasswortFormComponent, InformationFormComponent],\n})\nexport class AppUiModule {}\n","import {Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\n\nexport interface DialogData {\n title: string;\n text: string;\n}\n\n@Component({\n selector: 'app-bestaetigungs-form',\n templateUrl: './bestaetigungs-form.component.html',\n styleUrls: ['./bestaetigungs-form.component.scss']\n})\nexport class BestaetigungsFormComponent implements OnInit {\n\n public wertFuLoes;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) {\n dialogRef.disableClose = true;\n }\n\n ngOnInit(): void { }\n\n /* Ja / Nein Buttons in im Löschen Bestätigungsformular */\n // tslint:disable-next-line:typedef\n public yesHandleClick() {\n this.dialogRef.close(true);\n }\n // tslint:disable-next-line:typedef\n public noHandleClick() {\n this.dialogRef.close(false);\n }\n /* ENDE Ja / Nein Buttons in im Löschen Bestätigungsformular */\n /* ENDE Menue vor dem Löschen bzw. Werte dem ja Pfad zuweisen */\n}\n","

{{ data.title | translate }}

\n{{ data.text | translate }}\n\n \n {{ 'pages.timeDialog.functionMenu.no' | translate }}\n \n \n {{ 'pages.timeDialog.functionMenu.yes' | translate }}\n \n\n","import {Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\n\nexport interface DialogData {\n title: string;\n text: string;\n}\n\n@Component({\n selector: 'app-information-form',\n templateUrl: './information-form.component.html',\n styleUrls: ['./information-form.component.scss']\n})\nexport class InformationFormComponent implements OnInit {\n\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) {\n }\n\n ngOnInit(): void { }\n\n public okHandleClick(): void {\n this.dialogRef.close();\n }\n\n}\n","

{{ data.title | translate }}

\n{{ data.text | translate }}\n\n \n Ok\n \n\n","import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport {select, Store} from '@ngrx/store';\nimport {State} from '../../pages/Mitarbeiterverwaltung/store/reducer/mitarbeiterverwaltung.reducer';\nimport {MatDialog} from '@angular/material/dialog';\nimport {Observable, Observer, of} from 'rxjs';\nimport {UserItem} from '../../pages/landingpage/user.model';\nimport {loadUserStart} from '../../pages/landingpage/store/actions/getUser.actions';\nimport {MitarbeiterItem} from '../../pages/Mitarbeiterverwaltung/mitarbeiter.model';\nimport {MitarbeiterFormdialogComponent} from '../../pages/Mitarbeiterverwaltung/components/mitarbeiter-form-dialog/mitarbeiter-formdialog.component';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {Router} from '@angular/router';\nimport {FirmaItem} from '../../pages/Mitarbeiterverwaltung/firma.model';\nimport {FirmaFormdialogComponent} from '../../pages/Mitarbeiterverwaltung/components/firma-form-dialog/firma-formdialog.component';\nimport { ResetPasswortFormComponent} from '../resetPasswort-form/resetPasswort-form.component';\nimport {HttpClient} from '@angular/common/http';\nimport {NewPasswortFormComponent} from '../newPasswort-form/newPasswort-form.component';\nimport {InformationFormComponent} from '../information-form/information-form.component';\nimport {SpesenartPageFormComponent} from '../../pages/Zeiterfassung/components/spesenart-pageForm/spesenart-pageform.component';\nimport {loadRollenStart} from '../../pages/Mitarbeiterverwaltung/store/actions/rolle.actions';\nimport {changeRolleStart} from '../../pages/Mitarbeiterverwaltung/store/actions/change-rolle.actions';\nimport {RollenverwaltungPageformComponent} from '../../pages/Mitarbeiterverwaltung/components/rollenverwaltung-pageForm/rollenverwaltung-pageform.component';\nimport {Security} from '../../security';\nimport {Layout} from '@src/app/layoutSize';\n\nexport interface MenuItem {\n href: string;\n isRouterLink: boolean;\n text: string;\n disabled?: Observable;\n disabledOnPhone: boolean;\n}\n\nexport interface LoginResponse{\n status: string;\n responce: any;\n message: string;\n feed: string;\n}\n\n@Component({\n selector: 'app-nav-bar',\n templateUrl: './nav-bar.component.html',\n styleUrls: ['./nav-bar.component.scss'],\n})\nexport class NavBarComponent implements OnInit {\n /**\n * Constructor of navbar component\n *\n * @param breakpointObserver - Observes window breakpoints\n */\n // tslint:disable-next-line:max-line-length variable-name\n constructor(public router: Router,\n private breakpointObserver: BreakpointObserver,\n private landingStore: Store<{ landingpage: State }>,\n public dialog: MatDialog,\n private mitarbeiterStore: Store<{ mitarbeiterverwaltung: State }>,\n public http: HttpClient,\n public security: Security,\n public layout: Layout,\n ) {\n\n this.$personalien = landingStore.pipe(select((state) => state.landingpage.items));\n this.$firma = mitarbeiterStore.pipe(select((state) => state.mitarbeiterverwaltung.firma.item));\n this.$rollen = mitarbeiterStore.pipe(select((state) => state.mitarbeiterverwaltung.userRollen.items));\n\n if (localStorage.getItem('userEmail') !== null) {\n this.loginForm.patchValue({\n email: localStorage.getItem('userEmail'),\n });\n }\n }\n @Input()\n public drawerTitle = '';\n\n @Input()\n public user: UserItem;\n\n @ViewChild('drawer') public drawer: MatSidenav;\n\n public showRollenverwaltung: Observable;\n public showFirma: Observable;\n public showProfile: Observable;\n public showZeitverwaltung: Observable;\n public showProjektverwaltung: Observable;\n public showMitarbeiterverwaltung: Observable;\n public showLandingpage: Observable;\n\n public menuItems: MenuItem[];\n public isSmallDevice = false;\n\n public showHint: boolean;\n\n public loginResponse: LoginResponse;\n\n public rolleId: string;\n\n public $personalien;\n public $firma;\n public $rollen;\n\n public loginForm = new FormGroup({\n email: new FormControl('' , [Validators.required, Validators.maxLength(255), Validators.pattern('^[a-zA-ZáéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]),\n passwort: new FormControl(),\n });\n /**\n *\n */\n public ngOnInit(): void {\n this.updateNavbar();\n this.mitarbeiterStore.dispatch(loadRollenStart());\n this.showHint = false;\n this.breakpointObserver\n .observe(localStorage.getItem('phoneWidth'))\n .pipe(map((result) => result.matches))\n .subscribe((isSmallDevice) => {\n if (this.isSmallDevice && !isSmallDevice && this.user.email !== null) {\n this.drawer.close();\n }\n\n this.isSmallDevice = isSmallDevice;\n });\n }\n\n public updateNavbar(): void{\n this.layout.setLayoutSizes();\n // Alle Rechte von der Navigationsleiste werden gecheckt. Falls diese True sind wird dieses menuItem in der Navigationsleiste angezeigt. Sonst wird dieses versteckt.\n this.showRollenverwaltung = this.security.checkIfAllowed('5000');\n this.showProfile = this.security.checkIfAllowed('6000');\n this.showFirma = this.security.checkIfAllowed('6001');\n this.showZeitverwaltung = this.security.checkIfAllowed('3000');\n this.showProjektverwaltung = this.security.checkIfAllowed('2000');\n this.showMitarbeiterverwaltung = this.security.checkIfAllowed('1000');\n // Landingpage wird immer angezeigt\n this.showLandingpage = of(true);\n\n this.menuItems = [\n {\n href: '/landingpage',\n isRouterLink: true,\n text: 'navbar.landingpage',\n disabled: this.showLandingpage,\n disabledOnPhone: false,\n },\n {\n href: '/zeitverwaltung',\n isRouterLink: true,\n text: 'navbar.zeitverwaltung',\n disabled: this.showZeitverwaltung,\n disabledOnPhone: false,\n },\n {\n href: '/projektverwaltung',\n isRouterLink: true,\n text: 'navbar.projektverwaltung',\n disabled: this.showProjektverwaltung,\n disabledOnPhone: true,\n },\n {\n href: '/mitarbeiterverwaltung',\n isRouterLink: true,\n text: 'navbar.mitarbeiterverwaltung',\n disabled: this.showMitarbeiterverwaltung,\n disabledOnPhone: true,\n },\n ];\n\n }\n\n public editPersonalien(mitarbeiter: MitarbeiterItem): void {\n if (this.isSmallDevice){\n const dialogRef = this.dialog.open(MitarbeiterFormdialogComponent, {\n minWidth: '100vw',\n height: '100vh',\n data: {\n title: 'pages.mitarbeiterverwaltung.editpersonalien.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.cancelButtonLabel',\n id: mitarbeiter.id,\n anrede: mitarbeiter.anrede,\n name: mitarbeiter.name,\n vorname: mitarbeiter.vorname,\n email: mitarbeiter.email,\n passwort: mitarbeiter.passwort,\n geburtstag: mitarbeiter.geburtstag,\n mobile: mitarbeiter.mobile,\n rolle: mitarbeiter.rolle,\n ferientage: mitarbeiter.ferientage,\n anstellungprozent: mitarbeiter.anstellungprozent * 100,\n ort: mitarbeiter.ort,\n plz: mitarbeiter.plz,\n str1: mitarbeiter.str1,\n str2: mitarbeiter.str2,\n aktiv: mitarbeiter.aktiv,\n stundenProTag: mitarbeiter.stundenProTag\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n else{\n const dialogRef = this.dialog.open(MitarbeiterFormdialogComponent, {\n\n data: {\n title: 'pages.mitarbeiterverwaltung.editpersonalien.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editpersonalien.cancelButtonLabel',\n id: mitarbeiter.id,\n anrede: mitarbeiter.anrede,\n name: mitarbeiter.name,\n vorname: mitarbeiter.vorname,\n email: mitarbeiter.email,\n passwort: mitarbeiter.passwort,\n geburtstag: mitarbeiter.geburtstag,\n mobile: mitarbeiter.mobile,\n rolle: mitarbeiter.rolle,\n ferientage: mitarbeiter.ferientage,\n anstellungprozent: mitarbeiter.anstellungprozent * 100,\n ort: mitarbeiter.ort,\n plz: mitarbeiter.plz,\n str1: mitarbeiter.str1,\n str2: mitarbeiter.str2,\n aktiv: mitarbeiter.aktiv,\n stundenProTag: mitarbeiter.stundenProTag\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n }\n\n public editFirma(firma: FirmaItem): void {\n if(this.isSmallDevice){\n const dialogRef = this.dialog.open(FirmaFormdialogComponent, {\n minWidth: '100vw',\n height: '100vh',\n data: {\n title: 'pages.mitarbeiterverwaltung.editFirma.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.cancelButtonLabel',\n id: firma.id,\n email: firma.email,\n name: firma.name,\n telefon: firma.telefon,\n arbsol: firma.arbsol,\n branche: firma.branche,\n ort: firma.ort,\n plz: firma.plz,\n str1: firma.str1,\n str2: firma.str2\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n else{\n const dialogRef = this.dialog.open(FirmaFormdialogComponent, {\n data: {\n title: 'pages.mitarbeiterverwaltung.editFirma.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.cancelButtonLabel',\n id: firma.id,\n email: firma.email,\n name: firma.name,\n telefon: firma.telefon,\n arbsol: firma.arbsol,\n branche: firma.branche,\n ort: firma.ort,\n plz: firma.plz,\n str1: firma.str1,\n str2: firma.str2\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n }\n\n public resetPasswort(): void {\n const dialogRef = this.dialog.open(ResetPasswortFormComponent, {\n data: {\n title: 'pages.login.resetPasswortDialog.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.cancelButtonLabel',\n },\n });\n dialogRef.afterClosed().subscribe( result => {\n if (result){\n // Anzeigen von Informationsformular , email wurde gesendet blabla\n const okDialog = this.dialog.open(InformationFormComponent, {\n data: {\n title: 'pages.login.resetPasswortDialog.bestätigungTitle',\n text: 'pages.login.resetPasswortDialog.text'\n }\n });\n }\n });\n }\n\n\n public logout(): void {\n sessionStorage.clear();\n this.landingStore.dispatch(loadUserStart({email: ''}));\n window.location.reload();\n }\n\n public checkLogin(email: string, passwort: string): void{\n // Check if user exists and login\n this.http.get\n (\n `//local.curion.ch/myDay/backend/checkIfActiveUserExists.php?email=${email}`,\n {responseType: 'json'}\n ).subscribe((data: {data: {aktiv: number}}) => {\n // 0 == USER IST NICHT AKTIV\n if(data.data.aktiv == 0){\n // ERROR: USER NICHT AKTIV\n const okDialog = this.dialog.open(InformationFormComponent, {\n data: {\n title: 'Information',\n text: 'pages.login.errorDialog.text'\n }\n });\n email = '';\n passwort = '';\n }\n // HEISST AKTIV == NULL WAS BEDEUTET DAS DER USER NICHT EXISTIERT\n else if (data.data.aktiv != 1){\n // ERROR: USER EXISTIERT NICHT\n return;\n }\n });\n\n this.getUser(email, passwort).subscribe((data: LoginResponse) => {\n if (data?.responce === '0'){\n // Einloggen\n localStorage.setItem('userEmail', email);\n this.landingStore.dispatch(loadUserStart({email}));\n\n this.router.navigate(['zeitverwaltung']);\n this.updateNavbar();\n }\n else{\n // Passwort oder E-Mail ungültig\n this.showHint = true;\n }\n });\n }\n\n public changePasswort(email: string): void{\n\n if(this.isSmallDevice) {\n const dialogRef = this.dialog.open(NewPasswortFormComponent, {\n minWidth: '100vw',\n height: '100vh',\n data: {\n title: 'pages.login.newPasswortDialog.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.cancelButtonLabel',\n email,\n },\n });\n dialogRef.afterClosed().subscribe( result => {\n if (result){\n // Anzeigen von Informationsformular , email wurde gesendet blabla\n const okDialog = this.dialog.open(InformationFormComponent, {\n data: {\n title: 'pages.login.newPasswortDialog.successTitle',\n text: 'pages.login.newPasswortDialog.text'\n }\n });\n }\n });\n }\n else{\n const dialogRef = this.dialog.open(NewPasswortFormComponent, {\n data: {\n title: 'pages.login.newPasswortDialog.title',\n submitButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.submitButtonLabel',\n cancelButtonLabel: 'pages.mitarbeiterverwaltung.editFirma.cancelButtonLabel',\n email,\n },\n });\n dialogRef.afterClosed().subscribe( result => {\n if (result){\n // Anzeigen von Informationsformular , email wurde gesendet blabla\n const okDialog = this.dialog.open(InformationFormComponent, {\n data: {\n title: 'pages.login.newPasswortDialog.successTitle',\n text: 'pages.login.newPasswortDialog.text'\n }\n });\n }\n });\n }\n\n }\n\n // Returns an observable with the login response, we need to subscribe to it to validate the results\n public getUser(email, passwort): any{\n return this.http.get\n (\n `https://local.curion.ch/AccMan/verify.php?app=1003&email=${email}&pwd=${passwort}`,\n {responseType: 'json'}\n );\n }\n\n public openSpesenverwaltung(): void{\n const dialogRef = this.dialog.open(SpesenartPageFormComponent, {\n data: {\n title: 'pages.zeitverwaltung.spesenverwaltung.title',\n submitButtonLabel: 'pages.projektverwaltung.addProjekt.submitButtonLabel',\n cancelButtonLabel: 'pages.projektverwaltung.addProjekt.cancelButtonLabel',\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n\n public openRollenverwaltung(): void{\n this.mitarbeiterStore.dispatch(loadRollenStart());\n const dialogRef = this.dialog.open(RollenverwaltungPageformComponent, {\n data: {\n title: 'pages.rollenverwaltung.title',\n submitButtonLabel: 'pages.projektverwaltung.addProjekt.submitButtonLabel',\n cancelButtonLabel: 'pages.projektverwaltung.addProjekt.cancelButtonLabel',\n },\n });\n dialogRef.afterClosed().subscribe();\n }\n\n public changeRolle(rollenId: number): void{\n // Dispatch Action um Rolle des Users zu ändern\n this.mitarbeiterStore.dispatch(changeRolleStart({rolleId: rollenId}));\n // Weiterleitung zur Startseite\n this.router.navigate(['zeitverwaltung']);\n this.updateNavbar();\n return;\n }\n\n}\n","\n\n \n \n
\n {{ menuItem.text | translate }}\n
\n
\n \n \n \n \n menu\n \n \n \"myDay\"\n \n \n\n \n \n {{ menuItem.text | translate }}\n \n \n \n\n\n \n \n \n \n {{ 'pages.mitarbeiterverwaltung.mitarbeiterDialog.rolle' | translate }}\n \n \n {{rolle.key}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \"curion\"\n \n

{{ 'pages.login.text.telNummer' | translate }}

\n
\n \n \n \"myDay\"\n \n
{{ 'pages.login.title' | translate }}
\n
\n\n
\n\n
\n
\n
\n\n \n {{ 'pages.login.loginDialog.email' | translate }}\n \n \n \n {{ 'pages.login.loginDialog.passwort' | translate }}\n \n \n\n
\n
\n \n {{ 'pages.login.loginDialog.submitButtonLabel' | translate }}\n \n\n \n {{ 'pages.login.resetPasswort' | translate }}\n \n
\n \n {{ 'pages.login.loginDialog.submitButtonLabel' | translate }}\n \n\n \n {{ 'pages.login.resetPasswort' | translate }}\n \n
\n

E-Mail oder Passwort falsch

\n\n
\n\n
\n \"myDay\"\n
\n\n
\n \n
\n

{{ 'pages.login.text.beschreibung' | translate }}

\n \"curion\"\n
\n\n
\n
\n \"curion\"\n

{{ 'pages.login.text.personal.title' | translate }}

\n

{{ 'pages.login.text.personal.text' | translate }}

\n
\n
\n \"curion\"\n

{{ 'pages.login.text.projekte.title' | translate }}

\n

{{ 'pages.login.text.projekte.text' | translate }}\n

\n
\n
\n \"curion\"\n

{{ 'pages.login.text.zeiterfassung.title' | translate }}

\n

{{ 'pages.login.text.zeiterfassung.text' | translate }}\n

\n
\n
\n
\n\n
\n
\n
\n \n

{{ 'pages.login.text.poweredby' | translate }}\n \n \"curion\"\n \n

\n\n

{{ 'pages.login.text.adresse' | translate }}\n

\n

\n {{ 'pages.login.text.telEmail' | translate }}\n

\n

\n {{ 'pages.login.text.websiteCurion' | translate }}\n

\n
\n
\n","import {Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {HttpClient} from '@angular/common/http';\nimport {LoginResponse} from '../nav-bar/nav-bar.component';\n\nexport interface DialogData {\n title: string;\n cancelButtonLabel: string;\n submitButtonLabel: string;\n email: string;\n}\n\n@Component({\n selector: 'app-newpasswort-form',\n templateUrl: './newPasswort-form.component.html',\n styleUrls: ['./newPasswort-form.component.scss']\n})\nexport class NewPasswortFormComponent implements OnInit {\n\n bar0: string;\n bar1: string;\n bar2: string;\n bar3: string;\n bar4: string;\n public scorePW = 0;\n public bHideOldPassword: boolean;\n public bHideNewPasswordOne: boolean;\n public bHideNewPasswordTwo: boolean;\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private http: HttpClient)\n {\n dialogRef.disableClose = true;\n }\n\n public barLabel = 'Passwortstärke:';\n\n private colors = ['#F00', '#F90', '#FF0', '#9F0', '#0F0'];\n\n public account = {\n pw: null\n };\n\n public newPassswortForm = new FormGroup({\n altesPasswort: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n neuesPasswort1: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n neuesPasswort2: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n });\n\n public showHint: boolean;\n\n ngOnInit(): void {\n this.showHint = false;\n this.bHideOldPassword = true;\n this.bHideNewPasswordOne = true;\n this.bHideNewPasswordTwo = true;\n }\n\n\n\n\n public changePasswort(): any {\n // 1. Check ob neuesPasswort1 und 2 gleich sind\n if ( this.newPassswortForm.value.neuesPasswort1 !== this.newPassswortForm.value.neuesPasswort2){\n // User informieren das Passwort 1 und 2 nicht identisch sind\n console.log('Passwörter sind nicht identisch');\n return;\n }\n\n // 2. Check ob altes passwort richtig ist\n // Check if user exists\n this.getUser(this.data.email, this.newPassswortForm.value.altesPasswort).subscribe((data: LoginResponse) => {\n if (data.responce == '0'){\n // Passwort Ändern\n const response = this.http.get\n (\n `https://local.curion.ch/AccMan/chgpwd.php?app=1003&email=${this.data.email}&pwd=${this.newPassswortForm.value.neuesPasswort1}`,\n {responseType: 'text'}\n );\n response.subscribe();\n this.dialogRef.close(true);\n // Passwort erfolgreich geändert\n }else{\n // Nachricht das Passwort falsch ist.\n this.showHint = true;\n }\n });\n\n }\n // tslint:disable-next-line:typedef\n public noHandleClick() {\n this.dialogRef.close(false);\n }\n\n public getErrorMessage(Feld: string): string {\n const formControl = this.newPassswortForm.get(Feld);\n if (formControl.hasError('required')){\n return`pages.login.newPasswortDialog.error.${Feld}.required`;\n }\n return 'pages.login.newPasswortDialog.error.generic';\n }\n /* ENDE Ja / Nein Buttons in im Löschen Bestätigungsformular */\n /* ENDE Menue vor dem Löschen bzw. Werte dem ja Pfad zuweisen */\n\n public measureStrength(pass: string): number{\n let score = 0;\n // award every unique letter until 5 repetitions\n const letters = {};\n\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < pass.length; i++) {\n letters[pass[i]] = (letters[pass[i]] || 0) + 1;\n score += 5.0 / letters[pass[i]];\n }\n // bonus points for mixing it up\n const variations = {\n digits: /\\d/.test(pass),\n lower: /[a-z]/.test(pass),\n upper: /[A-Z]/.test(pass),\n nonWords: /\\W/.test(pass)\n };\n\n let variationCount = 0;\n // tslint:disable-next-line:forin\n for (const check in variations) {\n variationCount += (variations[check]) ? 1 : 0;\n }\n score += (variationCount - 1) * 10;\n console.log(score);\n this.scorePW = score;\n return Math.trunc(score);\n }\n\n public getColor(score: number): any {\n let idx = 0;\n if (score >= 85) {\n idx = 4;\n } else if (score >= 70) {\n idx = 3;\n } else if (score >= 40) {\n idx = 2;\n } else if (score >= 20) {\n idx = 1;\n }\n return {\n idx: idx + 1,\n col: this.colors[idx]\n };\n }\n\n checkPw(password: string): void {\n this.setBarColors(5, '#DDD');\n if (password) {\n const c = this.getColor(this.measureStrength(password));\n this.setBarColors(c.idx, c.col);\n }\n }\n\n private setBarColors(count: number, col: string) {\n // tslint:disable-next-line:variable-name\n for (let _n = 0; _n < count; _n++) {\n this['bar' + _n] = col;\n }\n }\n\n // Returns an observable with the login response, we need to subscribe to it to validate the results\n public getUser(email, passwort): any{\n return this.http.get\n (\n `https://local.curion.ch/AccMan/verify.php?app=1003&email=${email}&pwd=${passwort}`,\n {responseType: 'json'}\n );\n }\n\n}\n","

{{ data.title | translate }}

\n\n
\n
\n \n {{ 'pages.login.newPasswortDialog.altesPasswort' | translate }}\n \n {{bHideOldPassword ? 'visibility_off' : 'visibility'}}\n {{ getErrorMessage('altesPasswort') | translate }}\n \n
\n

Altes Passwort ist nicht korrekt oder das Neue wurde nicht korrekt wiederholt.

\n
\n
\n
\n
\n \n {{ 'pages.login.newPasswortDialog.neuesPasswort1' | translate }}\n \n {{bHideNewPasswordOne ? 'visibility_off' : 'visibility'}}\n {{ getErrorMessage('neuesPasswort1') | translate }}\n \n
\n {{barLabel}}\n
    \n
  • \n
\n
\n
\n\n \n {{ 'pages.login.newPasswortDialog.neuesPasswort2' | translate }}\n \n {{bHideNewPasswordTwo ? 'visibility_off' : 'visibility'}}\n {{ getErrorMessage('neuesPasswort2') | translate }}\n \n
\n
\n
\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\n \n\n","import {Component, Inject, OnInit } from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {HttpClient} from '@angular/common/http';\nimport {InformationFormComponent} from \"../information-form/information-form.component\";\n\nexport interface DialogData {\n title: string;\n cancelButtonLabel: string;\n submitButtonLabel: string;\n}\n\n@Component({\n selector: 'app-resetpasswort-form',\n templateUrl: './resetPasswort-form.component.html',\n styleUrls: ['./resetPasswort-form.component.scss']\n})\nexport class ResetPasswortFormComponent implements OnInit {\n\n\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialog: MatDialog,\n private http: HttpClient) {\n dialogRef.disableClose = true;\n }\n\n public resetPasswortForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(255), Validators.pattern('^[a-záéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ0-9._%+-]+@[a-záéíóúàèìòùâêîôûäëïöüñõçßÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÑÕÇ0-9.-]+\\\\.[a-z]{2,4}$')])\n });\n\n ngOnInit(): void { }\n\n /* Ja / Nein Buttons in im Löschen Bestätigungsformular */\n // tslint:disable-next-line:typedef\n public resetPasswort() {\n const email = this.resetPasswortForm.value.email;\n\n // Check ob Email vorhanden ist in myDay\n this.http.get\n (\n `https://local.curion.ch/myDay/backend/checkIfActiveUserExists.php?email=${email}`,\n {responseType: 'json'}\n ).subscribe((data: {data: {aktiv: number}}) => {\n // 0 == USER IST NICHT AKTIV\n if(data.data.aktiv == 0 || data.data.aktiv == 1){\n // USER EXISTIERT -> Neues Kenntwort zuschicken\n // Rico zurücksetz Funktion einbauen\n const response = this.http.get\n (\n `https://local.curion.ch/AccMan/rstpwd.php?app=1003&email=${email}`,\n {responseType: 'text'}\n );\n response.subscribe();\n this.dialogRef.close(true);\n }\n // HEISST AKTIV == NULL WAS BEDEUTET DAS DER USER NICHT EXISTIERT\n else {\n const okDialog = this.dialog.open(InformationFormComponent, {\n data: {\n title: 'pages.login.resetPasswortDialog.errorTitle',\n text: 'pages.login.resetPasswortDialog.error'\n }\n });\n // RETURN FALSE\n }\n });\n\n\n this.dialogRef.close(false);\n }\n\n // tslint:disable-next-line:typedef\n public noHandleClick() {\n this.dialogRef.close(false);\n }\n\n public getErrorMessage(Feld: string): string {\n const formControl = this.resetPasswortForm.get(Feld);\n if (formControl.hasError('required')){\n return`pages.login.resetPasswordDialog.error.required`;\n }\n return 'pages.login.resetPasswordDialog.error.generic';\n }\n /* ENDE Ja / Nein Buttons in im Löschen Bestätigungsformular */\n /* ENDE Menue vor dem Löschen bzw. Werte dem ja Pfad zuweisen */\n}\n","

{{ data.title | translate }}

\n\n
\n\n \n {{ 'pages.login.loginDialog.email' | translate }}\n \n {{ getErrorMessage('email') | translate }}\n \n
\n
\n\n \n {{ data.cancelButtonLabel | translate }}\n \n \n {{ data.submitButtonLabel | translate }}\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 production: false\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/plugins/zone-error'; // Included with Angular CLI.\n","/**\r\n * Return the locale of a browser\r\n *\r\n * @returns - The locale string\r\n */\r\nexport function getLocale(): string {\r\n if (navigator?.languages?.length > 0) {\r\n return navigator.languages[0];\r\n }\r\n\r\n if (navigator?.language) { return navigator.language; }\r\n\r\n return 'de-DE';\r\n}\r\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.error(err));\n","var map = {\n\t\"./af\": 26431,\n\t\"./af.js\": 26431,\n\t\"./ar\": 81286,\n\t\"./ar-dz\": 1616,\n\t\"./ar-dz.js\": 1616,\n\t\"./ar-kw\": 9759,\n\t\"./ar-kw.js\": 9759,\n\t\"./ar-ly\": 43160,\n\t\"./ar-ly.js\": 43160,\n\t\"./ar-ma\": 62551,\n\t\"./ar-ma.js\": 62551,\n\t\"./ar-sa\": 79989,\n\t\"./ar-sa.js\": 79989,\n\t\"./ar-tn\": 6962,\n\t\"./ar-tn.js\": 6962,\n\t\"./ar.js\": 81286,\n\t\"./az\": 15887,\n\t\"./az.js\": 15887,\n\t\"./be\": 14572,\n\t\"./be.js\": 14572,\n\t\"./bg\": 3276,\n\t\"./bg.js\": 3276,\n\t\"./bm\": 93344,\n\t\"./bm.js\": 93344,\n\t\"./bn\": 58985,\n\t\"./bn-bd\": 83990,\n\t\"./bn-bd.js\": 83990,\n\t\"./bn.js\": 58985,\n\t\"./bo\": 94391,\n\t\"./bo.js\": 94391,\n\t\"./br\": 46728,\n\t\"./br.js\": 46728,\n\t\"./bs\": 5536,\n\t\"./bs.js\": 5536,\n\t\"./ca\": 41043,\n\t\"./ca.js\": 41043,\n\t\"./cs\": 70420,\n\t\"./cs.js\": 70420,\n\t\"./cv\": 33513,\n\t\"./cv.js\": 33513,\n\t\"./cy\": 6771,\n\t\"./cy.js\": 6771,\n\t\"./da\": 47978,\n\t\"./da.js\": 47978,\n\t\"./de\": 46061,\n\t\"./de-at\": 25204,\n\t\"./de-at.js\": 25204,\n\t\"./de-ch\": 2653,\n\t\"./de-ch.js\": 2653,\n\t\"./de.js\": 46061,\n\t\"./dv\": 85,\n\t\"./dv.js\": 85,\n\t\"./el\": 8579,\n\t\"./el.js\": 8579,\n\t\"./en-au\": 25724,\n\t\"./en-au.js\": 25724,\n\t\"./en-ca\": 10525,\n\t\"./en-ca.js\": 10525,\n\t\"./en-gb\": 52847,\n\t\"./en-gb.js\": 52847,\n\t\"./en-ie\": 67216,\n\t\"./en-ie.js\": 67216,\n\t\"./en-il\": 39305,\n\t\"./en-il.js\": 39305,\n\t\"./en-in\": 73364,\n\t\"./en-in.js\": 73364,\n\t\"./en-nz\": 79130,\n\t\"./en-nz.js\": 79130,\n\t\"./en-sg\": 11161,\n\t\"./en-sg.js\": 11161,\n\t\"./eo\": 50802,\n\t\"./eo.js\": 50802,\n\t\"./es\": 40328,\n\t\"./es-do\": 45551,\n\t\"./es-do.js\": 45551,\n\t\"./es-mx\": 75615,\n\t\"./es-mx.js\": 75615,\n\t\"./es-us\": 64790,\n\t\"./es-us.js\": 64790,\n\t\"./es.js\": 40328,\n\t\"./et\": 96389,\n\t\"./et.js\": 96389,\n\t\"./eu\": 52961,\n\t\"./eu.js\": 52961,\n\t\"./fa\": 26151,\n\t\"./fa.js\": 26151,\n\t\"./fi\": 7997,\n\t\"./fi.js\": 7997,\n\t\"./fil\": 58898,\n\t\"./fil.js\": 58898,\n\t\"./fo\": 37779,\n\t\"./fo.js\": 37779,\n\t\"./fr\": 28174,\n\t\"./fr-ca\": 3287,\n\t\"./fr-ca.js\": 3287,\n\t\"./fr-ch\": 38867,\n\t\"./fr-ch.js\": 38867,\n\t\"./fr.js\": 28174,\n\t\"./fy\": 50452,\n\t\"./fy.js\": 50452,\n\t\"./ga\": 45014,\n\t\"./ga.js\": 45014,\n\t\"./gd\": 74127,\n\t\"./gd.js\": 74127,\n\t\"./gl\": 72124,\n\t\"./gl.js\": 72124,\n\t\"./gom-deva\": 6444,\n\t\"./gom-deva.js\": 6444,\n\t\"./gom-latn\": 37953,\n\t\"./gom-latn.js\": 37953,\n\t\"./gu\": 76604,\n\t\"./gu.js\": 76604,\n\t\"./he\": 1222,\n\t\"./he.js\": 1222,\n\t\"./hi\": 74235,\n\t\"./hi.js\": 74235,\n\t\"./hr\": 622,\n\t\"./hr.js\": 622,\n\t\"./hu\": 37735,\n\t\"./hu.js\": 37735,\n\t\"./hy-am\": 90402,\n\t\"./hy-am.js\": 90402,\n\t\"./id\": 59187,\n\t\"./id.js\": 59187,\n\t\"./is\": 30536,\n\t\"./is.js\": 30536,\n\t\"./it\": 35007,\n\t\"./it-ch\": 94667,\n\t\"./it-ch.js\": 94667,\n\t\"./it.js\": 35007,\n\t\"./ja\": 62093,\n\t\"./ja.js\": 62093,\n\t\"./jv\": 80059,\n\t\"./jv.js\": 80059,\n\t\"./ka\": 66870,\n\t\"./ka.js\": 66870,\n\t\"./kk\": 80880,\n\t\"./kk.js\": 80880,\n\t\"./km\": 1083,\n\t\"./km.js\": 1083,\n\t\"./kn\": 68785,\n\t\"./kn.js\": 68785,\n\t\"./ko\": 21721,\n\t\"./ko.js\": 21721,\n\t\"./ku\": 37851,\n\t\"./ku.js\": 37851,\n\t\"./ky\": 1727,\n\t\"./ky.js\": 1727,\n\t\"./lb\": 40346,\n\t\"./lb.js\": 40346,\n\t\"./lo\": 93002,\n\t\"./lo.js\": 93002,\n\t\"./lt\": 64035,\n\t\"./lt.js\": 64035,\n\t\"./lv\": 56927,\n\t\"./lv.js\": 56927,\n\t\"./me\": 5634,\n\t\"./me.js\": 5634,\n\t\"./mi\": 94173,\n\t\"./mi.js\": 94173,\n\t\"./mk\": 86320,\n\t\"./mk.js\": 86320,\n\t\"./ml\": 11705,\n\t\"./ml.js\": 11705,\n\t\"./mn\": 31062,\n\t\"./mn.js\": 31062,\n\t\"./mr\": 92805,\n\t\"./mr.js\": 92805,\n\t\"./ms\": 11341,\n\t\"./ms-my\": 59900,\n\t\"./ms-my.js\": 59900,\n\t\"./ms.js\": 11341,\n\t\"./mt\": 37734,\n\t\"./mt.js\": 37734,\n\t\"./my\": 19034,\n\t\"./my.js\": 19034,\n\t\"./nb\": 9324,\n\t\"./nb.js\": 9324,\n\t\"./ne\": 46495,\n\t\"./ne.js\": 46495,\n\t\"./nl\": 70673,\n\t\"./nl-be\": 76272,\n\t\"./nl-be.js\": 76272,\n\t\"./nl.js\": 70673,\n\t\"./nn\": 72486,\n\t\"./nn.js\": 72486,\n\t\"./oc-lnc\": 46219,\n\t\"./oc-lnc.js\": 46219,\n\t\"./pa-in\": 2829,\n\t\"./pa-in.js\": 2829,\n\t\"./pl\": 78444,\n\t\"./pl.js\": 78444,\n\t\"./pt\": 53170,\n\t\"./pt-br\": 66117,\n\t\"./pt-br.js\": 66117,\n\t\"./pt.js\": 53170,\n\t\"./ro\": 96587,\n\t\"./ro.js\": 96587,\n\t\"./ru\": 39264,\n\t\"./ru.js\": 39264,\n\t\"./sd\": 42135,\n\t\"./sd.js\": 42135,\n\t\"./se\": 95366,\n\t\"./se.js\": 95366,\n\t\"./si\": 93379,\n\t\"./si.js\": 93379,\n\t\"./sk\": 46143,\n\t\"./sk.js\": 46143,\n\t\"./sl\": 196,\n\t\"./sl.js\": 196,\n\t\"./sq\": 21082,\n\t\"./sq.js\": 21082,\n\t\"./sr\": 91621,\n\t\"./sr-cyrl\": 98963,\n\t\"./sr-cyrl.js\": 98963,\n\t\"./sr.js\": 91621,\n\t\"./ss\": 41404,\n\t\"./ss.js\": 41404,\n\t\"./sv\": 55685,\n\t\"./sv.js\": 55685,\n\t\"./sw\": 46490,\n\t\"./sw.js\": 46490,\n\t\"./ta\": 54106,\n\t\"./ta.js\": 54106,\n\t\"./te\": 39204,\n\t\"./te.js\": 39204,\n\t\"./tet\": 83692,\n\t\"./tet.js\": 83692,\n\t\"./tg\": 86361,\n\t\"./tg.js\": 86361,\n\t\"./th\": 31735,\n\t\"./th.js\": 31735,\n\t\"./tk\": 1568,\n\t\"./tk.js\": 1568,\n\t\"./tl-ph\": 96129,\n\t\"./tl-ph.js\": 96129,\n\t\"./tlh\": 13759,\n\t\"./tlh.js\": 13759,\n\t\"./tr\": 81644,\n\t\"./tr.js\": 81644,\n\t\"./tzl\": 90875,\n\t\"./tzl.js\": 90875,\n\t\"./tzm\": 16878,\n\t\"./tzm-latn\": 11041,\n\t\"./tzm-latn.js\": 11041,\n\t\"./tzm.js\": 16878,\n\t\"./ug-cn\": 74357,\n\t\"./ug-cn.js\": 74357,\n\t\"./uk\": 74810,\n\t\"./uk.js\": 74810,\n\t\"./ur\": 86794,\n\t\"./ur.js\": 86794,\n\t\"./uz\": 28966,\n\t\"./uz-latn\": 77959,\n\t\"./uz-latn.js\": 77959,\n\t\"./uz.js\": 28966,\n\t\"./vi\": 35386,\n\t\"./vi.js\": 35386,\n\t\"./x-pseudo\": 23156,\n\t\"./x-pseudo.js\": 23156,\n\t\"./yo\": 68028,\n\t\"./yo.js\": 68028,\n\t\"./zh-cn\": 9330,\n\t\"./zh-cn.js\": 9330,\n\t\"./zh-hk\": 89380,\n\t\"./zh-hk.js\": 89380,\n\t\"./zh-mo\": 60874,\n\t\"./zh-mo.js\": 60874,\n\t\"./zh-tw\": 96508,\n\t\"./zh-tw.js\": 96508\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 = 46700;"],"sourceRoot":"webpack:///"}